会话不破坏
我创建一个PHP登录页面,并在其中使用会话...检查我设置的会话会话不破坏
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
的情况后,并在login_succes.php
我的代码为
<?
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>
<html>
<body>
<h2><?php session_start(); echo $_SESSION['myusername']; ?>
Welcome to hell</a>
</body>
</html>
和logout.php
代码
<?
session_start();
session_destroy();
?>
问题我面对我s登录第二次我在输出中获得第一个用户名本身。
用下面的一个摧毁一个会话:
$_SESSION = array();
unset($_SESSION);
相反的session_is_registered,使用标准的$ _SESSION超级全局。像:
if(isset($_SESSION['myusername']))...
要注册一个会话变量使用:
$_SESSION['myusername'] = $myusername;
此外,PHP版本,环境,可以帮助我们找到答案。
为避免警告,您应该使用'isset'或'array_key_exists'。 – Gumbo 2012-01-28 13:57:08
你应该使用'if(isset($ _ SESSION ['myusername']))'。 – kba 2012-01-28 13:57:19
php 5.3.9和im使用apache – sarsarahman 2012-01-28 13:57:38
'session_register'在2000之前是如此的...... – knittl 2012-01-28 13:44:59
您是否检查过第二个请求是否只是一个缓存响应? – Gumbo 2012-01-28 13:45:52
@knittl有什么可以解决这个问题? – sarsarahman 2012-01-28 13:47:51