Bonjour a tous,
voila, ca fait un moment que je bloque sur un probleme qui semble assez evident pourtant.
J'ai bien lut l'exemple des tuto ajax qui explique comment faire une liste liée...
Moi j'ouvre à l'aide de la method GET des page web dans des div de ma page principale.
Une de ces div contient un module de login et inscription.
voici la page login.html
et la page de traitement php qui marche bien quand j'utilise un formulaire bidon. Le probleme est de l'envoyer dans la div de mon choix, et c'est pour ca que j'utilise de l'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
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 <html> <head> <title>login</title> <!--liaison au fichier comprenant les fonctions ajax--> <script language="javascript" type="text/javascript" src="ajax.js"></script> <!-- script complementaire--> <script language="javascript" type="text/javascript"> function login () { var xhr = newXHRObject(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('main').innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","login.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, login sellogin = document.getElementById('login'); login = sellogin.options[sellogin.selectedIndex].value; // ici, et mdp selmdp = document.getElementById('mdp'); mdp = selmdp.options[selmdp.selectedIndex].value; //enfin ce qui est envoyé est ceci xhr.send("login="+login+"&mdp="+mdp); } </script> <body> <p align="left"> <form method="POST" action="login.php"> <input type="text" name= "login" id="login" value="Identifiant" /> <BR> <input type="password" name="mdp" id="mdp" value="password" /><BR> <input type="submit" value="OK"/> </form> </p> <p align="left"> version avec ajax renvoie dans main <input type="text" name= "login" id="login" value="Identifiant" /> <BR> <input type="password" name="mdp" id="mdp" value="password" /><BR> <input type="button" onclick="login()" value="OK"/> </p> </body> </html>
login.php
De l'aide SVP
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 <?php session_start(); $login=$_POST['login']; $mdp=$_POST['mdp']; //Il faut tester si les valeur sont non nulles si renvoi 1 il faut revenir sur une page d'erreur qui permet aussi de s'enregistrer if(isset($login) and isset($mdp)) { echo 'vous avez bien remplit un formulaire bidon. '; } else {echo'vous etes trop con';} //Il faut ecrire une recherche dans la base de donnée // VARIABLES DE CONNEXION $host = 'localhost'; // Votre identifiant $user = '**********'; // Votre identifant base de donnée $mdp_DB = ''; // Votre mot de passe bade de donnée $base = '*********'; // Nom de botre base $table = 'user'; // Nom de votre table // ON SE CONNECTE ET ON SELECTIONNE LA BASE mysql_connect($host, $user, $mdp_DB) or die("Impossible de se connecter au serveur ".$host); mysql_select_db($base) or die("Impossible de se connecter a la DB ".$base); // ON VERIFIE SI LE PSEUDO EST DANS LA TABLE $sql = "SELECT mdp, niveau, mail FROM ".$table." WHERE login = '".$login."'"; $res = mysql_query($sql); $alors = mysql_fetch_assoc($res); $mdp_de_la_DB = $alors['mdp']; $niv=$alors['niveau']; $mail=$alors['mail']; // ON VERIFIE QUE LE LOGIN EXISTE if($alors==0) {echo 'ce login est introuvable'; session_destroy();} else { if($mdp==$mdp_de_la_DB) { echo 'Vous etes admis au paradis. '; //On peut sauvegarder les variables de session $_SESSION['login']=$login; $_SESSION['permission']=$niv; $_SESSION['mail']=$mail; echo '<h2>Bienvenue</h2>Vos variables de session sont '.$_SESSION['login'].' '.$_SESSION['mail'].' niveau de permission: '.$_SESSION['permission']; }} // on ferme la connexion à mysql mysql_close(); //maintenant, suivant leniveau depermission on renvoie un menu de lien spécifique au membre. echo'page chargée'; if ($niv>1) {echo 'Je suis membre';} if ($niv>2) {echo'je suis reporter';} if($niv>3) {echo'j\'ai l\'accés modo';} if($niv==7) {echo'je suis dieu, l\'admin';} ?>
Partager