jQuery
// Submitted FormData is like this - a=value1&b=value2&c=value3
$('#formName').submit(function(e){
e.preventDefault();
var formData = $('#formName').serialize();
$.ajax({
type: 'POST',
url: 'file.php',
data: formData,
cache: false,
error: function(xhr, status, error) {
console.log("xhr.readyState - " + xhr.readyState);
console.log("xhr.status - " + xhr.status);
console.log("xhr.statusText - " + xhr.statusText);
console.log("status - " + status);
console.log("error - " + error);
console.log("xhr.responseText - " + xhr.responseText);
}
}).done(function(data) {
console.log(data)
})
});
PHP
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
error_reporting(E_ALL);
date_default_timezone_set('Asia/Kolkata');
require('includes/connection.php');
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
if(empty($a) || empty($b) || empty($c)){
http_response_code(400);
echo 'all fileds are required';
exit;
}else{
http_response_code(200);
echo 'all is good';
exit;
}
}else{
http_response_code(400);
echo "Not Authorized";
die();
}
?>
Код, который установлен-Cookie
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
session_start();
error_reporting(E_ALL);
date_default_timezone_set('Asia/Kolkata');
require('includes/connection.php');
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$username = mysqli_real_escape_string($scnx, strip_tags(strtolower($_POST['username'])));
$password = $_POST['passcode'];
if(empty($username) || empty($password)){
http_response_code(400);
echo 'please enter username & password';
exit();
}
$sql = "SELECT username, passcode FROM admins WHERE username = '$username' LIMIT 1";
$runSql = mysqli_query($scnx, $sql) or exit("unable to SELECT");
$fetchCount = mysqli_num_rows($runSql);
$fetch = mysqli_fetch_row($runSql);
$_username = $fetch[0];
$_password = password_verify($password, $fetch[1]);
if($fetchCount != 1){
http_response_code(400);
echo 'username doesn\'t exist';
exit();
}else if($_password != 1 || $_username != $username){
http_response_code(400);
echo "Username & Passcode doesn't match";
exit();
}else{
http_response_code(200);
$_SESSION["pccadmin_username"] = hash("sha256", $_username);
$_SESSION["pccadmin_codepass"] = $_password;
setcookie("pccadmin_username", $_username, time()+(86400));
setcookie("pccadmin_codepass", $_password, time()+(86400));
exit;
}
}else{
echo "Not Authorized";
exit();
}
?>
Выше приведен код ::
Теперь проблема очень странная, есть 2 случая с этим ::
CASE 1 :: У меня естьзаметил, что при установке пользовательских файлов cookie Ajax readyState имеет значение 0 и не работает вообще. Просмотр снимка экрана
CASE 2 ::Как только я очищаю пользовательские куки и запускаю тот же скрипт, все работает нормально. Просмотр снимка экрана
Пожалуйста, помогите мне с этим, я потратил 24 часа на это и перепробовал все возможные вещи - пошаговая отладка моего кода не кажется проблемой, но все жене работает.
Любые предложения будут высоко оценены.