با سلام خدمت دوستان عزیز ...
بنده میخوام لاگین پیجی طراحی کنم که مثلا کاربر بعد از اینکه 3 بار ایمیل یا رمز عبورش رو اشتباه وارد کرد ، به اون یه پیغامی نشون بده ...
این کار رو با استفاده از کوکی انجام دادم ، ولی نمیدونم چرا اعمال نمیشه ... ممنون میشم اگر کمکم کنید .
فایل do_login.php
<?php
session_start();
require_once "conf/connect.php";
$email = $_POST['email'];
$pass = sha1($_POST['password']);
$ip = $_SERVER['REMOTE_ADDR'];
$check = 0;
if (isset($_POST['do_login'])) {
if (!empty($email) && !empty($pass)) {
if (isset($_COOKIE['LimitLogin-' . $email])) {
$val = $_COOKIE['LimitLogin-' . $email];
if ($val > 3) {
$check = $val;
}
}
if ($check > 3) {
echo "BlockedLogin";
} else {
$Sql2 = "SELECT email , password FROM users WHERE email = '$email' AND password = '$pass'";
$Result2 = mysqli_query($Connect, $Sql2);
$Row2 = mysqli_fetch_array($Result2);
if ($Row2['email'] == $email && $Row2['password'] == $pass) {
if ($Row2['isadmin'] == 1) {
$_SESSION['AI'] = $Row2['id'];
echo "Admin";
} else {
$_SESSION['UI'] = $Row2['id'];
echo "User";
}
} else {
if (isset($_COOKIE['LimitLogin-' . $email])) {
$val = intval($_COOKIE['LimitLogin-' . $email]);
$val++;
$cookie_name = "LimitLogin-" . $email;
$cookie_time = time() + 3600;
setcookie($cookie_name, $val, $cookie_time);
} else {
$cookie_name = "LimitLogin-" . $email;
$cookie_value = "1";
$cookie_time = time() + 3600;
setcookie($cookie_name, $cookie_value, $cookie_time);
}
echo "LoginFailed";
}
}
} else {
echo "EmptyValue";
}
} else {
header("location:login.php");
}
?>
فانکشن مربوط به ارسال اطلاعات به صورت ajax به سرور
function DoLogin() {
var Email = $("#TxtEmail").val();
var Password = $("#TxtPassword").val();
if (Email != "" && Password != "") {
$("#loading_spinner").css({"display": "block"});
$.ajax({
type: 'post',
url: 'do_login.php',
data: {
do_login: "do_login",
email: Email,
password: Password
},
success: function (response) {
if (response == "Admin") {
window.location.href = "AdminPanel.php"
}
else if (response == "User") {
window.location.href = "UserPanel.php";
}
else if (response == "BlockedLogin") {
$("#loading_spinner").css({"display": "none"});
swal(
'خطا !',
'نام کاربری یا رمز عبور اشتباه می باشد .',
'error'
)
}
else if (response == "block") {
$("#loading_spinner").css({"display": "none"});
swal(
'خطا !',
'شما رمز عبور خود را بیش از 3 با وارد کرده اید .',
'error'
)
}
else if (response == "EmptyValue") {
$("#loading_spinner").css({"display": "none"});
swal(
'خطا !',
'مقدار ورودی نمی تواند خالی باشد .',
'error'
)
}
else {
$("#loading_spinner").css({"display": "none"});
swal(
'خطا !',
'خطایی در عملیات لاگین به وجود آمده است .',
'error'
)
}
}
});
}
else {
swal(
'خطا !',
'مقدار ورودی نمی تواند خالی باشد .',
'error'
)
}
return false;
}
کدتون زیاده حتما شما باید خط به خط debug کنید تا متوجه اشکال بشید
خط به خط
مگر اینکه ارور داشته باشید بتونیم کمکتون کنیم
اینجور مشکلات حتما باید توسط شما خط به خط دیباگ بشه مثلا با
var_dump();die;
سلام
@e.hemmati.79
یه تیبل میتونید درست کنید که count رو در خودش ذخیره کنه و کوئری بزنید هر بار که ریست شد و به 3 که رسید حالا الارمی چیزی بده
این کار منطقی تر هست
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟