[RESOLU] Probleme de variable $_SESSION

Eléphanteau du PHP | 29 Messages

28 avr. 2014, 13:34

Bonjour,
J'ai un site, avec inscription-connexion tout ce qu'il y a de plus banal, ainsi qu'un logout.

Quand on se connecte, une variable de session se remplit afin d'afficher les infos correspondantes aux données de la variables sur la page du compte.

Quand on se déconnecte, Il y a destruction des variables et redirection vers l'index.

Sur mon index, si la personne n'est pas déconnecté, il y a un lien vers son compte avec comme texte son nom, toujours récupéré grâce à la variable de session.

Le problème c'est avec la déconnexion, car ça redirige donc sur l'index mais la variable de session n'existe plus, donc une erreur s'affiche, et disparaît quand on recharge la page.
J'aimerais donc trouver un moyen, et la cause du problème, pour que l'erreur n'apparaisse plus (sauf recharger la page à son lancement évidemment ^^)
Je ne sais pas quelle partie de mon code pourrait vous intéresser alors demandez moi :)

Merci d'avance.
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphant du PHP | 422 Messages

28 avr. 2014, 13:52

hello

l'erreur qui s'affiche ?
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphanteau du PHP | 29 Messages

28 avr. 2014, 13:59

Merci de me répondre si vite :)

Notice: Undefined index: login in F:\wamp\www\projet\index.php on line 20
Call Stack
# Time Memory Function Location
1 0.0030 150968 {main}( ) ..\index.php:0

Notice: Undefined index: login in F:\wamp\www\projet\index.php on line 24
Call Stack
# Time Memory Function Location
1 0.0030 150968 {main}( ) ..\index.php:0

En deux fois quoi
Ce sont les lignes où j'appelle la variable, la première pour la base de donnée, la deuxieme pour un test
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphanteau du PHP | 12 Messages

28 avr. 2014, 14:10

Salut !

Tu as essayé de mettre des isset ?

Du style :
<?php if( isset($maVariable) ) : ?>
      <a href="la/page/du/compte">Voir mon compte</a>
<?php endif; ?>
J'espère que ça peut t'aider ^^"

Eléphanteau du PHP | 29 Messages

28 avr. 2014, 14:13

Pas besoin de isset, j'ai déjà testé ma variable est bien détruite avec le logout grâce à unset()
C'est pour ça que j'ai l'erreur, parceque justement il n'y a rien
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphant du PHP | 422 Messages

28 avr. 2014, 14:16

hello

montre nous le code (avec les lignes ou il y a les erreurs surtout)
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphanteau du PHP | 12 Messages

28 avr. 2014, 14:18

Pas besoin de isset, j'ai déjà testé ma variable est bien détruite avec le logout grâce à unset()
C'est pour ça que j'ai l'erreur, parceque justement il n'y a rien
Justement, tu as une erreur parce que ta variable n'existe plus.

Avec le isset, tu test si tu dois afficher le bout de code qui te sort l'erreur, donc l'erreur devrait ne plus être là

Eléphanteau du PHP | 29 Messages

28 avr. 2014, 14:22

C'est bon je vois, mais le probleme c'est dès que j'utilise la variable, par exemple quand je dois utiliser ma base de donnée
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphanteau du PHP | 29 Messages

28 avr. 2014, 14:23

<?php
	session_start();
	$BDD = mysql_connect('localhost','root');
	mysql_select_db('users');
	$strSQL = 'SELECT nom,prenom FROM users WHERE login = "'.$_SESSION['login'].'"';
	$req = mysql_query($strSQL) or die('Erreur SQL !<br />'.$strSQL.'<br />'.mysql_error());
	$data = mysql_fetch_array($req);
	
	if ($_SESSION['login'] != NULL){
		//echo 'Bienvenue <a href="/projet/compte.php">'.$data['prenom'].'  '.$data['nom'].'</a>';
?>	
Bienvenue <a href="/projet/compte.php" id="header_compte"><?php echo $data['prenom'].'  '.$data['nom'];?></a>
<?php	
	
	}
		
	else if ($_SESSION['login'] = NULL){
		
		echo "";
	}
?>
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba

Eléphant du PHP | 422 Messages

28 avr. 2014, 14:33

toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphanteau du PHP | 29 Messages

29 avr. 2014, 08:56

Oui c'était bien les isset, j'ai résolu mes deux erreurs du coup.
Encore merci !
Errare humanum est, lupus et agnus, geranium begonia, para bailar la bamba