我有这段Javascript:
<script type="text/javascript" src="sha512.js"></script>
<script type="text/javascript" src="forms.js"></script>
<script>
function loadXMLDoc(form, password)
{
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;
formhash(form, password);
}
}
xmlhttp.open("POST","post.php",true);
xmlhttp.send();
}
</script>
还有一些 HTML:
<div id="myDiv">
<form action="register.php" method="post">
Email: <input type="text" name="email" /><br />
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="p" id="password" /><br />
<input type="button" value="Register" onclick="loadXMLDoc(this.form, this.form.password);" />
</form>
</div>
上面的Javascript代码可以使用PHP运行一些Ajax,然后运行加密函数(formhash)。当 Ajax 运行时,它会读取一个名为 "post.php" 的页面.php 在密码加密之前检查是否有任何字段为空。
我的问题是那个帖子.php不记得我上面发布的注册表格中的任何值。 post.php 必须记住用户在字段中键入的内容,以查看它们是否为空。关于如何将这些值传输到 post.php 文件的任何想法?
你可以试试:
parameters= 'username='+ form.elements[0].value +'&' +'password=' +form.elements[1].value ;
xmlhttp.open("POST","post.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(parameters);
看起来您没有在以下行中向服务器提交任何数据:
xmlhttp.open("POST","post.php",true);
您可以尝试以下代码来发送数据:
xmlhttp.open("POST","post.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("email=e@gmail.com&username=Ford&p=pass123");