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 05/06/2008, 11h09   #1
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
Par défaut Paramètres d'affichage lors d'une connexion

Bonjour,
sur le site que je crée j'ai inséré un formulaire afin de s'identifier et d'avoir accès à certaine page, l'identification s'éxécute parfaitement ainsi que la vérification lors de l'accès aux page, seul problème lors de la connexion je souhaite afficher un boutton déconnexion à la place du formulaire d'identification voici le code qui je pensais allait me le faire :
Code :
1
2
3
4
5
6
7
8
9
10
<?
  if(!isset($_SESSION['login']))
  {
    echo 'affichage du formulaire';
  }
  else
  {
    echo 'affichage du boutton "déconnexion"';
  }
?>
Si quelqu'un pouvait m'aider, merci d'avance!
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h16   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Je ne situe pas très bien ton problème ? tu veux afficher un bouton ?
dans ce cas tu fais un echo d'un formualire HTML qui contient un bouton ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h20   #3
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
enfaite mon problème c'est que je veux afficher mon boutton que lorsque que je suis connecté, avec le code que j'ai reporté plus haut il ne m'affiche que le formulaire d'identification que je soit connecté ou non
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h23   #4
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
tu as bien pensé au session_start() en haut du script ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h29   #5
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
ben si je le met il me met cette erreur :
Notice: A session had already been started - ignoring session_start()
mais la session reste tout le temps ouverte jusqu'à deconnexion ou fermeture du navigateur non?
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h38   #6
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
oui , cote client mais cote serveur il faut bien que tu précise au script d'aller chercher la session en cours .

Pour contourner ton probleme , tu peux utiliser le @ ou ob_start(), tout est indiqué dans la doc
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h42   #7
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
j'ai résolu à moitié le problème, lorque je me connecte j'ai bien le bouton deconnexion qui apparait et qui fonctionne, mais lorsque que je me balade sur d'autre page mon formulaire réaparrait, en outre lorsque j'appuis sur le bouton deconnexion(qui execute un session_close()) je peut quand même accéder aux page qui sont non autorisé, mystère!
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h52   #8
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
LE meilleur conseil que je puisse te donner (sans voir ton code ^^) , c'est de bien vérifier que les sessions start soit en début de script et de faire des verifs sur le login (existence ET vérification de son contenu
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 11h59   #9
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
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
26
27
28
29
30
31
32
33
34
<?
	if(isset($_POST["connexion"]))
	{
		mysql_connect("localhost", "root", "");
		mysql_select_db("sogeto");
		if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass']))
		{
			extract($_POST);
			$sql = "select password from user where login='".$login."'";
			$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
			$data = mysql_fetch_assoc($req);
			if($data['password'] != $pass)
			{
				echo '<p><center>Mauvais login ou mot de passe<br/>Merci de recommencer</center></p>';
				exit;
			}
			else 
			{
				session_start();
				$_SESSION['login'] = $login;
				echo 'Vous etes bien logué';
			}   
		}
		else
		{
			echo '<p><center>Vous avez oublié de remplir un champ</center></p>';
			exit;
		}
	}
	if(isset($POST["deconnexion"]))
	{
		session_close();
	}
?>
Voilà ce que j'ai en début de script pour la connexion
Code :
1
2
3
4
5
6
7
8
9
10
<?
	if(!isset($_SESSION['login']))
	{
		echo '<p><br/>Login :<br/><input type="text" name="login" maxlength="250"><br/>Mot de passe :<br/><input type="password"name="pass" maxlength="10"><br/><input type="submit" value="Connexion" name="connexion"><br/></p>';
	}
	else
	{
		echo '<br/><input type="submit" value="Deconnexion" name="deconnexion"><br/>';
	}
?>
ça c'est ce que j'ai un peu plus loin pour afficher soi le formulaire ou le bouton
Code :
1
2
3
4
5
6
7
8
<?
	session_start();
	if(!isset($_SESSION['login']))
	{
		echo 'Vous n\'êtes pas autorisé à acceder à cette zone';
		exit;
	}
?>
et ça c'est ce que j'ai sur les page à restreindre.
en regardant je ne comprend pas pourquoi le formulaire réaparait en changeant de page ni pourquoi lorsque je clique sur deconnexion ça ne se déconnecte pas
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h14   #10
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
il te manque les session_start()
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h19   #11
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
au début? mais lorsque que je le fais le bouton apparai c'est ok mais je dois avoir une erreur pour la fermeture, peux tu m'éclairer?
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h30   #12
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Il te faut un session_start au début de chaque script sinon la session n'est pas reconduite sur les autres pages
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h33   #13
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
oui merci c'est bon, mais pour le boutton deconnexion session_close() n'a pas la de fonctionner...
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 13h38   #14
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
tu peux détruire le pseudo qui a dans ta session
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 13h43   #15
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
Je ne comprend pas ça ne fonctionne pas
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 15h09   #16
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
montre nous plutôt le code que tu as mis en place on pourrait mieux t'aider !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 15h19   #17
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
Dans un premier temps j'ai éssayé ça :
Code :
1
2
3
4
if(isset($POST["deconnexion"]))
{
  session_close();
}
et dans un second temps ça :
Code :
1
2
3
4
if(isset($POST["deconnexion"]))
{
  session_destroy();
}
voilà, niveaux session je suis plus que moyen mais je pensais que la fermeture se déroulais ainsi.
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 15h22   #18
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
et si tu essayais ça :
Code :
1
2
 
if(isset($_POST["deconnexion"]))
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 15h23   #19
Invité de passage
 
Inscription : juin 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 40
Points : 4
Points : 4
Ce n'est pas ce que je viens de poster?
Damou56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 15h33   #20
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
non tu as omis l'underscore
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick 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 01h55.


 
 
 
 
Partenaires

Hébergement Web