Problème simple de sessions !

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour à tous,

Voila mon problème est simple. J'ai crée une base de données avec des utilisateurs ainsi qu'un espace de connexion sur l'index de mon site. Le but étant que seule la page d'accueil soit visible en "non-connecté".

J'ai donc appliqué un code sur les autres pages afin d'utiliser les sessions pour voir les pages. Un visiteur ne doit pas pouvoir ces pages. Voici mon code, si vous pouviez m'aider rapidement ;)

Merci d'avance !

<?php
session_start();
if (isset($_SESSION['id'])) {
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head >
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="robots" content="noindex, nofollow"/>
<meta name="Googlebot" content="nofollow">
<link rel="shortcut icon" href="icone.png" type="image/png" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />

<title>titre</title>
</head>

<body>

<div id="corpus"><br/>
 <ul class="navigation">
<li class="current"><a href="index.php"><em class="home"></em><b>Accueil</b></a></li>
<li><a href="blog.html"><em class="shop"></em><b>Les News</b></a></li>
<li><a href="access.html"><em class="templates"></em><b>Demande d'Acces</b></a></li>
<li><a href="ftp.html"><em class="psd"></em><b>Comment Faire</b></a></li>
<li><a href="allow.html"><em class="tutorials"></em><b>Regles</b></a></li>
</ul>

Contenu de la page ...

</div>
<div id="footer"> </div>

</body>
</html>

<?php
}
else
{
echo "Vous devez vous connecter";
}
?>
A voir également:

23 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Tu l'initialises quand ton SESSION['id'] ?
0
Utilisateur anonyme
 
Sur ma page d'index.

Voici la ligne de code php sur la page d'index:

$_SESSION['id'] = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu on peut pas en avoir un peu plus ?
par xemple, as tu mis aussi un session_start à ta page d'index ?
es tu sûr de ton $_POST['pseudo'] ?
0
Utilisateur anonyme
 
Voici le code php complet alors, pardonnez moi :s

<?php
session_start();

//Deco !
if($_GET['act'] == 1)
{
session_destroy();

}
//Connexion
if(isset($_POST['pseudo']) AND isset($_POST['mdp']))
{
mysql_connect("...."); // Connexion à MySQL
mysql_select_db("...."); // Sélection de la base

$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM ... WHERE pseudo='" . mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])) . "' AND mdp='" . mysql_real_escape_string(htmlspecialchars($_POST['mdp'])) . "'");
$donnees = mysql_fetch_array($retour);


if($donnees['nbre_entrees'] == 1)
{
$_SESSION['id'] = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
}
else
{
echo "Erreur !";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">

</head>

<body>
<div id="corpus"><br/>
 
<ul class="navigation">

</ul><br/>
<?php if(isset($_SESSION['id']))
{
echo "Vous êtes connecté en tant que " . $_SESSION['id'] . " (<a href='?act=1'>Logout</a>) ";
}
else
{
?>
<form method="post" style="float:right;">
Login:
<input type="text" name="pseudo"/> 
Password :
<input type="text" name="mdp"/>
<input type="submit" value="Se connecter"></form>
<?php
}
?>
<br/><br/><br/>
contenu
<br/>
</div>
<div id="footer"> </div>


</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu
ton session_destroy ne s'enclenche pas tout de même ?
sinon ca va pas marcher ^^
0
Utilisateur anonyme
 
Je vérifies ca :) Merci
0
Utilisateur anonyme
 
Non ca ne change rien si je supprime ca ;)

Je pense que c'est utilisé pour la deconnexion.
(C'est un ami qui a codé cette partie et il m'a donné un code pour sécuriser la page mais ca ne fonctionne pas :( )

PS: j'ai vérifié le session_destroy...il est utilisé en effet pour la deconnexion. On ne peut pas se deconnecter sans.
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Et donc, dans ta page, t'as pas le "Vous êtes connecté en tant que " qui est affiché ?
0
Utilisateur anonyme
 
Si bien sur je l'ai. Mais le problème ce sont les autres pages que je n'arrive pas a protéger avec le code que j'ai mis dans mon 1er post :(
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
essayes de faire un echo session_id() après chacun de tes session_start, et regarde si c'est bien la même chose qui est affiché
0
Utilisateur anonyme
 
C'est étrange...l'ID de session ne veux que s'afficher sur ma page d'index ! Des idées ?
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
tes session_start sont ils tous tout en haut de tes pages ?
parce qu'il ne faut aucun code qui soit généré avant un session_start
0
Utilisateur anonyme
 
TOUT mes débuts de page se structurent ainsi :'(

<?php
session_start();
echo session_id();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben là dsl mais jvois vraiment pas :O

tu dis que l'id de session de s'affiche pas ?
pourtant après un session_start(), yen a forcément un, parce que si ya pas de session, le session_start en créé une :O
0
Utilisateur anonyme
 
Pourtant il n'y a rien et j'ai essayer l'echo partout dans le fichier, même parmi le texte. Rien. J'ai vraiment besoin d'aide là.
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Tu es bien toujours dans le même domaine pour toutes tes pages ?
tes liens sont absolus ou relatifs ? (meme si que ce soit l'un ou l'autre, il devrait y avoir quand meme un id de session :S)
0
Utilisateur anonyme
 
UP
0
Utilisateur anonyme
 
Ce sont des liens relatifs a la racine du site, tous.
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
Bonsoir :)

Tu serais pas chez free par hasard ??
0
Utilisateur anonyme
 
Hébergeur personnel ;)

Pourquoi ?
0