【发布时间】:2016-12-30 02:47:44
【问题描述】:
我希望当用户验证码完成时发送到页面的请求并将用户输入的字符串与验证码图像的值进行比较(此值存储在会话值中)
这是包含 ajax 请求的页面(这里不是 img 标签,但它并不重要!):
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<input id="captcha" maxlength="5" onkeyup="myFunction()" value="">
<script>
function myFunction() {
var x = document.getElementById("captcha");
if(x.value.length==5){
$(document).ready(function(){
$.get("test.php",
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
}
}
</script>
</body>
</html>
这个页面就是获取发布请求:
<?php
session_start();
$c=$_POST['captcha']; echo $c;echo gettype($c);
$s=$_SESSION['captcha']; echo $s;echo gettype($s);
if($c==$s) {
echo 'correct';
} else {
echo 'incorrect';
}
?>
但作为回应:会话变量的类型是NULL!为什么?!
但是 post 变量的类型是字符串,但我确定 session 和 post 是相等的。
现在怎么比较呢?
【问题讨论】:
-
您需要更新名为“myFunction”的函数,并需要遵循实际的 ajax 请求系统...