当然,要简单当然是记住用户登录时的时间而不是退出的时时间。这样就更简单啦。当用户登录成功的时候直接用mktime()生成时间保存到数据库。这样更简单唉,帮你改一下吧。。
<?php
include("config.php")
if($_POST[submit]){
$username= str_replace(" ","",$_POST[username])
$sql="select * from user_list where `username` = '$username'"
$query=mysql_query($sql)
$us=is_array($row=mysql_fetch_array($query))
$ps= $us ? md5($_POST[password].ALL_PS)== $row[password] : FALSE
if($ps){
$_SESSION[uid]=$row[uid]
$_SESSION[user_shell]=md5($row[username].$row[password].ALL_PS)
echo "登陆成功"
$time=mktime()//注意这生成的时候栅,所以是一段你看不太明的数字,当你要调用出回来的时候要帮它格式化,Date("这里写你想显示的格式",$time)
$sql="update `你的表名` set `你表储存时间的字段名`='$time()'"
mysql_query($sql)
header("Location:user_sys.php")
}else{
echo "密码或者用户名错误"
session_destroy()
}
}
?>
你设置了60s过期,那么60s之后,这个cookie就会失效,至于客户端的动作是没有影响的,影响的关键在于你怎么相应客户端的动作,比如客户端刷新一下,你不更新cookie时间,那么这个cookie就是原来设置60s后才过期,跟这个刷新动作无关;
如果客户端刷新的同时你又重新设置cookie的过期时间为60s,那么这个过期时间就从刷新的动作开始计算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)