-1

我的会话有问题。我有 3 个 php 页面登录、主页和编辑。当我成功创建登录会话并回家时。在家里,我有一个可以编辑的链接。但是当我去编辑会话是未设置的。我试图在两个页面中回显会话值。它在 home 中成功显示会话值,但在编辑中没有。可能是什么问题?请帮忙。

登录.php

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

主页.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>

至此,一切正常。

编辑.php

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

2 回答 2

0

可能session.save_path不可写或不存在。检查您的保存路径,php.ini然后检查它是否存在。

还要检查你是否有session_destroy()任何文件。

编辑:ini_set('display_errors', 1);在脚本顶部使用脚本中可能出现的错误。

于 2012-06-30T11:38:23.847 回答
0

我尝试了以下示例,它的工作正常,看看它是否解决了您的问题

登录.php

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

主页.php

<?php
   session_start();
?> 

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

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

编辑.php

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

它不会在评论中解释,所以我用答案来解释:P

于 2012-06-30T11:24:58.127 回答