私はModalフォームの "Remember"機能を使用しています。 ロッキング中に私が小切手の価値を送るときだけ、クッキーを設定しようとしました。しかし、私のアカウントからログアウトするたびに、毎回そのクッキーが存在します。 また、$ _COOKIE []配列を印刷しているときに、私はSESSION_IDを見つけています。 間違いを見つけ出すのを手伝ってください。ログアウト後にCookieが破壊されない
モーダルフォーム
<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";
}
待ちを助けると思いますクッキーへのパスワード私はこれがログインシステムをどのように実装するのではないかと思います。 –
@JonStirling 私はインターネット上の他の場所からクッキーを設定するこの方法を見つけました。 あなたが正しい道を知っているなら、私を導きます。 アイデアは暖かく歓迎されています! –
2つの主要なもの。 1)データベースにプレーンテキストのパスワードを保存しません(PHPの[password API](http://php.net/password)を参照)。2)ユーザーの資格情報をユーザーのブラウザに保存しません。 –