schats Posté 17 Décembre 2006 Posté 17 Décembre 2006 bonjours j'ai un petit problème avec les session j'ai créer un dossier espace membre donc avec des session sauf .. que je veux limiter le passage qu'au membre.... le problème c'est que le code ma bloquer tout possibilité dallez sur la page membre ou pas membre le code index.php <?phpsession_start();if( !isset($_SESSION['logged']) || $_SESSION['logged'] === false ){ exit(header('location: espace_membre/index.php'));}$id_envoyeur = $_SESSION['id'];?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title> </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <title>espace menbres</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <div id="en_tete"></div><div id="corps"><?php$_SESSION['id'] = $id;mysql_connect("sql.redby.info","","");mysql_select_db("toutetrien3");mysql_query("SELECT * FROM membres where ='".$id."'");?> <h1>l'espace menbre</h1><br/><br/> bonjour<?php echo" '".$nom."'"?> bienvenu dans votre espace menbre</div> <div id="menu"><ul><li><a href="mp.php">la messagerie</a></li><li> <a href="jeux-virtuelle.php">jeux virtuelle</a></li><li> <a href="blog.php">le blog</a> </li><li> <a href="deconnection.php"> se déconnecter</a></li></ul></div> <div id="pied_de_page"> tout droit reserver contacter <a href=maito:"GITOUNY_AT_voila.fr">le webmaster</a> </div> </body></html> le code connection <?phpsession_start();if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;require("config.inc.php");?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Bienvenue dans le menu du site</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <div id="menu"> <div class="element"> Le site Web <?php//Démarrage de la session//Ensuite on vérifie que les variables existent et contiennent quelque chose if (isset($_POST['pseudo'], $_POST['pass']) && !empty($_POST['pseudo']) && !empty($_POST['pass'])){ //Mesure de sécurité, notamment pour éviter les injections sql. $pseudo = htmlentities(addslashes($_POST['pseudo'])); $pass = htmlentities(addslashes($_POST['pass'])); //Hashage du mot de passe. $pass = md5(sha1($pass)); //Connexion à mysql. mysql_connect($host,$username,$password); mysql_select_db($bdd_name); //La requête qui compte le nombre de pseudos $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'"); //La on regarde que le nombre est différent que zéro if (mysql_result($sql,0,'nb_pseudo') != 0) { //Sélection des informations. $sql_info = mysql_query("SELECT id, confirmation, pass FROM membres WHERE pseudo='".$pseudo."'"); $donnees_info = mysql_fetch_array($sql_info); //Si le mot de passe est le même. if ($donnees_info['pass'] == $pass) { //Si le compte est confirmé. if ($donnees_info['confirmation'] == 1) { //On modifie la variable qui nous indique que le membre est connecté. $_SESSION['logged'] = true; //On créé les variables contenant des informations sur le membre. $_SESSION['id'] = $donnees_info['id']; $_SESSION['pseudo'] = $pseudo; header("location: [url="http://toutetrien.redby.info/espace_membre/index.php");"]http://toutetrien.redby.info/espace_membre/index.php");[/url] } else { echo 'Erreur : le compte n\'est pas confirmé !'; } } else { echo 'Erreur : le mot de passe est incorrect !'; } } else { echo 'Erreur : le pseudo n\'existe pas !'; } //Déconnection de mysql. mysql_close();}?> <form method="post" action="http://toutetrien.redby.info/espace_membre/index.php"> <label>Pseudo : <input type="text" name="pseudo" /></label><br/> <label>Mot de passe : <input type="password" name="pass" /></label><br/> <input type="submit" name="connexion" value="Se connecter" /><br/> </form><ul> merci de me répondre pour toute idée d'amélioration de code je suis la
Licorne Posté 17 Décembre 2006 Posté 17 Décembre 2006 Bonsoir, Voilà ce que je te conseillerais, tu ouvres la session que si ton membre s'est loggé: <?phpif ( isset($_GET['PHPSESSID']) || isset($_COOKIE[session_name()]) ) { session_start() ; } // Maintenant que le session_start est fait, on peut taper du code HTML ?>
schats Posté 17 Décembre 2006 Auteur Posté 17 Décembre 2006 mais je ne comprend pas juste pourquoi tu met un cookie ...parce j'aimerai que même celui qui n'a pas accepter les cookie . le code que tu ma donner il faut le mettre sur quelle page ??? merci de ta réponse
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant