我的SESSION老是页间传递失败 谁能帮我解决一下  急求

解决方案 »

  1.   

    看看 有没有 session_start()
      

  2.   

    慢慢解决上,我以前也是不成功,就是少了session_Start
      

  3.   

    要将session_id 先传过去才可以
      

  4.   

    一共 三个 文件
    第一个:名为5-3.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>SESSION实现用户登录的表单</title>
    </head><body>
    <form name="form1" method="post" action="5-3action.php">
    <table width="280" height="96" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#999999">
      <tr>
        <td colspan="2" align="center" background="#FFFFFF">用户登录</td>
      </tr>
      <tr>
        <td align="right" bgcolor="#FFFFFF">用户名:</td>
    <td align="left" bgcolor="#FFFFFF">
    <input type="text" name="user_name" size="12">
    </td>
      </tr>
      <tr>
        <td align="right" bgcolor="#FFFFFF">口令:
        <td align="left" bgcolor="#FFFFFF"><input name="user_pw" type="password"  size="12"></td>
      </tr>
      <tr>
        <td colspan="2" align="center" bgcolor="#FFFFFF">
      <input type="submit" name="Submit" value="提交">&nbsp;
      <input name="Submit2" type="reset"  value="重置"></td>
      </tr>
    </table>
    </form>
    </body>
    </html>第二个:5-3action.php
    <?php
    $_SESSION["user_name"]=$_POST["user_name"];
    $_SESSION["user_pw"]=$_POST["user_pw"];
    ?>
    <html>
    <head>
    <title>SESSION实现用户登录</title>
    </head>
    <body>
    <?php
    if($_POST["user_name"]=="php" && $_POST["user_pw"]=="php5"){
    echo"恭喜你,用户名和口令正确,登陆成功!";
    echo"<a href=5-3action-check.php>单击检测Session的值是否可以页间传递</a>";
    }else{
    echo"你输入的用户名和口令不正确,请<a href=5-3.php>返回</a>
    请尝试:php 和php5";
    }
    echo"<br>你输入的用户名为:".$_SESSION["user_name"];
    echo"<br>口令为:".$_SESSION["user_pw"];
    ?>
    </body>
    </html>
    第三个:5-3action-check.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>SESSION页间传递</title>
    </head><body>
    <?php
    if($_SESSION["user_name"]!="" && $_SESSION["user_pw"]!=""){
    echo"SESSION页间传递成功!<br>";
    echo"你输入的用户名为:".$_SESSION["user_name"];
    echo"<br>口令为:".$_SESSION["user_pw"];
    }else{
    echo"SESSION页间传递失败,其值为空!<br>";
    }
    ?>
    </body>
    </html>
      

  5.   

    而且 我的php.ini 配置文件里面
    已经把session.auto_start=1 默认值设为1了
    为什么还是页间传递失败?
      

  6.   

    重启过了啊 还是不行   你们把哪三个文件 运行 一下 看看是怎么回事
    如果在你们的电脑上 没出问题  能不能把你们配置过后的PHP给我发过来 我对照看一下
      

  7.   

    你发上来的代码是全的吗?怎么没有看见session_start() 
    我在用session时,一个最大的体会就是设置了一个session变量,比如$_session["username"],那么变量$username就不能用了,不然的话,你的$_session["username"]就会发生改变
      

  8.   

    请用 phpinfo() 检查 session.auto_start 的值
      

  9.   

    第二个:5-3action.php 
    <?php 
    session_start();
    $_SESSION["user_name"]=$_POST["user_name"]; 
    $_SESSION["user_pw"]=$_POST["user_pw"]; 
    ?> 
    第三个:5-3action-check.php 
    <?php session_start();?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>SESSION页间传递 </title> 
    </head> <body> 
    <?php 
    if($_SESSION["user_name"]!="" && $_SESSION["user_pw"]!=""){ 
    echo"SESSION页间传递成功! <br>"; 
    echo"你输入的用户名为:".$_SESSION["user_name"]; 
    echo" <br>口令为:".$_SESSION["user_pw"]; 
    }else{ 
    echo"SESSION页间传递失败,其值为空! <br>"; 

    ?> 
    </body> 
    </html> 
      

  10.   

    session_start();   前边不要有空格
      

  11.   

    1.如果session_start前有空格或BOM的話,應該出來一個warning的,除非你是設置成不警報warning
    2.還有一個session失敗的原因就是,COOKIE被禁用了(或是瀏覽器取不到COOKIE),但php.ini中的session.use_trans_sid = 0或者編譯時沒有打開--enable-trans-sid選項,也有可能使得SESSION失敗.檢查一下吧
      

  12.   

    我的php.ini中的session.use_trans_id=0 是不是要把0改成1?
    还有 这是我的show_info.php中 关于session那一项目的显示:
                               session
    Session Support                     enabled  
    Registered save handlers            files user  
    Registered serializer handlers      php php_binary wddx  
    请各位 看看 有什么问题没
    具体怎么解决
      

  13.   

    按照13楼的改法 能够正确显示 但是 我记得有一种方法可以 不加 session_start()
    可以直接调用 session传递 
     请问 各位 有没有知道的 谢谢
      

  14.   

    就是 少了这个 <?php session_start();?> 郁闷
      

  15.   

    这种问题一般来说有以下两个原因: 1. 没有启用session,也就是说页面初始化时应加入session_start();代码 2. 检查保存session的文件夹权限,看一下是否有写权限,因为session也是文件, 必须要有写权限才行。 建议先检查一下这两个问题,另外再看一下错误日志,就可以解决这个问题了
      

  16.   

    哇和不错的样子android很看好的
      

  17.   

    session_start();
    $admin = false;
    if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) 其它页面使用前,先重置下你的session变量