会话在php中无法正常工作

时间:2012-06-30 10:55:01

标签: php session

我遇到了会话问题。 我有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>";
    }

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

同时检查您是否在任何文件中都有session_destroy()

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

相关问题