提问人:klari 提问时间:12/15/2012 最后编辑:klari 更新时间:6/17/2022 访问量:1889
未定义的索引:第 4 行 C:\wamp\www\emailvalidate.php 中的电子邮件
Undefined index: email in C:\wamp\www\emailvalidate.php on line 4
问:
我是 Ajax 的新手。在我的 Ajax 中,我收到以下错误消息:
注意:未定义的索引:C:\wamp\www\test\sample.php 中的地址 4号线
我用谷歌搜索了一下,但我没有得到我指定问题的解决方案。
这是我所做的。
使用 Ajax 的 HTML 表单 (test1.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("mydiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","test2.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="test2.php">
<p>
<label for="address"></label>
<input type="text" name="address" id="address" onblur="loadXMLDoc()" />
<input type="submit" name="submit" id="submit" value="Submit" />
</p>
<p><div id = 'mydiv'></div></p>
</form>
</body>
</html>
测试2.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo "Your Address is ".$_POST['address'];
?>
</body>
</html>
我确信这是一个非常简单的问题,但我不知道如何解决它。有什么帮助吗?
答:
2赞
Dale
12/15/2012
#1
您没有发送任何名称为address
我想如果你重命名一些情况,就会有所了解。input name="mail"...
input name="address"
作为替代解决方案...改变:
<?php
echo "Your Address is ".$_POST['address'];
?>
对此
<?php
echo "Your Address is ".$_POST['mail'];
?>
评论
0赞
klari
12/15/2012
这不是问题。$_POST['mail'] 是我项目中的变量,但我忘了在示例代码中更改。现在我编辑了示例代码,但情况是一样的。我认为问题是另一回事
0赞
Dale
12/15/2012
如果您不打算发布有问题的代码,而是伪代码,我们将永远无法为您提供帮助
0赞
klari
12/15/2012
出于我的好奇,当我提交页面时,该值被传递给 test2.php,但当我使用 Ajax 时没有传递。可能是什么问题
0赞
klari
12/16/2012
我很惊讶为什么不能发布示例代码!为什么我在代码的一小部分中发布了问题的所有代码?
2赞
user0103
12/15/2012
#2
我在您的 HTML 代码中没有看到“地址”。您有一个文本框:
<input type="text" name="mail" id="mail" onblur="loadXMLDoc()" />
但它的名字是“邮件”,而不是“地址” 您可以这样做:
<?php
echo "Your Address is ".$_POST['mail'];//instead of 'address'
?>
评论
0赞
klari
12/15/2012
这不是问题。$_POST['mail'] 是我项目中的变量,但我忘了在示例代码中更改。现在我编辑了示例代码,但情况是一样的。我认为问题是另一回事
0赞
klari
12/15/2012
出于我的好奇,当我提交页面时,该值被传递给 test2.php,但当我使用 Ajax 时没有传递。可能是什么问题
评论