David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 2006
-
5 mai 2006 à 16:51
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 2006
-
9 mai 2006 à 14:37
Salut, alors mon easyphp c'est le 1.8
lorsque je clique sur 'se connecter' (qui est dans index.php), je fais $_SESSION['user']=$pseudo et je renvoie sur index2.php?pseudo=$pseudo
dans index2.php, je fais $_SESSION['pseudo']=$_GET['pseudo']; et après je vérifie comme ceci:
if($_SESSION['user']==$_SESSION['pseudo']){
...blabla
}
mais la il ne rentre pas dans la boucle, et en faisant des echo, j'ai vu que $_SESSION['user'] n'existait pas dans index2.php
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 5 mai 2006 à 17:09
ta variable user est enregistré comme variable de session. Il n'est pas nessecaire de la transmettre dans l'url. un simple SESSION['user'] la recuperera dans index2.php
.
Il faut commencer cependant ton fichier php par une instruction session_start(). Ce doit être la première ligne de code de ton fichier.
Vous n’avez pas trouvé la réponse que vous recherchez ?
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 20061 5 mai 2006 à 17:17
ça veut dire quoi ça fonctionne sur un retour POST? sinon j'ai fait juste avant un setcookie, mais je ne sait pas si le setcookie ecrit dans le header (je pense que si mais je suis pas sûr)
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 6 mai 2006 à 12:35
Salut,
Un retour POST : la page s'appelle elle même par la méthode POST.
1) la page, index.php par exemple, s'affiche pour demander les identifiants. Elle contient un formulaire dont l'action est de rappeler la page elle même par la méthode POST :
2) L'utilisateur saisit ses données personnelles puis clique sur le bouton submit()
3) La page est envoyée au serveur, et sa partie serveur (php) verifie que les identifiants sont corrects.
4) la page revient vers l'utilisateur (retour POST), pour afficher confirmation ou redemander les identifiants en cas d'erreur. Si les identifiants sont bons alors la page qui vient de se rappeler redirige l'utilisateur vers index2.php dans ton exemple (partie sécurisée du site) :
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 20061 9 mai 2006 à 10:03
ça ne marche toujours pas. pourtant c'est bete, je fais dans mon index $_SESSION['user]=$pseudo. puis, avant que je fasse la redirection, je fais un echo de $_SESSION['user'], et la il m'affiche bien le pseudo. Par contre, une fois la redirection faite, il me dit undefined index:user lorsque je fais un echo de $_SESSION['user'].
if ( $Nom && $Mdp ) { $Requete sprintf("SELECT Mdp FROM Membres WHERE Nom %s", ProtegerVariable($Nom));
$Reponse = mysql_query($Requete) or die('Erreur SQL :
'.mysql_error());
if (mysql_num_rows($Reponse) > 0) {
$Utilisateur = mysql_fetch_assoc($Reponse);
if (md5($Mdp) == $Utilisateur['Mdp'])
if ( isset($_SESSION['Nom']) ) {
$Erreur = true;
$MsgErr = "Quelqu'un est déjà connecté sous le nom de : ".$_SESSION['Nom'];
} else
$loginOK = true;
}
}
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 20061 9 mai 2006 à 11:15
j'ai compris pour cela, mais le probleme c'est que dans le fichier bonjour.php (enfin son équivalent avec mon code), moi il me dit que $_SESSION['nom'] n'existe pas!!! Et je veux le récupérer...
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 9 mai 2006 à 11:28
Il faut mettre session_start() au début de chaque fichier qui va utiliser des variables de session et verifier que cette instruction s'est bien déroulée.
Ton problème vient peut être de là.
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 9 mai 2006 à 11:59
Si tu oublies de le faire avant la redirection les variables sont perdues parce que le traitement du fichier ne va pas jusqu'au bout et l'instruction session_write_close() qui est executée normalement automatiquement à la fin du traitement n'est pas réalisée. Voili voilou.