js的验证写在页面内,再用php输出session
比如
<script>
var session=<?php echo $_SESSION[xxx] ?>
</script>

解决方案 »

  1.   

    ls正解。<?php
      session_start();
    ?>
    <script>
    var session = <?php echo $_SESSION['xx']; ?>
    </script>
      

  2.   

    js中混插php代码即可,前提这个文件也是php文件
      

  3.   

    你的意思是js的验证写在哪个页面内啊?我已经有一个panduan.js文件了,想在这里面实现,就是不知道如何获取在yanzhengma.php中产生的验证码。
      

  4.   

    这些代码是放在yanzhengma.php中吗?我试过了,但是panduan.js无法识别session.
      

  5.   

    <script language="javascript" src="yanzhengma.php"></script>yanzhengma.php<?php
      session_start();
    ?>
    <script>
    var session = <?php echo $_SESSION['xx']; ?>
    </script>
      

  6.   

    我想知道的是,在panduan.js中如何用到这个session的值呢?
      

  7.   

    先输出Session值到页面的js代码中,像下面:
    <?php
    session_start();
    ?>
    <script>
    var session = <?php echo $_SESSION['xx']; ?>
    </script>js文件中可以调用这个变量。
    然后再在这代码后面调用js文件。
    OK了。
      

  8.   

    js只能获取cookie,不能获取session
      

  9.   

    这就是JS的问题了function check()
    {
       if(document.getElementById("checkcode").value!=session)
       {
          alert("False")
          return false;
       }
    }<form name="a" action="" onsubmit="return check()">
      

  10.   

    js毕竟是客户端脚本语言,如果一定要获取session只能用嵌套(php服务器脚本语言),那种好像不叫js获取session
      

  11.   

    <?php
    Header("Content-type: image/gif");
    /*
    * 初始化
    */
    $border = 1; //是否要边框 1要:0不要
    $how = 4; //验证码位数
    $w = $how*15; //图片宽度
    $h = 28; //图片高度
    $fontsize = 30; //字体大小
    $alpha = "abcdefghijkmnopqrstuvwxyz"; //验证码内容1:字母
    $number = "023456789"; //验证码内容2:数字
    $randcode = ""; //验证码字符串初始化
    srand((double)microtime()*1000000); //初始化随机数种子$im = ImageCreate($w, $h); //创建验证图片/*
    * 绘制基本框架
    */
    $bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色
    ImageFill($im, 0, 0, $bgcolor); //填充背景色
    if($border)
    {
        $black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色
        ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框
    }/*
    * 逐位产生随机字符
    */
    for($i=0; $i<$how; $i++)
    {   
        $alpha_or_number = mt_rand(0, 1); //字母还是数字
        $str = $alpha_or_number ? $alpha : $number;
        $which = mt_rand(0, strlen($str)-1); //取哪个字符
        $code = substr($str, $which, 1); //取字符
        $j = !$i ? 4 : $j+15; //绘字符位置
        $color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色
        ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符
        $randcode .= $code; //逐位加入验证码字符串
    }/*
    * 添加干扰
    */
    for($i=0; $i<5; $i++)//绘背景干扰线
    {   
        $color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色
        ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线
    }   
    for($i=0; $i<$how*40; $i++)//绘背景干扰点
    {   
        $color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色 
        ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点
    }//把验证码字符串写入session
    session_start();
    $_SESSION['randcode'] = $randcode;/*绘图结束*/
    Imagegif($im);
    ImageDestroy($im);
    /*绘图结束*/
    ?> 
    这是验证码的生成代码,在verify.php中。你知道怎样在一个.js文件中得到这个验证码的值吗?
      

  12.   

    用AJAX吧。首先在服务器端输出session ,然后用AJAX返回这个值
      

  13.   

    ajax我不会用啊
    是不是类似这样:
            $('.bt_send').click(function(){
            var session = <?php echo $_SESSION['randcode']; ?>;
    $.ajax
    ({
          type:'POST',
     url:'panduan.js?yanzhengma='+session,  
     ……
          });
    });
      

  14.   

    <?php
     session_start();
     $s=$_session[''];
     ?>
    <script>
    var value=<?php echo json_encode($s);?>;
    </script>
      

  15.   

    你要做的,是在把数据插入数据库之前,判断验证码输入框中的内容是否与$_SESSION中的一致,找到插入数据的函数,应该在另一个php文件中,你的.js文件是要通过ajax向这个文件传递数据的,你好好检查一下那个传递函数,就是有url和data的那部分,你data是否写全了?。还有php给变量赋值时,是哪个函数的变量就在这个函数内部赋值。你用global的话也可以。