Php 在不关闭会话的情况下注销会话
我们有一个会话注销脚本,如:Php 在不关闭会话的情况下注销会话,php,session,Php,Session,我们有一个会话注销脚本,如: <?php //24 2 2015 session_start(); session_destroy(); header("location:login.php") ?> 这实际上取决于您的平台: 您只能取消设置密码之类的内容,而不是销毁会话 unset($_SESSION['password']); 或在会话中设置另一个密钥: $_SESSION['loggedIn'] = false; 并重定向到登录页面 您还可
<?php
//24 2 2015
session_start();
session_destroy();
header("location:login.php")
?>
这实际上取决于您的平台: 您只能取消设置密码之类的内容,而不是销毁会话
unset($_SESSION['password']);
或在会话中设置另一个密钥:
$_SESSION['loggedIn'] = false;
并重定向到登录页面
您还可以将用户名放入cookie并销毁会话
如果您想在cookie中存储用户名,出于安全原因,最好对其进行加密。您可以在$\u SESSION
变量中添加一个“temp\u logout”
字段,当您将用户重定向到登录页面时,您可以检查该字段是否为$\u SESSION[“temp\u logout”]
,如果为真,在输入字段中添加用户名
注销脚本:
<?php
//24 2 2015
session_start();
$_SESSION['temp_logout'] = true;
header("location:login.php")
?>
登录页面:
<form id="msform" action="ulogincheck.php" method="post">
<fieldset>
<h2 class="fs-title">LogIn</h2>
<h3 class="fs-subtitle">Please Enter your details accordingly<br/><br/> <small>(case sensitive)</small></h3>
<input type="text" name="email" placeholder="Email" required />
<input type="text" name="mobile" placeholder="Mobile" required />
<input type="password" name="password" placeholder="Password" required />
<button type="submit" name="submit" class="submit action-button"> LogIn </button>
</form>
session_start()
...
//where the "username" input is
<input name="username" <?php if(isset($_SESSION["temp_logout"]){
echo 'value="'.$_SESSION["username"] .'" ';
} ?> />
...
session_start()
...
//其中“用户名”输入为
此外,在网站的任何地方,不要忘记检查用户是否临时注销;然后立即将他重定向到登录页面因此,
@harishk检查我的answer@harishk请与我分享你的代码,这样我就可以检查它。但是,密码永远不应该放在会话变量中。这是一个很好的解释。。但是,如果在注销后,用户被重定向到登录页面,其中只有输入密码,并且在他输入和登录时,在logincheck.php页面中,我们可以获得用户名以检查数据库表吗?(我希望我很清楚)是的,用户名仍然在$\u SESSION[“username”]
变量中,只是不要忘记SESSION\u start()(你必须把它放在每个使用$\u SESSION
的php文件的开头)我用你的建议更新了这个问题。。。但它似乎有一个小故障。。。。希望我是清楚的…输入密码后,它只会指示我登录页面。$\u会话[“mobile”]
?用户手机号码
session_start();
$email = $_REQUEST["email"];
$mobile = $_REQUEST["mobile"];
$password = md5($_REQUEST["password"]);
$s = "select * from users where email='".$email."' and password = '".$password."' and mobile = '".$mobile."'";
$result = mysqli_query($Cser,$s);
$count = mysqli_num_rows($result);
if($count>0)
{
$_SESSION["email"] = $email;
$_SESSION["mobile"] = $mobile;
$_SESSION["login"]="1";
header("location:/index2.php");
}
else
{
header("location:/usersignin.php");
unset($_SESSION['password']);
$_SESSION['loggedIn'] = false;
<?php
//24 2 2015
session_start();
$_SESSION['temp_logout'] = true;
header("location:login.php")
?>
session_start()
...
//where the "username" input is
<input name="username" <?php if(isset($_SESSION["temp_logout"]){
echo 'value="'.$_SESSION["username"] .'" ';
} ?> />
...
<?php
session_start();
unset($_SESSION["temp_logout"]);
?>