未定义的索引:第4行的C:\ wamp \ www \ emailvalidate.php中的电子邮件

时间:2012-12-15 10:56:11

标签: php ajax post indexing undefined-index

我是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>

test2.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 个答案:

答案 0 :(得分:2)

您没有发送任何名称为address

的输入

我假设您将input name="mail"...重命名为input name="address",将会对此情况有所了解。

作为替代解决方案......改变:

<?php
echo "Your Address is ".$_POST['address'];
?>

到这个

<?php
echo "Your Address is ".$_POST['mail'];
?>

答案 1 :(得分:2)

我在HTML代码中没有看到“地址”。你有一个文本框:

<input type="text" name="mail" id="mail" onblur="loadXMLDoc()"  />

但它的名字是'邮件',而不是'地址' 你可以这样做:

<?php
echo "Your Address is ".$_POST['mail'];//instead of 'address'
?>