在3.php前面加句
session.start();
它前面不能有输出

解决方案 »

  1.   

    1. 我在2.php 註冊session,變量是 1.php 傳來的 $_POST[name],如下:
          $s_name=$_POST[name];
          session_register("$s_name");注意:你的注册方法错了,应该是session_register("s_name");2. 在2.php 中用 if (session_is_registered($s_name)) 調用正常.注意:同上,又错啦。应该是if (session_is_registered("s_name"))
      

  2.   

    TO: LeeMaRS(小菜虎_水壶的仇人)    按你所說的改為"",3.php是可以調用session了. 可我的本意是在2.php中跟蹤1.php傳來的變量(用戶名),可我發現改了以後, 2.php不能識別是哪個用戶的session了, 一個用戶登陸後, 其他的都能用. 而在改之前是可以的,即$.
        請問是怎麼回事?
        謝謝.
      

  3.   

    如果3.php与2.php的程序体是差不多,那没理由在2.php可以而在3.php不行。
    你看看在3.php中,那段程序是否在一个function里面或者是在一个class里面。如果是,那就要把相关的变量用global 变量(下附例子);的方法定义为全局变量。如果不是,你把几个程序贴出来看看吧。
    function example(){
     global $session_a;
     $session_a="var_b";
     $var_b="BBBBBB";
     session_register("$session_a");
    }就是这样,记住在函数和类结构里,把session定义为全局变量再定义这个session,否则是定义不了的。
      

  4.   

    程序如下:  1>. 1.php就是一個表單, 用于用戶登陸, name,password.
      2>. 2.php用于登陸,要實現的功能是讓用戶只能登陸一次,並註冊此用戶的session,用於3.php中更改密碼.如下:
        <?php
        session_start();
        $name=$_POST[name];
        $s_name=$name;
        if  (session_is_registered($s_name)) {
           echo "你已經登陸";}
        else  {
           //這裡是驗證登陸代碼,成功則註冊此用戶的 session.
            session_register($s_name);
               }
        ?>
      3>. 3.php 根據用戶的 session 更改密碼. 如下:
         <?php
         session_start();
         if  (session_is_registered($s_name)) {
           echo "你可以更改密碼";}
         else { echo "你還沒登陸";}  
         ?>      //3.php中就是這麼簡單,沒用甚麼函數. 2.php運行通過, 可以只讓用戶登陸一次, 3.php就是不行. 用$_SESSION[s_name],也不行, 用了樓上老兄的;把$s_name, 改為 "s_name", 2.php不行了, 3.php卻行了.
         請幫忙看一下.
      

  5.   

    在1.php中,注册:
    $s_name=$_POST[name];
    session_register("s_name");在2.php中,检查:
    session_start();
    if (session_is_registered("s_name"))在3.php中,同上
      

  6.   

    再請教一個弱智的問題,怎樣在1.php註冊session, 表單我用了javascript檢查,然後提交到2.php了.
      

  7.   


    怎樣將本頁要提交到第二頁的表單變量在第一頁註冊session??樓上的幾位老兄再幫幫忙了, 我是初學者, 這個又很急. 分數不是問題.
      

  8.   

    第一頁是先執行後, 用戶才能填入用戶名, form一提交, 變量到了第二頁, 好像第一頁沒辦法註冊其用戶名的session.
      

  9.   

    if (isset($_SESSION[s_name]) 改成.
    if (isset($_SESSION['s_name'])
      

  10.   

    換成if (isset($_SESSION['s_name']))是一樣的.請問session_register("s_name")和session_register($s_name)是一樣的嗎,為甚麼用前者,2.php不行(即所有用戶登陸後都使用同一個session),3.php可以. 用後者,2.php可以(可以判斷每一個用戶),3.php中卻找不到session. 改成你說的$_SESSION['s_name']也是一樣的.