当前位置:Gxlcms > PHP教程 > phpsession求指点

phpsession求指点

时间:2021-07-01 10:21:17 帮助过:22人阅读

phpsession求指导
想在用户登入时用session保留他的用户名,一边在其他php文本里调用 ,但怎么写都不对,谁可以指导一下?


session_start();
// 保存6小时
$lifeTime = 6 * 3600;

session_register ("nowuser") ;
$username = htmlspecialchars($_POST['username']);
$nowuser=$username;
$password = $_POST['password'];
$lastdate = date('Y-m-d');
include('conn.php');
mysql_query("set character set 'gbk'");
mysql_query("set names 'gbk'");

$sql = "select * from user where username='".$username."' and password='".$password."' ";
$check_query=mysql_query($sql);
$num=mysql_num_rows($check_query);

if($num>0)
{
echo "你好.$username.欢迎进入你的空间!";
echo "你最近一次的登入时间为.$lastdate";
echo"点击进入";
}
else {
exit('登录失败!点击此处 返回 重试');
}
------解决方案--------------------
从 php 4.1.10 开始,session 的操作就应该用 $_SESSION 数组
既然你已经有用 $_POST ,那么你的 php 版本就该在 4.1.10 以上了

你只给除了 session 变量的设置,并没有给出读取
session_start();
echo $_SESSION['nowuser'];

如果想直接 echo $nowuser;
则需要打开 register_globals 开关
------解决方案--------------------
登入检查页面

session_start();

$username = htmlspecialchars($_POST['username']);

$password = $_POST['password'];
$lastdate = date('Y-m-d');
include('conn.php');
mysql_query("set character set 'gbk'");
mysql_query("set names 'gbk'");

$sql = "select * from user where username='".$username."' and password='".$password."' ";
$check_query=mysql_query($sql);
$num=mysql_num_rows($check_query);

if($num>0){

$_SESSION['nowuser'] = $username;

echo "你好.$username.欢迎进入你的空间!";
echo "你最近一次的登入时间为.$lastdate";
echo"点击进入";
}
else {
exit('登录失败!点击此处 返回 重试');
}
?>


登入后的页面:

session_start();
if(isset($_SESSION['nowuser'])){
echo "你好".$_SESSION['nowuser']."欢迎进入你的空间!";
}else{
echo "未登入";
}
?>

人气教程排行