INTRODUCTION AU PROBLEME
---------je voudrais faire une authentification avec ajax sans charger la page mais le programme que j'ai fait il m'affiche toujours erreur d'anthentification comme si j'ai introduit le mauvais nom d'utilisateur et mot de passe.
j'ai une page principale appelé index.html elle deux principaux champs
1- nom d'utilisateur
2- mot de passe
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>antiquite</title> <link rel="stylesheet" href="login.css" type="text/css" media="screen" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="login.js"></script> </head> <body> <div id="container"> <div id="connexion"> <!-- bloc contenant le formulaire --> <form name="connexionForm" id="connexionForm" action=" "><!-- début du formulaire de connexion --> <fieldset> <legend>Connexion</legend><!-- titre du formulaire --> <p> <span id="erreur"></span><!-- span qui contiendra les éventuels messages d'erreur --> </p> <p> <label for="login">Nom d'utilisateur :</label> <input type="text" name="login" id="login" /><!-- champ pour le login --> </p> <p> <label for="pass">Mot de passe :</label> <input type="password" name="pass" id="pass" /><!-- champ pour le mot de passe --> </p> <p class="center" ALIGN="center"> <input type="submit" value="Je me connecte" class="bouton"/><!-- bouton de connexion --> </p> </fieldset> </form><!-- fin du formulaire --> </div><!-- fin du bloc contenant le formulaire --> <div id="contenu"> <a href="creationCompte.php">Pas encore inscrit ?</a> <a href="">Mot de Passe oublié ?</a> </div> </div> </body> </html>
ma page login.js qui contient le code ajax
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $(document).ready( function () { $("#connexionForm").submit( function() { $.ajax({ type: "POST", url: "login.php", data: "login="+$("#login").val()+"&pass="+$("#pass").val(), success: function(msg){ alert(msg); if(msg==1) // si la connexion en php a fonctionnée { $("div#connexion").html("<span id=\"confirmMsg\">Vous êtes maintenant connecté.</span>"); // on désactive l'affichage du formulaire et on affiche un message de bienvenue à la place } else // si la connexion en php n'a pas fonctionnée { $("span#erreur").html("<img src=\"bomb.png\" style=\"float:left;\" /> Erreur lors de la connexion, veuillez vérifier votre login et votre mot de passe."); // on affiche un message d'erreur dans le span prévu à cet effet } } }); return false; }); });
ma page login.php qui contient le code d’accès a la base de données
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php // connexion dans la base de données $link = mysql_connect("localhost", "root", "")or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("antiquitebdd"); $result = mysql_query("SELECT login, password FROM acces WHERE login = '$_POST[login]' AND password = '$_POST[pass]'"); $membre = mysql_fetch_assoc($result); if(($_POST[login]==$membre[login])&&($_POST[pass]==$membre[pass])) { setcookie("id",$membre[id]); // genere un cookie contenant l'id du membre setcookie("login",$membre[login]); // genere un cookie contenant le login du membre echo "1"; // on 'retourne' la valeur 1 au javascript si la connexion est bonne } else { echo "0"; // on 'retourne' la valeur 0 au javascript si la connexion n'est pas bonne } ?>
Partager