Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话变量仅检索上一个值_Php_Session - Fatal编程技术网

Php 会话变量仅检索上一个值

Php 会话变量仅检索上一个值,php,session,Php,Session,我需要获取一个会话变量值,并将其与输入进行比较 代码如下: <?php echo "<img src='captchas.php'><br><center><input type='text' size='10' name='check' id='postcaptcha' onChange='validatecaptcha();'></center><div id='validationforcaptcha'><

我需要获取一个会话变量值,并将其与输入进行比较

代码如下:

<?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之后执行

这就是实际发生的情况:

  • 第一个脚本被执行,页面被提供给用户
  • 用户的浏览器请求将captcha.php作为图像
  • 执行captcha.php并将图像发送给用户
  • 尝试在第一个脚本中生成验证码并将其保存到
    $\u会话['check23']
    。您可以稍后在captcha.php中检索
    $\u会话['check23']
    ,以呈现适当的图像

        <?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); 
    
    ?>