Bonjour,
Je tente de créer un espace administration sur un blog que je développe, mais je me retrouve face a un problème avec les sessions.
J'ai mon formulaire pour entrez le pseudo et me mot de passe dans le fichier connexion.php :
L'authentification a lieu dans authentification.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 if (! mysql_select_db($database)) { echo "Impossible de sélectionner la base de données !"; } // Definition de la fonction auth() function auth() { print"<html><body>"; print"<form name='form' method='post' action='listNews.php'>"; print"<table><tr><td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Login :</font></b>"; print"</td></tr><tr><td align='center'><input type='text' name='login' size='15'></td></tr><tr>"; print"<td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Password :</font></b></td></tr><tr>"; print"<td align='center'><input type='password' name='mot_de_passe' size='15'></td></tr><tr><td align='center'><br>"; print"<input type='submit' name='submit' value='Entrez'></td></tr></table></form>"; print"</body></html>"; exit; } if( !isset($login) && !isset($mot_de_passe) ) { // Ouverture de la fonction auth() auth(); } else { // Requete SQL $query = "Select count(*) From admin where PSEUDO = '".$login."' and MDP = '".$mot_de_passe."'"; $resultat = mysql_query($query); if($resultat != 0) { // Ici la page de redirection si l'autentification est réussie print"<script>top.location.replace('authentification.php');</script>"; } else { // Ici le message d'alerte si l'autentification n'est pas réussie print"alert('Login ou password invalide.');"; // Rappel de la fonction d'identification auth(); } } ?>
et si l'authentification est bonne, l'utilisateur est redirigé vers listNews.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 if($_POST["login"] != "" && $_POST["mot_de_passe"] != "") { $login = $_POST["login"] ; $pass = $_POST["mot_de_passe"] ; //connexion au serveur $cnx = mysql_connect($host,$pseudo,$password) ; //sélection de la base de données $db = mysql_select_db($database) ; //création de la requête SQL $sql = "SELECT * FROM admin WHERE PSEUDO= '".$login."' AND MDP= '".$pass."'" ; //exécution de la requête SQL $requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error()) ; //on récupère le résultat $result = mysql_fetch_object($requete) ; //si la requête s'est bien passée if(is_object($result)) { //enregistrement d'une variable de session, ici le login de l'utilisateur $_SESSION["login"] = $login ; header("Location: listNews.php") ; }//fin if //sinon on retourne à la page d'inscription else { header("Location: connexion.php") ; } }//fin if //sinon on retourne à la page d'inscription else { header("Location: connexion.php") ; }//fin si
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 <?php // Variables de votre base à renseigner $host = "localhost"; $pseudo = "root"; $password = ""; $database = "test"; $connection = mysql_connect($host,$pseudo,$password) or die ('Erreur Connection'); // Ouverture de la Base $select_db = mysql_select_db($database)or die ('Base inexistante'); if(!isset($_SESSION["login"]) || $_SESSION["login"] == "") { echo "Problème de connection"; //header("Location: connexion.php") ; }//fin if else { echo("<pre>") ; print_r($_SESSION) ; echo("</pre>") ; echo("Votre identifiant de session est ". $_SESSION["login"] ."<br/>") ; } ?>
Mais lorsque l'on arrive sur cette page, il s'affiche "Problème de connection" je ne comprend vraiment pas pourquoi il ne trouve pas ma variable de session.
J’espère que vous pourrez m'aidez, Merci d'avance
PS: Avant tout code pour les trois pages j'ai placé le session_start().
Partager