Witam, chciałem zmienić logowanie z typowo php/mysql na php/jquery aby było bardziej dynamiczne, jestem początkujący w jquery i ajaxie więc chciałem przerobić gotowy skrypt z internetu i problem pojawia się przy próbie sprawdzenia czy hasło jest bazie danych. Jeżeli nie sprawdzam hasła to skrypt działa dalej i przenosi mnie na podaną stronę, ale jak tylko chce sprawdzić hasło to po wpisaniu w formularz złego hasła pokazuje że hasło zostało źle wpisane ale jak wpisze dobre to skrypt przestaje działać po prostu nic nie robi.
Odrazu piszę czemu tak namieszane w kodzie: jak chciałem pobrać dane z tablicy $data to skrypt wogóle nie działał.
Kod php:
<?php
$textMessages = [
0 => 'Uzupełnij wszystkie pola formularza',
1 => 'Wpisz poprawny adres E-mail.',
2 => 'Wpisz poprawne dane.',
3 => 'Za chwilę zostaniesz przekierowany.',
4 => 'Nie wysłano formularza.',
5 => 'Złe hasło'
];
$data['password'] = hash('sha256', $data['password']);
dbcon("xxx","xxx","xxx","xxx");
$haslo = $_POST['haslo'];
$hash = hash('sha256', $haslo);
if(isset($_POST) && $data['action'] == 'login') {
if (empty($data['email']) || empty($data['password'])) { $array = [false, $textMessages[0]];
}
elseif (!filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
$array = [false, $textMessages[1]];
}
$array = [false, $textMessages[1]];
}
$array = [false, $textMessages[5]];
}
else {
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['email'] = $data['email'];
$_SESSION['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
$array = [true, $textMessages[3]];
}
} else {
$array = [false, $textMessages[4]];
}
echo json_encode
($array); ?>
Plik JS
// JavaScript Document
function redirect(to, delay) {
window.setTimeout(function () {
window.location.href = to;
}, delay);
}
$('.form').before('<div id="info"></div>');
$('.form').on('submit', function (e) {
var email = $("#email").val()
,password = $("#password").val()
,string = '&email=' + email + '&password=' + password + '&action=login';
var request = $.ajax(
{
url: "checker.php",
type: "POST",
datatype: "json",
data: string
});
request.done(function (html) {
var array = $
.parseJSON
(html
);
$
('#info').addClass
('alert alert-success').text
(array[1
]); redirect('my_page.php', 1000);
}
else if (array[0
] == false) { $
('#info').addClass
('alert alert-error').text
(array[1
]) }
});
e.preventDefault();
});
Ten post edytował dawix1496 22.01.2016, 20:21:24