PDA

View Full Version : Ajax : خطا در ارسال داده ها با پست



Mah
دوشنبه 09 شهریور 1388, 12:17 عصر
سلام .
من در ارسال اطلاعات با متد پست در Ajax مشکل دارم .

قبلا این کار را انجام داده بودم .
اما نمی دونم چرا الان مرتبا دچار خطا میشه .
خطا :
Notice: Undefined index: txtName in C:\Program Files\EasyPHP 3.0\www\act.php on line 3
کد قسمت HTML :


<title></title>
<script language="javascript" >
<!--
function getHTTPObject()
{
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}


var httpData=getHTTPObject();

function AnswerData()
{
if(httpData.readystate==4)
{
if (httpData.status == 200)
// alert(httpData.responseText);
document.getElementById("logCheck").innerHTML=httpData.responseText;

//eval(what);
else
document.getElementById('logCheck').innerHTML='The re was a problem retrieving the XML data: ' + httpData.responseText;


}
}
//---------------------------
function sendData()
{

var stData="txtName='"
+txtName.value+
"'&txtFamily='"+
txtFamily.value+"'";
// alert(stData);
httpData.open("POST","act.php", true);
httpData.onreadystatechange = AnswerData;
httpData.setRequestHeader("Content-Type", "application/x-www-formurlencoded; charset=UTF-8;");
// alert(stData);
httpData.send(stData);
}

//-->
</script>
</head>

<body>
<!-- <form action="act.php" method="post" target="_blank" name="f1"> -->
<p>
<input name="txtName" type="text" id="txtName" />
</p>
<p>
<input name="txtFamily" type="text" id="txtFamily" />
</p><input name="" type="submit" value="Submit" />
<label>
<input type="button" name="Button" value="Button" onclick="sendData()" />
</label>
<!-- </form> -->
<div id='logCheck'>
</div>
کد قسمت PHP :


<?php

$name=$_REQUEST["txtName"];

echo ($name);

?>
فایلها نمونه را می ذارم .
لطفا راهنمایی کنید .


منتظر پاسخها شما هستم .

eAmin
دوشنبه 09 شهریور 1388, 18:19 عصر
سلام.

با یک نگاه سرسری فکر می کنم ایراد شما در نحوه ارسال پارامترها هست، گمون کنم اگر به اینصورت تغییر بدید مشکلی پیش نیاد:
var stData="txtName="+txtName.value+"&txtFamily="+txtFamily.value+"";

Mah
سه شنبه 10 شهریور 1388, 08:43 صبح
سلام .
ممنون که جواب دادی .
آنها را آخرین مرتبه که فکر کردم شاید باید مثل خیلی زبانها رشته ها را با کاکتر مشخص نمود تغییر دادم .
گاهی وقتها این کدها این قدر آدمو مشغول می کنه که دیگه فقط کدت را خراب می کنی .
اما اشکال از اینجا بود که پیداش کردم :
httpData.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");


httpData.open("POST",url,true);
httpData.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");
httpData.setRequestHeader("Content-length", stData.length);
httpData.setRequestHeader("Connection", "close");
httpData.onreadystatechange = AnswerData;
httpData.send(stData);

metal gear solid 4
سه شنبه 10 شهریور 1388, 09:15 صبح
من هم همین مشکل رو دارم چطوری رفع کردی این مشکلت رو ؟؟؟:ناراحت::گریه:

من یه فایل php دارم که با ادیتور php اجرا میکنمش کار میکنه و یک رکورد داخل بانک mysql اضافه میکنه اما وقتی این فایل رو داخل یک تگ فرم توی یک فایل html با متد post فراخوانی میکنم صفحه ی فایل php که فراخوانی کردم مثل یک صفحه ی html توی مرورگر باز میشه اما کار نمیکنه و هیچ رکوردی توی بانک اضافه نمیشه. حتی یک دستور print ساده رو نشون نمیده یعنی به عبارت کاملتر صفحه خالیه!!! اعصابم خورد شده از دست این خطاهای عجیب و غریب.
کسانی که تجربه دارن لطفاً یک راهنمایی بکنن.

Mah
سه شنبه 10 شهریور 1388, 10:55 صبح
سلام .
کدت را قرار بده .

metal gear solid 4
سه شنبه 10 شهریور 1388, 11:09 صبح
کد خاصی نیست.
حتی کوچکترین دستورات php رو هم اجرا نمیکنه.
کد فرم html

<form action = " form2.php" method="post">
<input type=text name="Text1" >
</form>

حالا توی فرم دیگه که form1.php باشه این رو نوشتم ولی اجرا نمیکنه

<?php

print "$Text1";

?>

اما کار نمیکنه حتی همین کد ساده رو. اگه کمکم کنید فردا کدم رو میآرم. امروز دیگه به اینترنت دسترسی ندارم.