phpsession求指导
想在用户登入时用session保留他的用户名,一边在其他php文本里调用 ,但怎么写都不对,谁可以指导一下?
<?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"<a herf='indexin.html'>点击进入</a>";
}
else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
------解决方案--------------------从 php 4.1.10 开始,session 的操作就应该用 $_SESSION 数组
既然你已经有用 $_POST ,那么你的 php 版本就该在 4.1.10 以上了
你只给除了 session 变量的设置,并没有给出读取
session_start();
echo $_SESSION['nowuser'];
如果想直接 echo $nowuser;
则需要打开 register_globals 开关
------解决方案--------------------登入检查页面
<?php
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"<a herf='indexin.html'>点击进入</a>";
}
else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
?>
登入后的页面:
<?php
session_start();
if(isset($_SESSION['nowuser'])){
echo "你好".$_SESSION['nowuser']."欢迎进入你的空间!";
}else{
echo "未登入";
}
?>