-1

セッションに問題があります。ログイン、ホーム、編集の 3 つの php ページがあります。ログインすると、セッションが正常に作成され、ホームに戻ります。家には編集用のリンクがあります。しかし、編集に行くと、セッションが設定されていません。両方のページでセッション値をエコーし​​ようとしました。ホームではセッション値が正常に表示されますが、編集では表示されません。何が問題なのですか?助けてください。

login.php

   if($countStudent == 1){
     $_SESSION['stuName']= $username;
    header("location:studenthome.php");

home.php

   <?php
   error_reporting(0);
   session_start();
   if(!isset($_SESSION['stuName'])) {
   echo "Click here to <a href=\"index.php\">Re-LogIn</a>";
   }

    else if(isset($_POST['logout']))
   {
   unset($_SESSION['stuName']);
    header('Location: index.php');

   }
  else if(isset($_POST['edit']))
   {
    header('Location: edit.php');

   }
    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"          
   <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Untitled Document</title>
     </head>
    <body>
   <div id="container">
    <?php
   if (isset($_SESSION['stuName'])) {
   ?>
     <form id="studenthome" action="studenthome.php" method="post"/>
   <div id="menubar">
    <input type="submit" name="logout" value="Logout" />
    <input type="submit" name="edit" value="Edit Profile" />
    </form>
   </div>
    <?php
       }
    ?>
  </body>
   </html>

これまではすべて正常に機能しています。

edit.php

    session_start();
     if(!isset($_SESSION['stuName'])) {
    echo "Click here to <a href=\"index.php\">Re-LogIn</a>";
    }
4

2 に答える 2

0

次の例を試してみましたが、問題が解決するかどうかを確認してください

login.php

<?php session_start(); 
     $_SESSION['stuName']= "jolly";
 ?>
<a href="home.php">home</a>

home.php

<?php
   session_start();
?> 

<?php
echo "Student name=". $_SESSION['stuName'];
?>

<a href="edit.php">edit </a>

edit.php

<?php
   session_start();
   echo $_SESSION['stuName'] ;
?>

コメントでは説明になりませんので、回答を使用して説明しました:P

于 2012-06-30T11:24:58.127 に答える
0

おそらくsession.save_path書き込み可能ではないか、存在しません。保存パスをphp.ini確認し、それが存在するかどうかを確認してください。

またsession_destroy()、ファイルがあるかどうかも確認してください。

編集:ini_set('display_errors', 1);スクリプトでエラーが発生する可能性がある場合は、スクリプトの先頭で使用します。

于 2012-06-30T11:38:23.847 に答える