使用 AJAX 操作 $_session

问题描述 投票:0回答:2

我确信有一个解决方案,我已经尝试用谷歌搜索我要找的内容,但还没有答案,所以这是我的小问题,我有一个带有验证码的表单,验证码把它放在原始字符串中在

$_SESSION['PASSWORD']
中,所以我想验证用户是否粘贴了与
$_SESSION['PASSWORD']
中相同的字符串。

好吧,我想我在这里需要一点ajax,在提交表单之前,我必须使用ajax检查

$_SESSION['PASSWORD']
并将其与用户磁带进行比较

请提供任何帮助,“我不是 ajax 专业人士”,如果你能让我变得非常简单,那就太好了。

php ajax session captcha
2个回答
0
投票

HTML

<input type="text" id="captcha" name="captcha"> <!-- This is your captcha input -->

JQuery:

$.get('verify.php', { captcha: $('#captcha').val() }, function(data){
    if(data === 'OK'); //Validation is ok
    else; //Validation is wrong
});

PHP(验证.php):

<?php
    session_start();
    if($_GET['captcha'] === $_SESSION['password']) echo 'OK';
    else echo 'ERROR';
    exit();
?>

0
投票

创建一个新的 php 文件并对该文件执行 ajax 请求。然后检查您是否得到正确或错误的回复。

session_start();
if($_SESSION['PASSWORD'] == $_POST['PASSWORD']) {
  echo "true";
}
echo "false";

注意:这不太安全。 最好在提交表单时检查一下(假设这就是您使用验证码的原因)。使用 ajax 或正常提交表单的方式发布表单并不重要。如果您只使用 ajax 检查验证码,那么仍然可以使用自定义 http 请求发布数据,或者通过禁用 javascript 更简单(大多数机器人都会这样做)。

© www.soinside.com 2019 - 2024. All rights reserved.