我需要获取会话变量值并将其与输入进行比较。
这是代码:
<?php
echo "<img src='captchas.php'><br><center><input type='text' size='10' name='check' id='postcaptcha' onChange='validatecaptcha();'></center><div id='validationforcaptcha'></div>";
$captchacode = $_SESSION['newcode'];
echo "<input type='text' name='sessioncaptcha' id='sessioncaptcha' value=$captchacode />";
?>
这是captcha.php
<?php session_start(); ob_start();
$img = imagecreatefrompng('IMAGES/black.png');
$numero = rand(100000000, 999999999);
$_SESSION['check23'] = $numero;
$white = imagecolorallocate($img, 255, 255, 255);
imagestring($img, 10, 8, 3, $numero, $white);
header ("Content-type: image/png");
imagepng($img);
?>
我不知道为什么$ _SESSION ['check23']变量只检索已显示的先前验证码(不是当前显示的那些)
答案 0 :(得分:2)
也许你假设你的第一个脚本在 captcha.php 之后被执行了?
这就是实际发生的事情:
尝试在第一个脚本中生成CAPTCHA代码并将其保存到$_SESSION['check23']
。您可以稍后在 captcha.php 中检索$_SESSION['check23']
以呈现相应的图像。