Je suis capable de lancer le fichier js qui fait la première alerte mais je n'arrive pas à obtenir la 2ème alerte, le fichier php est là et fonctionne en retournant 0 mais l'alerte) ne vient pas. Je pense que c'est une syntaxe qui me manque.Impossible d'obtenir ajax poste au travail
$(function() {
$("#login_form").submit(function() {
alert('started js');
//get the username and password
var username = $('#username').val();
var password = $('#password').val();
//use ajax to run the check
$.post("../php/checklogin.php", { username: username, password: password },
function (result) {
alert('finished post');
//if the result is not 1
if (result == 0) {
//Alert username and password are wrong
$('#login').html('Credentials wrong');
alert('got 0');
}
});
});
});
Voici le php
session_start();
include 'anonconnect.php';
// username and password sent from form
$myusername= $_POST['username'];
$mypassword= $_POST['password'];
$sql = $dbh->prepare("SELECT * FROM Users WHERE UserLogin= :login");
$sql->execute(array(':login' => $myusername));
$sql = $sql->fetch();
$admin = $sql['admin'];
$password_hash = $sql['UserPass'];
$salt = $sql['salt'];
/*** close the database connection ***/
$dbh = null;
if(crypt($mypassword, $salt) == $password_hash){
// Register $myusername, $mypassword and redirect to file
$_SESSION['myusername'] = $myusername;
$_SESSION['loggedin'];
$_SESSION['loggedin'] = 1;
if($admin == 1){
$_SESSION['admin'] = 1;
}
header("location:search.php");
}
else {
$_SESSION['loggedin'];
$_SESSION['loggedin'] = 0;
echo 0;
}
Vérifiez la console de votre navigateur pour voir s'il y a des erreurs –
ajoutez également un gestionnaire d'échecs pour voir s'il y a des erreurs comme '$ .post (" ../ php/checklogin.php ", {nom d'utilisateur: nom d'utilisateur, mot de passe : mot de passe}, fonction (résultat) {...}). fail (function() {console.log ('erreur', arguments)}) ' –
Je ne reçois aucune erreur de console même après avoir ajouté le code. – user1552172