ارسال اطلاعات از طریق فرم در آژاکس

سلام . خسته نباشید . من یه سری اطلاعات رو از طریق فرم می خوام به صفحه بعدی بفرستم البته صفحاتم با آجاکس طراحی شده . اینهم کدش . به نظر شما کجاش مشکل داره که اطلاعات buy2 به buy3.php نمی ره ؟ :neutral:

Ajax.js :
کد:
<!--
var xmlHttp;
function createRequest(){ 
if(window.ActiveXObject){ 
	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} else if(window.XMLHttpRequest){  
	xmlHttp = new XMLHttpRequest(); 
} 
} 

function page(url){ 
createRequest();
xmlHttp.open("GET", url, true); 
xmlHttp.onreadystatechange = updatepage; 
xmlHttp.send(null); 
}

function updatepage(){
	document.getElementById('page').innerHTML = "<div><img src='image/loading.gif'><br>لطفا صبر نمایید . . . </div>"
	if(xmlHttp.readyState == 4){
		document.getElementById('page').innerHTML = xmlHttp.responseText
	}
}
//-->


buy2.php :
کد:
<script type="text/javascript" src="js/ajax.js"></script>
<form name="buy2" method="post" action="#" >
<p align="right">نام و نام خانوادگی&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="amir" value="" /></p>
<p align="right">تلفن تماس (همراه کد)&nbsp;&nbsp;<input type="text" name="tel" value="" /></p>
<p align="right">شهر / استان&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="city" value="" /></p>
<p align="right">آدرس&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name="adres" rows="3" ></textarea></p>
<p align="right">ادرس پست الکترونیک&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="mail" value="" /></p>
<p align="right">نام شرکت یا سازمان&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="sazman" value="" /></p>
<p align="right"><font color="#FF0000">* اگر سفارش شما شخصی است می توانید کادر بالا را خالی بگذارید</font></p>
<p align="left">
<input class="btn" type="submit" name="submit2" onClick="page('buy3.php');" value="مرحله بعدی >" />
</p>
</form>


buy3.php :
PHP:
<?php
$a=$_POST["amir"];
$b=$_POST["tel"];
$c=$_POST["city"];
$d=$_POST["adres"];
$e=$_POST["mail"];
$f=$_POST["sazman"];
?>
 

farik

Well-Known Member
با سلام دوست عزيز شا اطلاعات ر با مد get رد و بدل ميكنيد ولي در php ميخواهيد انها را به صورت پست در يافت كنيد توصيه ميكنم كه اطلاعات به صورتپست به صفحه فرستاده شود تا بتوان از فارسي هم استفاده كرد....اگر يا اطلاعات رو ا طريق پست بفرستيد و يا در pp بهصورتget دريافت كنيد مشكل حل ميشود ...ياعلي...
 
آخرین ویرایش:
سلام . دادش من هر دو حالت رو امتحان کردم نشد ! :sad: می شه شما یه لطفی بکنی و کدش رو اینجا بذاری به صورت POST . یک دنیا ممنون . :sad:
 

NabiKAZ

Well-Known Member
سلام ،

علاوه بر نکته ای که یکی از دوستان در بالا اشاره کرد، از اون مهمتر اینه که شما اصلاً فیلدها رو ارسال نمیکنید !
شما باید قبل از ارسال url ، فیلدها رو به اون بچسبونید بدین شکل:
کد:
var el_city    = encodeURIComponent(document.getElementById('city').value);
var el_address = encodeURIComponent(document.getElementById('address').value);
var url = page + "?city=" + el_city + "&address=" + el_address;

موفق باشید
 
آخرین ویرایش:
می شه این کد رو به صورت کامل بذارید ؟ منظورم اینه که توو کدی که من گذاشتم ( اولین پست ) جا بدید . یک دنیا ممنون .
 

NabiKAZ

Well-Known Member
می شه این کد رو به صورت کامل بذارید ؟ منظورم اینه که توو کدی که من گذاشتم ( اولین پست ) جا بدید . یک دنیا ممنون .
فکر کنم خیلی واضح گفتم!
به هر حال بفرما اینم کد کامل:
HTML:
<!--
var xmlHttp;
function createRequest(){ 
if(window.ActiveXObject){ 
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} else if(window.XMLHttpRequest){  
    xmlHttp = new XMLHttpRequest(); 
} 
} 

function page(url){ 
createRequest();
var el_amir    = encodeURIComponent(document.getElementById('amir').value);
var el_tel = encodeURIComponent(document.getElementById('tel').value);
var el_city = encodeURIComponent(document.getElementById('city').value);
var el_adres = encodeURIComponent(document.getElementById('adres').value);
var el_mail = encodeURIComponent(document.getElementById('mail').value);
var el_sazman = encodeURIComponent(document.getElementById('sazman').value);
var url = page + "?amir=" + el_amir + "&tel=" + el_tel + "&city=" + el_city + "&adres=" + el_adres + "&mail=" + el_mail + "&sazman=" + el_sazman;
xmlHttp.open("POST", url, true); 
xmlHttp.onreadystatechange = updatepage; 
xmlHttp.send(null); 
}

function updatepage(){
    document.getElementById('page').innerHTML = "<div><img src='image/loading.gif'><br>لطفا صبر نمایید . . . </div>"
    if(xmlHttp.readyState == 4){
        document.getElementById('page').innerHTML = xmlHttp.responseText
    }
}
//-->

HTML:
<script type="text/javascript" src="js/ajax.js"></script>
<form name="buy2" method="post" action="#" >
<p align="right">نام و نام خانوادگی&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="amir" id="amir" value="" /></p>
<p align="right">تلفن تماس (همراه کد)&nbsp;&nbsp;<input type="text" name="tel" id="tel" value="" /></p>
<p align="right">شهر / استان&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="city" id="city" value="" /></p>
<p align="right">آدرس&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name="adres" id="adres" rows="3" ></textarea></p>
<p align="right">ادرس پست الکترونیک&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="mail" id="mail" value="" /></p>
<p align="right">نام شرکت یا سازمان&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="sazman" id="sazman" value="" /></p>
<p align="right"><font color="#FF0000">* اگر سفارش شما شخصی است می توانید کادر بالا را خالی بگذارید</font></p>
<p align="left">
<input class="btn" type="submit" name="submit2" onClick="page('buy3.php');" value="مرحله بعدی >" />
</p>
</form>

کد ها رو تست نکردم، خودت بررسی کن
 

جدیدترین ارسال ها

بالا