首先铺垫一下:
1.A、B、C 三个页面,A和B是同一级目录,C是另外一级;
2.问题来了:在A中创建一个session值,能echo出来,但是到B页面就取不到值了;(为什么会这样哦)
然后我在B创建一个session,在C页面能取到,说明不是因为空间不够,或者session没有开启之类的,求救...PS:服务器是Linux服务器 我在本地的WinXP上运行正常...这是为什么哦?

解决方案 »

  1.   

      额...我放了 应该不是这个原因...
    PS:如果我在这不启动session的话能创建session不?求解..
      

  2.   

       况且我在windowsxp上都是正常的 在Linux下就不正常了 可能是操作系统有些区别的原因吧,这个问题都纠结我一天了....
      

  3.   

    以前也碰到过,不只是session echo不出来,别的东西也有echo不出来的。怎么弄都不行,重新建页面就好了~~~不知道什么原因~~
      

  4.   

    reg.php<?php
    $xname = $_GET['xname'];
    if (!empty($xname))
    {
    $_SESSION["xname22"] = $xname;
    echo $_SESSION["xname22"];
    }
    ?>
    save.php<?php
    session_start();
    include_once "../inc/ConnClass.php";
    include "../inc/init.php";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <?php
    $code = $_POST[txt_name];
    $xname = $_POST[xname];
    $pwd = $_POST[pwd1];
    $password = md5($pwd."zly");
    $mail = $_POST[email];
    $regtime = time();
    $iipp = $_SERVER["REMOTE_ADDR"];
    $xname = $_SESSION["xname22"];

    $sql = "select count(*) from users where u_code='$code'";
    /*
    echo $db->query_single($sql);
    echo $sql; return;
    */
    if ($db->query_single($sql) > 0)
    {
    echo "<script>alert('通行证名已经存在,请重新填写!');history.go(-1);</script>";
    }
    else
    {
    $sql =  "insert into users(u_code,u_password,u_email,u_regtime,u_regip)values('$code','$password','$mail',$regtime,'$iipp')";
    if ($db->exe($sql))
    {
    if (!empty($xname))
    {
    $sql = "select * from staurl where urlname='$xname'";
    $numarr = $db->query_to_array($sql);
    $num = $numarr[0]['urlnum'];
    $num = $num+1;
    $sql = "update staurl set urlnum = $num where urlname = '$xname' limit 1 ";
    $db->exe($sql);
    }
    $_SESSION['code'] = $code;
    echo "<script>window.location='http://';</script>";
    }
    else
    {
    echo "<script>alert('注册失败,可能存在非法操作!');history.go(-1);</script>";
    }
    }
    ?>
    <body>
    </body>
    </html>
      

  5.   

    你的 reg.php 不是没有 session_start(); 吗?
      

  6.   

       额...大意啊 刚刚还想到了 可是由于在前面创建了能echo出来 所以就没仔细注意那块...
    <?php
        $xname = $_GET['xname'];
        if (!empty($xname))
        {
            $_SESSION["xname22"] = $xname;
            echo $_SESSION["xname22"];
        }
    ?>
    PS:为什么上面的那段代码没session_start();  怎么能echo出值哦?
      

  7.   

    +1 
    要想使用session,除非是框架,必须在前头加session_start();
      

  8.   

       <?php
        $xname = $_GET['xname'];
        if (!empty($xname))
        {
            $_SESSION["xname22"] = $xname;
            echo $_SESSION["xname22"];
        }
    ?>我这段确实能echo出来值...
      

  9.   

    很想知道....</br>
    <a target="_blank" href="http://wpa.qq.com/msgrd?v=1&uin=294816174&site=qq&menu=yes"><img border="0" src="http://www.zhiliyou.com/images/jiaoliu.gif" alt="在线交流" title="在线交流">有事点前面的图片联系我吧!</a>