Problème simple de sessions !
Résolu
Utilisateur anonyme
-
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";
}
?>
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:
- Problème simple de sessions !
- Iphone 14 simple - Guide
- Simple pdf - Télécharger - PDF
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Simple comic - Télécharger - Vie quotidienne
23 réponses
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']));
Voici la ligne de code php sur la page d'index:
$_SESSION['id'] = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
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'] ?
par xemple, as tu mis aussi un session_start à ta page d'index ?
es tu sûr de ton $_POST['pseudo'] ?
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>
<?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>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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 :(
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é
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
parce qu'il ne faut aucun code qui soit généré avant un session_start
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">
<?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">
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
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
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à.
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)
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)