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";
}
?>

23 réponses

  • 1
  • 2
  1. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Tu l'initialises quand ton SESSION['id'] ?
    0
  2. 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
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. Utilisateur anonyme
     
    Je vérifies ca :) Merci
    0
  8. 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
  9. 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
  10. 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
  11. 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
  12. Utilisateur anonyme
     
    C'est étrange...l'ID de session ne veux que s'afficher sur ma page d'index ! Des idées ?
    0
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. Utilisateur anonyme
     
    Ce sont des liens relatifs a la racine du site, tous.
    0
  19. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    Bonsoir :)

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

    Pourquoi ?
    0
  • 1
  • 2