我有一个简单的登录表单与checbox记住我。我想要实现的是当用户检查checbox而不是创建cookie其他启动会话但它仍然启动会话,即使我选中了复选框。有人可以帮忙吗?
这是我的HTML:
<form action="PHP/login.php" method="post" class="loginForm">
<div class="form_vkope">
<input type="text" name="prihlNick" placeholder="Nick" class="prihlNick" />
<img src="Obrazky/ios7-person.png" alt="Ikonka postavy">
</div>
<div class="form_vkope">
<input type="password" name="prihlHeslo" placeholder="Heslo" class="prihlHeslo" />
<img src="Obrazky/locked.png" alt="Ikonka zámok">
</div>
<div class="obal_submitov">
<input type="checkbox" name="zapametat" class="zamapetat" /><label for="zapametat"><span></span>Remember me</label>
<input type="submit" name="prihlasit" value="Login" class="prihlasit" />
</div>
</form>
我的PHP的一部分:
$zapametat = $_POST['zapametat']; //checkbox
if ($dbNick == $Snick AND $dbHeslo == $Sheslo) {
if ($ban != 1) {
if (isset($zapametat)) {
setcookie('id',$dbId,time()+86400, '/');
setcookie('nick',$dbNick,time()+86400, '/');
echo "cookie";
}else{
$_SESSION['id'] = $dbId;
$_SESSION['nick'] = $dbNick;
echo "session";
}
}else{
echo "Tvoj účet bol zablokovaný";
}
}else{
echo "Heslo alebo meno sa nezhoduje";
}
}
我的jQuery:
$('.prihlasit').click(function() {
var prihlNick = $('.prihlNick').val();
var prihlHeslo = $('.prihlHeslo').val();
var prihlasit = $('.loginForm .prihlasit');
var checbox = $('.zapametat'); //checkbox
var data = 'prihlNick='+prihlNick+'&prihlHeslo='+prihlHeslo+'&zapametat='+checbox+'&prihlasit='+prihlasit;
if (prihlNick == '' || prihlHeslo == '') {
$('.loginForm :input').addClass('inputError');
}else{
$('.loginForm :input').removeClass('inputError');
$.ajax({
url: 'PHP/login.php',
type: 'POST',
data: data ,
})
.done(function(data) {
$('.vypis_chyba').html(data);
console.log(data);
})
}
});
答案 0 :(得分:1)
我建议使用这个:
<强>的jQuery 强>
var checbox = $('.zapametat').prop('checked'); //checkbox (jQuery 1.6+)
<强> PHP 强>
if((isset($zapametat))&&($zapametat==true)){