我正在和#34;记住" Modal形式的功能。 我只在我发送支票簿值时才尝试设置cookie。但每当我从我的帐户退出时,cookie每次都会存在。 此外,当我打印$ _COOKIE []数组时,我发现了一些SESSION_ID。 帮我找出错误。
模态表格
<form role="form" method="post" id="login_Modal_checks">
<div class="form-group has-error">
<label for="username"><span class="glyphicon glyphicon-user"> </span>Username</label>
<input type="text" class="form-control" name="loginUsername" id="loginUsername" placeholder="Enter username"
value="<?php if(isset($_COOKIE['username']))
{echo $_COOKIE['username'];} ?>" >
</div>
<div class="form-group has-error">
<label for="psw"><span class="glyphicon glyphicon-pencil"></span> Password
</label>
<input type="password" class="form-control" name="loginPassword" id="loginPassword" placeholder="Enter password"
value="<?php if(isset($_COOKIE['pass'])) {echo $_COOKIE['pass'];} ?>" >
<i style="cursor: pointer" id="seePass" title="Click here to see password" class="glyphicon glyphicon-eye-open">
</i>
</div>
<div class="checkbox">
<label><input type="checkbox" id="remember" <?php if(isset($_COOKIE['username'])) { ?> checked <?php } ?>>
Remember me
</label>
</div>
<a id="login_Modal" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> Login</a>
</form>
Javascript代码
$('#login_Modal').click(function (e){
e.preventDefault();
var remember = $('#remember').val();
$.ajax({
url: "form_login_process.php",
type: 'POST',
data:{'Username':username,'Password':password,'Remember' : remember},
success: function (data)
{ //alert(data);}
});
form_login_process.php
$Remember = $_POST['Remember'];
$sql = "select * from signup where username = '$Username' and password = '$Password'";
$result = mysqli_query($link, $sql);
if(mysqli_num_rows($result)>0)
{
if(!empty($_POST['Remember']))
{
setcookie("username", $Username,time()+ (10 * 365 * 24 * 60 * 60));
setcookie("pass", $Password,time()+ (10 * 365 * 24 * 60 * 60));
}
else
{
//if without clicked on checkbox the cookie still exist then destroy it
if(isset($_POST['Username']))
{
setcookie("username","");
}
if(isset($_POST['Password']))
{
setcookie("pass","");
}
}
echo 'true';
$_SESSION['username'] = $Username;
}
else
{
echo "false";
}
答案 0 :(得分:0)
以下代码将完全破坏会话。用于注销功能。
session_destroy();
unset($_SESSION);
session_regenerate_id(true);
答案 1 :(得分:0)
你不会破坏这样的cookie:
的setcookie( “用户名”, “”);
如果你想破坏cookie设置一个已经过去的时间,如:
setcookie("username", "", time()-3600);
答案 2 :(得分:0)
setcookie("username", "",time()- (10 * 365 * 24 * 60 * 60));
setcookie("pass", "",time()- (10 * 365 * 24 * 60 * 60));
我认为这很有帮助