这是第一个php,名为index.php
<?php
session_start();
$_SESSION['name']= $_POST['username'];
?>
<html>
<body>
<form action="test.php" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td></tr>
<tr>
<td><input type="submit" value="登录"/></td>
</tr>
</table>
</form></body></html>这是第二个php,名为test.php
<?php
session_start();
$_SESSION['name']=$_POST['username'];
if(isset($_SESSION['name']))
{
echo "你好".$_SESSION['name'];
}
else {
echo "你好,游客";
}
?>
为什么当session为空的时候,还是显示你好呢,而不是显示你好,游客呢?
<?php
session_start();
$_SESSION['name']= $_POST['username'];
?>
<html>
<body>
<form action="test.php" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td></tr>
<tr>
<td><input type="submit" value="登录"/></td>
</tr>
</table>
</form></body></html>这是第二个php,名为test.php
<?php
session_start();
$_SESSION['name']=$_POST['username'];
if(isset($_SESSION['name']))
{
echo "你好".$_SESSION['name'];
}
else {
echo "你好,游客";
}
?>
为什么当session为空的时候,还是显示你好呢,而不是显示你好,游客呢?
if(!isset($_SESSION['name'])||empty($_SESSION['name'])){
}
第二个文件中修改成这样
if(empty($_SESSION['name']))
{
echo "你好,游客";
}
else {
echo "你好".$_SESSION['name'];
}
session_unset($_SESSION['name']);
问题就解决了,记得$session中的数据会保持很久
<?php
session_start();header("content-type:text/html;charset=utf-8");
$_SESSION['name']=$_POST['username'];
echo "username".$_POST['username']."<br />";
if(empty($_SESSION['name']))
{
echo "你好,游客";
}
else {
echo "你好".$_SESSION['name'];
}
session_unset($_SESSION['name']);
?>
{
echo "你好".$_SESSION['name'];
}
else {
echo "你好,游客";
}