Php 会话销毁工作,但我需要按F5每次看到新的更新有什么解决方案吗?
当我登录时,我会在主页中重定向,当我按logout时,我会破坏我的 会话和重定向在同一页面中,有新的更新,但仅当我按F5时 layout.phpPhp 会话销毁工作,但我需要按F5每次看到新的更新有什么解决方案吗?,php,session,Php,Session,当我登录时,我会在主页中重定向,当我按logout时,我会破坏我的 会话和重定向在同一页面中,有新的更新,但仅当我按F5时 layout.php <?php session_start(); if (!isset($_SESSION['login'])) {?> <ul> <li><a href="?controller=user&action=inscription">Inscription<
<?php
session_start();
if (!isset($_SESSION['login'])) {?>
<ul>
<li><a href="?controller=user&action=inscription">Inscription</a></li>
<li class="login">
<div id="loginContainer"><a id="loginButton"><span>Se Connecter</span></a>
<div id="loginBox" style="display: none;">
<form id="loginForm" method="POST" action="?controller=user&action=authentification">
<fieldset id="body">
<fieldset>
<label>Login</label>
<input type="text" name="login" id="email" >
</fieldset>
<fieldset>
<label for="password">Mot de passe</label>
<input type="password" name="password" id="password">
</fieldset>
<input type="submit" id="login" value="Connexion" name="xxl1">
<label for="checkbox"><input type="checkbox" id="checkbox"> <i>Rester Connecté</i></label>
</fieldset>
<span><a href="#">Mot de passe oublié?</a></span>
</form>
</div>
</div>
</li>
</ul>
<?php
} else { $name = $_SESSION['login']
?>
<h1 style="
font-size: 19px;
font-family: inherit;
margin-right: -1px;
margin-top: 1px;
">
Bonjour <?php echo $name ?>
</h1>
<a href="?controller=user&action=dashboard" style="
font-size: 12px;
font-family: inherit;
margin-right: -1px;
margin-top: 1px;
"> Editer mon profil
</a>
<a href="?controller=user&action=deconnexion" style="
font-size: 12px;
font-family: inherit;
margin-right: -1px;
margin-top: 1px;
"> Deconnexion
</a>
<?php } ?>
</div>
如果有任何解决方案或建议,使我的代码更好地告诉我
请要销毁会话,您应该执行以下操作:
$_SESSION = array();
session_unset();
session_destroy();
然后,将用户重定向到另一个页面——在检查会话变量后,可以使用js完成
从文件中:
为了完全终止会话,还必须取消设置会话ID。如果使用cookie传播会话ID(默认行为),则必须删除会话cookie。setcookie()可用于此目的
您可以看到它们如何在同一链接上销毁cookie:
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
试试看是否有用。最好做一个PHP重定向
标题('位置:http://example.com/?controller=accueil&action=home');退出代码>,您不需要先转到客户端并重定向到那里。也许你的问题已经解决了。你能给我解释一下出口吗;请在末尾?当您在服务器端重定向时,通常在重定向后不应运行任何内容,因此通常在header()
行后添加一个出口。我做了你让我做的事情,但还是一样的事情不起作用。我仍然需要按F5:/会话被破坏,但每次我都需要按F5来查看新的updateAdded cookie删除信息-尽可能随时测试它。
$_SESSION = array();
session_unset();
session_destroy();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}