Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2007, 22h43   #1
Invité de passage
 
Inscription : août 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 13
Points : 2
Points : 2
Par défaut Double demande de connexion d'un membre

Bonjour, je créé en ce moment un blog où plusieurs personnes auront un compte pour y poster des articles. La structure de ce site est : une page index.php, qui inclut la page menu.php et la page centrale. Le formulaire de connexion se trouve dans menu.php et le code d'ouverture de la session dans index.php. Venons-en maintenant au problème : lorsque l'on se connecte (avec les bons identifiants), le menu se réactualise en remettant le formulaire par défaut, dans aucun changement, et à ce moment là, si l'on se reconnecte avec les mêmes identifiants, le menu se retrouve dorénavant en mode "membre connecté".

Voici le code de menu.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
if(isset($_SESSION['nom'])){
	echo'<a href="">Ecrire un article</a>
	<img src="image/2euro.png" align="middle">
	<a href="">Compte</a>
	<img src="image/2euro.png" align="middle">
	<form method="post" action="#">
	<input type="submit" name="unlogin" value="Déconnecter&nbsp;'.$_SESSION['nom'].' ">
	<input type="hidden" name="unlogin" value="1">
	</form>';
}else{
	echo '<form method="post" action="#">
	<input type="text" name="pseudo" value="pseudo">
	<input type="password" name="pass" value="pass">
	<input type="submit" name="login" value="Se connecter">
	<input type="hidden" name="login" value="1">
	</form>';
}
 
?>
Et voici celui de index.php :
Code :
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
<?php
 
require('menu.php');
 
if(isset($_POST['login'])){
	extract($_POST);
	$sql="SELECT nom,pass,mail FROM euro_user WHERE nom LIKE '$pseudo' ;";
	$req=mysql_query($sql) or die ('Erreur SQL !');
	if (mysql_num_rows($req)>0){
		$data=mysql_fetch_assoc($req);
		if($pass==$data['pass']){
			$_SESSION['nom'] = $pseudo;
			$_SESSION['pass'] = $pass;
			$_SESSION['mail'] = $data['mail'];
		}
	}
}
 
 
if(isset($_POST['unlogin'])){
	$_SESSION=array();
	session_destroy();
}
 
?>
Merci d'avance pour la résolution de ce problème.
Flash38A est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 23h38   #2
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
bonsoir,

si tu ne veux plus ce problème il faut que tu inverse tes contenus.

que menu.php devienne index.php et vice versa...

++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2007, 13h05   #3
Invité de passage
 
Inscription : août 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 13
Points : 2
Points : 2
Euh... tu peux me la refaire là ?

Je vois pas trop ce que t'entends par "inverser les contenu" et par changer les noms non plus...
Flash38A est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2007, 13h24   #4
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
je la refais et en couleur^^:

si ton menu.php ressemble à ça:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
include('index.php');
if(isset($_SESSION['nom'])){
	echo'<a href="">Ecrire un article</a>
	<img src="image/2euro.png" align="middle">
	<a href="">Compte</a>
	<img src="image/2euro.png" align="middle">
	<form method="post" action="#">
	<input type="submit" name="unlogin" value="Déconnecter&nbsp;'.$_SESSION['nom'].' ">
	<input type="hidden" name="unlogin" value="1">
	</form>';
}else{
	echo '<form method="post" action="#">
	<input type="text" name="pseudo" value="pseudo">
	<input type="password" name="pass" value="pass">
	<input type="submit" name="login" value="Se connecter">
	<input type="hidden" name="login" value="1">
	</form>';
}
 
?>
et ton index.php:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
if(isset($_POST['login'])){
	extract($_POST);
	$sql="SELECT nom,pass,mail FROM euro_user WHERE nom LIKE '$pseudo' ;";
	$req=mysql_query($sql) or die ('Erreur SQL !');
	if (mysql_num_rows($req)>0){
		$data=mysql_fetch_assoc($req);
		if($pass==$data['pass']){
			$_SESSION['nom'] = $pseudo;
			$_SESSION['pass'] = $pass;
			$_SESSION['mail'] = $data['mail'];
		}
	}
}
 
 
if(isset($_POST['unlogin'])){
	$_SESSION=array();
	session_destroy();
}
 
?>
tu aura plus ton soucis...
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2007, 14h14   #5
Invité de passage
 
Inscription : août 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 13
Points : 2
Points : 2
Super, ça marche !

Merci beaucoup, je pense pas que j'aurais trouvé un truc comme ça...
Flash38A est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h27.


 
 
 
 
Partenaires

Hébergement Web