登录界面加载验证码<img src="xxx.php"> , 在验证码里开启session并把随机数赋值到session里面,现在的问题是打开浏览器后第一次session值是空的 , 我该如何解决????

解决方案 »

  1.   

    验证码里的session存储的是你输入完的验证码 提交的时候 POST后得到的 第一次session是空的正常啊 没用输入提交肯定是空的啊
      

  2.   

    不会是空值的。你好好想想啊。你的验证码页面是不是有了session_start();当你的登入页面加载到验证码的时候。就将你生成的验证码赋给你保存的session中了。
    前提是你的登录页面也要开session。如果你看明白了、可是还有问题。那就是你程序有问题。
      

  3.   

    lz最好先确定GD库 开了没  然后单独执行xxx.php页面 应该是有个图片验证码啥的
      

  4.   

    <img src="xxx.php"> 有这个,加载页面时就会调用xxx.php页面,证明已经给session赋值了,咋会为空?当然,前提是你的xxx.php是生成验证码同时对session赋值(貌似都是这样子吧?)
      

  5.   

    验证码页开启了session,后台session也开启了,firefox可以过去 , ie不行 ,第一次session为空
      

  6.   

    header("Content-type: image/PNG");
    session_start();$authnum = rand(1000,9999);$_SESSION['indexLoginRand']=$authnum;$im = imagecreate(35,15); //制定图片大小$black = ImageColorAllocate($im, 0,0,0); //设定颜色
    $white = ImageColorAllocate($im, 255,255,255);imagefill($im,0,0,$white); //区域填充
    //$_SESSION['indexLoginRand']=$authnum;
    imagestring($im, 5, 0, -1, $authnum, $black);for($i=0;$i<100;$i++) //加入干扰象素
    {
    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }ImagePNG($im);
    ImageDestroy($im);
      

  7.   

    <?php
    session_start();
    if(!isset($_SESSION)){
        echo 'gl';
    }
    $ci_rand_system = $_SESSION['indexLoginRand'];
    $ci_rand = trim($_POST['ci_rand']);
    if($ci_rand_system==null){
    echo 'gg';
    }else{
    echo "系统:".$ci_rand_system;
    echo "<br>";
    echo "写入:".$ci_rand;
    }?>