我遇到了会话问题。 我有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>";
}
答案 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);
可能会出现脚本中的错误。