程序应该没问题把,看看PHP.INI配置

解决方案 »

  1.   

    session_is_registered现在已经不用了呀你改成if( empty( $_SESSION['MyUserNo'] ) )
    {      
       $_SESSION["MyUserNo"]=$MyUserNo;
       
     }试看看
      

  2.   

    還是不行啊.怎麼回事阿?是不是PHP配置文件的問題呢?PHP.ini配置文件我已經改了
    session.save_path = c:/temp
    session.Use_Cookies = 1
    session.auto_start = 1
    session.cookie_path = /temp我已經在網站發布目錄建了temp目錄和在C:\根目錄建立了temp目錄了.但還是不行.在地址後面加了."?" .SID就可以在新窗口獲取得到SessionID.但是現在不可能在整個網站的鏈接都加上這句話啊..大家有沒有什麼解決辦法啊.還是我的程序寫錯了?
      

  3.   

    xuzuning(唠叨) :上面的程序是否在你那邊測試沒問題?如果沒問題的話,那就應該是我機器配置的問題.
      

  4.   

    既然你要使用 session_start() 将
    session.auto_start = 1 改成0吧。
      

  5.   

    是的,经测试没有问题
    应该不是配置问题,因为進入教師頁面/Teacher/index.php可得到正常结果应该是“但當刷新教師頁面,或者在教師頁面中點擊鏈接到其它頁面時,session值就丟失了”的表述有问题,至少你没有给出“鏈接”和“鏈接到的頁面”代码
    所以只能测试“當刷新教師頁面”
      

  6.   

    index.php
    -----------------------
    <?
    session_start();
    $MyUserNo="teacher";
    if(!session_is_registered("MyUserNo"))
    {      
       $_SESSION["MyUserNo"]=$MyUserNo;
       
     }
    if($MyUserNo=="teacher")
    {
      Header("Location:Teacher/index.php");
      exit();//Header重新定向頁面後,防止繼續執行下面程序,調用exit()強行退出}
    else
    {
     //Header("Location:./Error.php");
     //exit();//Header重新定向頁面後,防止繼續執行下面程序,調用exit()強行退出
    }
    ?>
    -----------------------------------------
    //teacher目錄下的index.php文件
    //進入教師頁面/Teacher/index.php
    <?
    session_start();
    echo "MyUserNo:" .$_SESSION["MyUserNo"] . "<br/>" ;?><a href="index.php">刷新我</a>---------------------------------------------------
    我這裡訪問首頁index.php文件,頁面轉到teacher目錄下的index.php文件,這時可以得到$_SESSION["MyUserNo"] 的值,但當點刷新鏈接時..session值就丟失了.