$(document).ready(function(){
logger();
});
function logger()
{
if(localStorage.getItem("status") === null)
{
$("#test").html("Not logged in.");
$("#buttonlogin").click(function(){
var ul = $("#userlogin").val();
var pl = $("#passlogin").val();
$.post("includes/logger.php", {type : "login", user : ul, pass : pl}, function(dlogin){
if(dlogin == 1)
{
$("#outlogin").html("Please enter a username.");
$("#userlogin").focus();
}
else if(dlogin == 2)
{
$("#outlogin").html("Please enter password.");
$("#passlogin").focus();
}
else if(dlogin == 3)
{
$("#outlogin").html("This username doesn't exist.");
$("#userlogin").focus();
}
else if(dlogin == 4)
{
$("#outlogin").html("This username and password don't match.");
$("#userlogin").focus();
}
else
{
localStorage.setItem("status", dlogin);
logger();
}
});
});
$("#buttonregister").click(function(){
var ur = $("#userregister").val();
var pr = $("#passregister").val();
var cpr = $("#confirmpassregister").val();
$.post("includes/logger.php", {type : "register", user : ur, pass : pr, cpass : cpr}, function(dregister){
if(dregister == 1)
{
$("#outregister").html("Please enter a username.");
$("#userregister").focus();
}
else if(dregister == 2)
{
$("#outregister").html("Please enter a password.");
$("#passregister").focus();
}
else if(deregister == 3)
{
$("#outregister").html("Please enter a confirm password.");
$("#cpassregister").focus();
}
else if(dregister == 4)
{
$("#outregister").html("Password and confirm password do not match.");
$("#passregister").focus();
}
else if(dregister == 5)
{
$("#outregister").html("This username is already taken.");
$("#userregister").focus();
}
else
{
localStorage.setItem("status", dregister);
logger();
}
});
});
}
else
{
$("#test").html("You are logged in.");
$("#buttonlogout").click(function(){
localStorage.removeItem("status");
logger();
});
}
}
Вышеприведенный код предназначен для проверки наличия или отсутствия переменной localStorage. Если это тогда, то только разрешить кнопку выхода из системы. Если нет, то пусть две формы будут работать. Как только это будет сделано, либо он должен перепроверить, если переменная установлена, а затем сделать, как я сказал выше. Однако он игнорирует его, когда пользователь входит в систему и разрешает запуск форм. Однако, если вы обновляете, это прекрасно работает. Я не могу, чтобы жизнь меня определяла, почему это происходит, и это начинает меня раздражать. Любая помощь будет оценена по достоинству.
В своем заявлении else
попробуйте добавить:
$('#buttonlogin').unbind('click');
$('#buttonregister').unbind('click');
Если я правильно понимаю вашу проблему, что происходит, эти события регистрируются при первом запуске $("#buttonlogin").click(function()...
Не имеет значения, что вы снова вызываете logger()
а оператор if
- во второй раз. Если вы хотите отключить эти обратные вызовы, вы должны сделать это явно.
if(!localStorage.getItem("status"))