本帖最后由 manbudezhu 于 2013-11-11 09:10:14 编辑

解决方案 »

  1.   

    Undefined index: check_pic
    原因:由于变量未定义引起的 
    解决方法: 
    1) error_reporting设置: 
    找到error_reporting = E_ALL 
    修改为error_reporting = E_ALL & ~E_NOTICE 2) register_globals设置: 
    找到register_globals = Off 
    修改为register_globals = On 
      

  2.   

    你执行到 print_r($_SESSION['check_pic']); 的时候,<img src="rand.php"> 还没有执行。$_SESSION['check_pic']怎么会有值呢?你刷新后,$_SESSION['check_pic']被写入,展示的自然就是刷新先设置的值。你看到验证码的时候$_SESSION['check_pic']已经被更新,在下次刷新的时候展示。你要看$_SESSION['check_pic']的值这样就ok了<?php
    session_start();
    ?>
    <form action="" method="post">
     用户名:<input type="text" name="username" style="height:23px" /><br>
     密 码:<input type="password" name="password"  style="height:23px" /><br>
     验证码:<input type="code" name="code" size="10" style="height:23px" />
     <img src="rand.php">
     <br><br>
     <input type="submit" name="submit" value="登陆"/>
     </form>
    <?php
    print_r($_SESSION['check_pic']);
    ?>
      

  3.   

    把print_r($_session['check_pic']写到下面也不行,还是现实的上次值。
      

  4.   

    第一次运行user.php显示错误Undefined index: check_pic,不显示数值。刷新一下print_r($_session['check_pic']永远现实上一次的验证码数值,咋回事了。
      

  5.   

    $_SESSION['check_pic'] 的值是在 rand.php 执行时才产生(或更新)的我要查看$_SESSION['check_pic']的值该怎么处理
    你图片上显示的不就是 $_SESSION['check_pic'] 的值吗?
      

  6.   


    可是每次print_r($_SESSION['check_pic']);显示的值总是验证码图片上一次显示的值,而不是这一次的。
      

  7.   

    那是当然的!
    print_r 打印的是上次的 $_SESSION['check_pic']
    本次的 $_SESSION['check_pic'] 显示在图片上