我有一个login.php页面,我用AJAX发布登录信息到login.php。当我发布信息时,我的会话值改变了(在php中,而不是在php条件的Html中)。我在Login.php中使用条件语句的会话值。只要页面不刷新我的条件不累积。
if ($securimage->check($_POST['captcha_code']) == false) {
echo 2;
exit();
} elseif ($count == 1) {
$_SESSION['Username'] = $Username;
$_SESSION['Result'] = $nArray;
$_SESSION['Captcha'] = 0;
if ($remember) {
setcookie("Username", $Username, time() + 60, "/");
}
echo 1;
exit();
} else {
$_SESSION['Captcha'] ++;
echo 0;
exit();
}
<?php
if ($_SESSION['Captcha'] >= 3) {
?>
<div style="width: 380px; margin-right: 20px; margin-left: -40px;" >
<img id="captcha" style="border: 1px solid #000; margin-right: 20px;" src="securimage/securimage_show.php?" alt="CAPTCHA Image" align="left">
<?php
}
?>
您需要使用Javascript在3次尝试后显示div。PHP是在服务器上执行的,而不是在浏览器中。您的"条件"仅在页面被提供时运行,而不是每次执行XHR。