J'essaie de créer un formulaire de connexion avec JQuery Ajax en prenant des détails sur les utilisateurs de la table "REG" dans la base de données. Mais cela ne fonctionne pas. Je veux entrer une page ANOTHE appelée Menu.php après la connexion. Rien ne montre quand je clique sur le bouton de connexion peut vous aider s'il vous plaît voici la page HTML: p> page de requête MySQL: p > <?php
$conn =mysqli_connect("localhost", "root", "", "project");
$f="SELECT * FROM reg WHERE uname='" . $_POST["username"] . "' and password = '". $_POST["password"]."'";
$result = mysqli_query($conn,$f);
$row = mysqli_fetch_assoc($result);
if( $row[0] > 0 )
{
echo 'true';
}
else
{
echo 'false';
}
?>
?>
4 Réponses :
Dans votre réponse, vous avez "Connexion réussie" ou "Échec de connexion", il n'y a pas de "vrai". Faites également attention à l'injection SQL. P>
J'ai corrigé cela.
Regardez dans le DevTools (F12) dans l'onglet Réseau Qu'est-ce que votre script PHP revient. Vérifiez également la console s'il n'y a pas d'erreur dans JS.
Au lieu de $ rangée [0]> 0 code> Utilisez juste
$ rangée code> car mysqli_fetch_assoc renvoie soit une matrice avec la ligne ou NULL.
Dans votre exemple, vous ne retournez pas vrai / FALSE, vous avez une chaîne de retour. Au lieu d'echo "Connexion réussie"; echo vrai et faux et à la fin d'écriture. p>
Voulez-vous s'il vous plaît essayer avec le code ci-dessous:
<script type="text/javascript"> $('#loginForm').submit(function(event) { event.preventDefault(); $.ajax({ url: "logindata.php", type: "POST", data: { username: $("#username").val(), password: $("#password").val() }, success: function(response) { if(response == 1) { window.location = menu.php; } else { $("#errorMessage").html("Attempting Login..."); } } }); }); </script>
Veuillez définir l'attribut ID code> dans votre formulaire. ça manque.
Voulez-vous s'il vous plaît essayer avec mysqli_num_rows ($ résultat) code> au lieu de
mysqli_fetch_assoc code>. S'il vous plaît voir la réponse mise à jour
Essayez ceci: modification de php p>
essayé c'était cher..nu ne fonctionne pas si ...
Ne fonctionne pas n'est pas suffisant. Quelle est la sortie de
console.log (réponse); code> et pour rediriger, vous pouvez utiliser
window.location.href = "menu.php"; code "; code"; >
Si vous faites un Var_Dump () de $ _Post lorsque vous essayez de vous connecter en tant qu'utilisateur de test, qu'est-ce que vous obtenez?
Je reçois le nom d'utilisateur ... la personne se connectant à
De plus, votre code n'écoutera pas même l'événement code> Soumettre CODE> jusqu'à ce que vous empêchez le formulaire par défaut. Rediriger. Vous devez utiliser
$ ('# # loginform'). Soumettre (Fonction (E) {E .PeventDefault (); code>
Enveloppez également votre événement de soumission dans
$ (document) .Ready (fonction (fonction () {// votre événement de soumission ici}) code>
J'ai fait tout ce que tu as dit ... mais ça ne marche pas, de toute façon :)
Encore et encore ..Veuillez ne pas utiliser les mots Ne pas fonctionner B> pour décrire votre problème. Ceci est des tonnes de suppositions dans la programmation. Commenter tout votre code PHP dans le fichier PHP et tout simplement écho .. Ensuite, commenciez la déclaration IF sur la fonction de réussite Ajax et juste
console.log (réponse) code> .. et voir (dites-nous) avec la sortie
Désolé, la chose est ... Il n'y a pas de montrer aucune erreur ... Quand j'ai utilisé la console ... Il n'a pas montré rien..Quand je clique sur Soumettre le bouton, rien n'est markpenng ... il ne dirige rien..mais quand je Var_Dump..th Nom d'utilisateur est montré