Serom Posté(e) le 26 février 2006 Partager Posté(e) le 26 février 2006 Bonjour: Je suis en train de crée un site pour la communauté cs:source et j'ai un bug de session. Regardez vous meme: http://avalonclub.free.fr/index.php3 Logué vous avec : login = anonyme, pass = lol Ensuite quand vous êtes logué passez de "Mes paramètre personnelles à mes controles" et la session s'en va je sait pas pourquoi. Par contre si vous naviguez dans mes contrôles elle reste. Pourtant c'est le meme systemes dans mes controles que pour passé de mes parametre personnelles à mes controles. J'ai utilisé la global $_SESSION pour mes sessions donc je vois pas ou est le probleme. Merci de m'aider et ++ PS: j'ai fait le naab je me croyais dans programmation, si un modo voulais déplacé le sujet . Ne me fouettez pas non . Désolé pour vous faire perdre votre temps Lien vers le commentaire Partager sur d’autres sites More sharing options...
Maxime0810 Posté(e) le 26 février 2006 Partager Posté(e) le 26 février 2006 Pour appeler un modo je crois qu'il faut faire comme ça : :zarb: Lien vers le commentaire Partager sur d’autres sites More sharing options...
Serom Posté(e) le 26 février 2006 Auteur Partager Posté(e) le 26 février 2006 OK :inpactpadawan: Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 26 février 2006 Partager Posté(e) le 26 février 2006 pas la peine de multiplier les panneux, je suis pas aveugle topic en mouvement Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hartycho Posté(e) le 26 février 2006 Partager Posté(e) le 26 février 2006 T'aurais pas un bout de code à montrer ? J'ai esayé et en effet la session s'enlève quand on passe à "Mes Controles". Lien vers le commentaire Partager sur d’autres sites More sharing options...
Serom Posté(e) le 26 février 2006 Auteur Partager Posté(e) le 26 février 2006 Voici la page login: <?if(isset($_POST['login'])) { $membre = addslashes($_POST['pseudo']); $passw = $_POST['pass']; $pass = md5($passw); $res = mysql_query("SELECT pass, active FROM membres WHERE login='$membre'") or die('Erreur avec la base de donnée !<br>'.$res.'<br>'.mysql_error()); $req = mysql_fetch_array($res); $active = $req['active']; if($active == 0) { echo 'Vous devez activer votre compte pour pouvoir vous loguer';} else{ if($pass != NULL && $req['pass'] == $pass) //On regarde si le password correspond {//S'il correspond c'est ok session_register("membre"); $_SESSION['membre'] = $membre; $_SESSION['pass'] = $pass; ?> <script language="javascript"> <!-- document.location.href="index.php3?page=login_controle" //--> </script> <? } else// Sinon on affiche erreur { echo ' <table border="0" width="100%"><tr><td><center><strong><font color="bb202e" size="+2">Mauvais login ou mot de passe!</font></strong><br> </td></tr></table> '; require('membre/block.php3'); }}} else{ ?> <script language="javascript"> <!-- document.location.href="index.php3?page=erreur" //--> </script> <?} ?> Le code pour identifé pour la page Mes paramètres personnelles: if(session_is_registered("membre")) { if(!isset($_POST['perso'])) { $result = mysql_query("SELECT * FROM membres where login = '$_SESSION[membre]' AND pass = '$_SESSION[pass]'") or die('Erreur avec la base de donnée !<br>'.$result.'<br>'.mysql_error()); while ($membre=mysql_fetch_array($result)) {[code...]} } else{ echo' Vous n\'avez pas le droit d\'accèder à cette page !!!'; } code de la page controle <?if(session_is_registered("membre")) { $sql = mysql_query("SELECT * FROM membres where login = '$_SESSION[membre]' and pass = '$_SESSION[pass]'") or die('Erreur avec la base de donnée !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_array($sql)) { }} else{ echo' Vous n\'avez pas le droit d\'accèder à cette page !!!'; }Entre autre les deux pages marchent, mes dans controles ca fonctionne et parametre perso ca déconne...merci et ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hartycho Posté(e) le 27 février 2006 Partager Posté(e) le 27 février 2006 Je ne suis pas un pro en php mais dans ta page des Paramètres Personnels y a ça qui me gêne : if(!isset($_POST['perso'])) { $result = mysql_query("SELECT * FROM membres where login = '$_SESSION[membre]' AND pass = '$_SESSION[pass]'") or die('Erreur avec la base de donnée !<br>'.$result.'<br>'.mysql_error()); while ($membre=mysql_fetch_array($result)) { [code...]}}Moi j'aurais plutôt fait un truc du genre : if(!isset($_POST['perso'])) { $membre=$_SESSION['membre']; $pass=$_SESSION['pass']; $result = mysql_query("SELECT * FROM membres where login = '$membre' AND pass = '$pass'") or die('Erreur avec la base de donnée !<br>'.$result.'<br>'.mysql_error()); while ($membre=mysql_fetch_array($result)) {[code...]} } C'est à dire mettre les valeurs de $_SESSION['membre'] et $_SESSION['pass'] (tu avais oublié les '' dans ton code, mauvais recopiage ou erreur dans ton code ?) dans des variables comme tu l'avais fait pour la page de login. Il y a les mêmes erreurs dans la page de contrôle. p.s: je ne suis pas sûr de mon coup, je débute en php Lien vers le commentaire Partager sur d’autres sites More sharing options...
Serom Posté(e) le 27 février 2006 Auteur Partager Posté(e) le 27 février 2006 Bah ecoute merci quand meme toutes les propositions sont ouvertes. Je vais essayé maintenant. Pour les '' faut pas les mettre dans la requete sinon ca me fait un zoli parse error merci + Je viens d'essayer: ca fait toujours le meme bug Problème résolu j'avais mis un nom de variable identique a $membre dans mon code. merci ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.