想实现如下的功能:
例如:用session验证用户名和密码通过后(成功登录网站后时),生成session的代码是这样的:
<?php
session_start();
$_SESSION['username']="zw";
$_SESSION['password']="123abc";
echo "<script language=\"javascript\">";
echo "window.location.href=\"../page1.php\";";
echo "</script>";
?>那么网页会自动跳转到page1.php;
//////////////////////////////////////////////////////
假如网站其他的网页page2.php前面都是这样的:
<?php
session_start();
if(isset($_SESSION['username'])&&isset($_SESSION['password']))
{
if($_SESSION['username']=="zw"&&$_SESSION['password']=="123abc"){echo "欢迎你".$_SESSION['username'];};
else{echo "欢迎你guest!"};
}
//省略代码
?>有如下几个问题:代码该怎么写?1.登录后跳转到page1.php后不关闭该页;现在想实现:再打开page2.php,或其他更多该站网页,也就是说只要有该网站网页打开状态,再打开其他网页时就会是登陆的状态。以上代码不能实现,该怎么弄?
2.当该网站网页全部关闭时,怎么退出登录状态。
3。随时退出登录状态。
4.一段时间,如10天,自动退出登录状态。
例如:用session验证用户名和密码通过后(成功登录网站后时),生成session的代码是这样的:
<?php
session_start();
$_SESSION['username']="zw";
$_SESSION['password']="123abc";
echo "<script language=\"javascript\">";
echo "window.location.href=\"../page1.php\";";
echo "</script>";
?>那么网页会自动跳转到page1.php;
//////////////////////////////////////////////////////
假如网站其他的网页page2.php前面都是这样的:
<?php
session_start();
if(isset($_SESSION['username'])&&isset($_SESSION['password']))
{
if($_SESSION['username']=="zw"&&$_SESSION['password']=="123abc"){echo "欢迎你".$_SESSION['username'];};
else{echo "欢迎你guest!"};
}
//省略代码
?>有如下几个问题:代码该怎么写?1.登录后跳转到page1.php后不关闭该页;现在想实现:再打开page2.php,或其他更多该站网页,也就是说只要有该网站网页打开状态,再打开其他网页时就会是登陆的状态。以上代码不能实现,该怎么弄?
2.当该网站网页全部关闭时,怎么退出登录状态。
3。随时退出登录状态。
4.一段时间,如10天,自动退出登录状态。
ie8/ff下就可以的,这个应该属于浏览器的问题,ie6不行。2.当该网站网页全部关闭时,怎么退出登录状态。
用session或临时cookie就都会自动退出3。随时退出登录状态。
unset($_SESSION['username']);
unset($_SESSION['password']);
4.一段时间,如10天,自动退出登录状态。
这个只有用cookie
只有cookie可以设置保存多少天的登录状态,但是如果你清理了cookie一样会失效。------------------------------------
桂林视窗生活网 免费发布房屋租售、二手信息、分类信息。
<?php
setcookie("uname", "abc123");
echo "<script language=\"javascript\">";
echo "window.location.href=\"check.php\";";
//或者echo "window.location.href=\"../check.php\";";echo "</script>";
?>下面是check.php,如果放在login.php同级目录下,可以登录成功,但是如果login.php在上级目录就"非法访问了";怎么样取出cookie才能保证一致呢?
check.php:
<?php
if(isset($_COOKIE["uname"]))
{ echo $_COOKIE["uname"];
echo "登录成功";
}
else
{
echo "对不起,非法访问";
exit;
}
?>
这个是你setcookie()时,有个作用域的参数设置的!!你可以改成setcookie("uname", "abc123","","/","");试试!!
这个意思就是把cookie的作用域设置成全局的!!