Aller au contenu

problème avec les session


Sujets conseillés

Posté

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

<?php
session_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



<?php


session_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

Posté

Bonsoir,

Voilà ce que je te conseillerais, tu ouvres la session que si ton membre s'est loggé:

<?php

if ( isset($_GET['PHPSESSID']) || isset($_COOKIE[session_name()]) )

{

session_start() ;

}

// Maintenant que le session_start est fait, on peut taper du code HTML

?>

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...