Bonjour a tous , je me suis fais un script pour me connecter a une administration et cela a toujours fonctionner mais j'ai voulus ajouter de l'ajax a ce script ....
j'ai du retoucher le code de cela pour que ce soit compatible le problème c'est que sa ne fonctionne plus ,le mots de passe est toujours invalide alors qu'il est correct.
voici le script identifier.php:
bien entendu accompagner de test.php:
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
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
49
50
51
52
53
54
55 <?php session_start(); function conex(){ $host="localhost"; $dbusername="root"; $dbpassword=""; $database="webhosting"; // Connexion au serveur $link = mysql_connect ($host, $dbusername, $dbpassword) or die( "Désolé, connexion au serveur $host impossible"); // Connexion à la base $sel = mysql_select_db ($database, $link) or die("Désolé, accès à la base $database impossible"); // Renvoi de la variable de connexion return $link; } sleep(1); if (isset($_POST["login"])) { $login=$_POST["login"]; $motPasse=md5($_POST["motPasse"]); // Les parametres ont bien ete transmis $user = connecter_user($login, $motPasse); if ($user) { connecter_user($user); } repondre($user); } else { print "usage : $_SERVER[PHP_SELF]?login=...&motPasse=..."; } function connecter_user($user) { // Enregistrer l'utilisateur dans la session web $dbconnect=conex(); $requete = sprintf("SELECT id, username from member where (username='%s') and (password='%s')", $login, $motPasse); $resultat = mysql_query($requete, $dbconnect)or die("<b>Erreur de chargement :</b><br>".mysql_error().__LINE__); $succes=mysql_num_rows($resultat); if ($succes==1) { $ligne=mysql_fetch_array($resultat); $_SESSION["userid"]=$ligne["id"]; //initialiser les variables de session $_SESSION["motPasse"]=$ligne["password"]; } else { echo "erreur de connection<br/>"; } } /** Vue */ function repondre($user) { if ($user) { header("location:index.php"); //envoi à la page } else { echo "Utilisateur inconnu ou mot de passe invalide"; } } ?>
les lecteurs acharné comme moi remarquerons un petit extrait de devellopez en ajax des éditions eroylles
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
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150 <!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=iso-8859-1" /> <title>Panier</title> <style type="text/css"> button { width: 12ex; height: 2em; margin: 0ex 1ex 0ex 1ex; } #cadre { text-align: center; font-size:120%; background: #FAF0F5; } #user { padding: 1ex; white-space: nowrap; } </style> <script type="text/javascript"> // La requete HTTP var requete; function identifier() { requete = getRequete(); if (requete != null) { // Constituer le corps de la requete (la chaine de requete) var login = document.getElementById("login").value; var motPasse = document.getElementById("motPasse").value; var corps = "login=" + encodeURIComponent(login) + "&motPasse=" + encodeURIComponent(motPasse); try { // Ouvrir une connexion asynchrone requete.open("POST", "identifier.php", true); // Positionner une en-tete indispensable // quand les parametres sont passes par POST requete.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // Traitement a effectuer quand l'etat de la requete changera requete.onreadystatechange = onIdentifier; // Lancer la requete requete.send(corps); // Montrer que la requete est en cours montrerActivite(); } catch (exc) { montrerInactivite(); } } else { setMessage("Impossible de se connecter au serveur"); } } // Ce qui s'executera lorsque la reponse arrivera function onIdentifier() { if (requete.readyState == 4 && requete.status == 200) { // Montrer que la requete est terminee montrerInactivite(); // Afficher le message de reponse recu setMessage(requete.responseText); } } // Abandonner la requete function abandonnerIdentifier() { if (requete != null) { requete.abort(); } montrerInactivite(); setMessage("Requête abandonnée"); } // Recuperer la requete existante ou une nouvelle si elle vaut null function getRequete() { var result = requete; if (result == null) { if (window.XMLHttpRequest) { // Navigateur compatible Mozilla result = new XMLHttpRequest(); } else if (window.ActiveXObject) { // Internet Explorer sous Windows result = new ActiveXObject("Microsoft.XMLHTTP"); } } return result; } // Mettre les boutons dans l'etat initial function montrerInactivite() { document.getElementById("identifierOff").style.display = "inline"; document.getElementById("identifierOn").style.display = "none"; document.getElementById("boutonAbandonnerIdentifier").disabled = true; } // Montrer que la requete est en cours function montrerActivite() { document.getElementById("identifierOff").style.display = "none"; document.getElementById("identifierOn").style.display = "inline"; document.getElementById("boutonAbandonnerIdentifier").disabled = false; setMessage("verification de vos données"); } // Afficher un message function setMessage(msg) { document.getElementById("message").innerHTML = msg; } </script> </head> <body onload="montrerInactivite()"> <p id="cadre">Zone de connexion</p> <form action="javascript:identifier()"> <fieldset id="user"> <legend>Utilisateur</legend> <table border="0" cellspacing="0" cellpadding="2"> <tbody> <tr> <td>Identifiant</td> <td><input type="text" id="login"/></td> </tr> <tr> <td>Mot de passe</td> <td><input type="password" id="motPasse"/></td> </tr> <tr> <td colspan="2" style="text-align: center"> <button type="submit"> <span id="identifierOff">S'identifier</span> <img id="identifierOn" src="loading.gif" alt="Identification en cours ..."/> </button> <button type="button" id="boutonAbandonnerIdentifier" onclick="abandonnerIdentifier()">Annuler</button> </td> </tr> </tbody> </table> <div id="message"></div> </fieldset> </form> </body> </html>
il faut que je comprenne le fonctionnement bien entendu la partie php est de moi
Partager