Bonjour,
Depuis hier, j'essaie de faire un site web avec une identification par session.
Je l'ai déjà fais et ça fonctionnait bien, mais là, rien ne fonctionne. J'ai un problème de variable SESSION...
Voici mon code :
Page index.php
login.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 <? session_start(); //Si nous avons le N°ID de l'utilisateur, alors il peut consulter la page if ($_SESSION['user_id']){ ?> <!-- DEBUT PAGE HTML --> ... <!-- FIN PAGE HTML --> <?php } //Sinon on affiche la page de login else{ include("login/login.php"); } ?>
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <form action="login/verification.php" method="post" name="identification" id="identification"> <span class="texte_blanc">Identification</span><br /> <input type="text" onfocus="if(this.value=='Identifiant') this.value='';" onblur="if(this.value=='') this.value='Identifiant';" value="Identifiant" class="formtext" name="login" /> <img src="spacer.gif" alt=" " width="5" height="5" border="0" /> <input type="password" class="formtext" name="password" onfocus="if(this.value=='Mot de passe') this.value='';" onblur="if(this.value=='') this.value='Mot de passe';" value="Mot de passe" /> <br /> <img src="spacer.gif" alt=" " width="5" height="5" border="0" /><br /> <input type="submit" class="bouton" value="Se connecter" /> </form>
verification.php
Avec ce code, j'ai deux problèmes :
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 <?php //connexion SQL require_once('../mysql/connexion_sql.php'); //Récupération des variables du formulaire login.php $login = $_POST["login"]; $password = md5($_POST["password"]); //SQL : vérifie si le login et mot de passe sont correctes $request_user=mysql_query("SELECT * FROM technicien WHERE login = '$login' AND password = '$password'"); //Si login et mot de passe correct if(mysql_num_rows($request_user)>0){ $res_user=mysql_fetch_assoc($request_user); $_SESSION['user_id']=$res_user['id']; $_SESSION['prenom_nom_technicien']=$res_user['prenom']." ".$res_user['nom']; $_SESSION['email']=$res_user['email']; $_SESSION['statut']=$res_user['statut']; } //Sinon afficher un message box pour dire que le login et le mot de passe sont incorrectes else{ ?> <script language="javascript" type="text/javascript"> alert( "Nom d'utilisateur ou mot de passe incorrect. Merci de réessayer." ); </script> <?php } ?>
1. une erreur sur la page index.php lorsque la variable session n'exsiste pas (la 1er fois qu'on affiche la page index.php)
Notice: Undefined index: user_id in c:\program files\easyphp1-8\www\hd\index.php on line 4
2. Lorsque que je reviens sur la page index.php, j'ai l'impression que la variable session $_SESSION['user_id'] n'exsiste pas (après le traitement de la page vérification.php).
Auriez vous une idée ?
Merci d'avance
Arnaud
P.S j'aimerai faire une redirection une fois le traitement de la page verification.php avec un header(), mais si je met le header() au début de la page, le traitement s'effectue pas et si je le met dans mes conditions, j'ai une erreur...







Répondre avec citation


Partager