Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aucune sauvegarde de la session de connection

Sujet résolu
    6 juin 2006 à 12:27:30

    Salut

    Dans mon site, il y a un espace mebres. Dans cet espace membres, il y a (entre autres) une page de connexion et dans cette page de connexion, il y a un formulaire contenant les champs Pseudo, Mot de Passe et une case à cocher si on veut avoir une connexion automatique. Voici le code de la page "connect.php" (contenant le formulaire) :

    <?php
                           
                                    mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données</p>');
            mysql_select_db($mysql_base);
           
    if(isset($_SESSION['login']))
    {

    $login = $_SESSION["login"];
    $resp =mysql_query("SELECT avatar FROM membres WHERE pseudo='$login'");
    $resp = mysql_fetch_array($resp);

        echo 'Bonjour </br>',$_SESSION['login'];
            echo '<p></p>';
            echo '<a href="connexion.php?action=deconnexion" class="lien">Déconnexion</a></br>
            <br><a href="changmdp.php" class="lien">Changer le mot de passe</a></br>'
    ;
            if($resp["avatar"]){
            echo '<p>Avatar :</p>';
        echo '<img src="'.$resp["avatar"].'" width=100 height=125 /> ';
    }
            else
            {
            echo '<img src="images/noavatar.gif"/> ';
            }
    }
    else
    {
    echo '<p><b>Bienvenue dans l\'espace membres.</b></p>
    <form method="post" action="connexion.php" >
            <p><label for="login">Votre login :</label><br />
            <input type="text" name="form_login" size="20" id="login" /></p>
            <p><label for="mdp">Votre mot de passe :</label><br />
            <input type="password" name="form_passe" size="20" id="mdp" /></p>
            <p><label for="chk"><input type="checkbox" name="activer_cookie" value="1" />Connexion auto</label></p>
            <p><input type="submit" value="Se connecter" />
            <input type="hidden" name="action" value="connect" /></p>
    </form>
    <p><a href="inscriptionform.php" class="lien">Inscription</a></p>
    <p><a href="searchpseudo.php" class="lien">Login perdu ?</a></p>';
    }
    ?>


    et voici le code de la page "connexion.php" :

    <?php
    session_start();
    require 'conf.php';

    if(isset($_GET['action']) AND $_GET['action']=='deconnexion')
    {
            unset($_SESSION['login']);
            session_destroy();
            header('location:index.php');
    }
    if(isset($_POST['action']) AND ($_POST['action']=='connect'))
    {
            if(get_magic_quotes_gpc()==1)
            {
                    $passe=$_POST['form_passe'];
                    $log=$_POST['form_login'];
            }
            else
            {
                    $passe=addslashes($_POST['form_passe']);
                    $log=addslashes($_POST['form_login'])
            }

            mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
            mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');


            $requete=mysql_query("SELECT pseudo,passe FROM membres WHERE active=1 AND pseudo='".$log."' AND passe='".$passe."'") OR die(mysql_error());
            mysql_close();

            if(mysql_num_rows($requete)!==0)
            {
                    if(isset($_POST['activer_cookie']))
                    {
                            setcookie('zonemembre_passe',$passe,time()+3600*24*365);
                            setcookie('zonemembre_login',$log,time()+3600*24*365);
                    }

                    $_SESSION['login']=$log;
                    header('location:index.php');
                    exit;
                    }else{
                    header('location:mauvaispass.php');
             }
           
    }
    ?>
    mais le problème, c'est que je dois me re-connecter de temps en temps (a peu près dès que je reviens sur le site) alors que j'ai coché "Connexion auto".

    Pouvez-vous m'aider SVP ?

    Merci :)

    @+
    • Partager sur Facebook
    • Partager sur Twitter
      6 juin 2006 à 12:32:03

      setcookie('zonemembre_passe',$passe,time()+3600*24*365);
                              setcookie('zonemembre_login',$log,time()+3600*24*365);


      On ne met pas de HTML avant la fonction setcookie(); :p
      • Partager sur Facebook
      • Partager sur Twitter
        6 juin 2006 à 12:34:49

        require 'conf.php';


        Qu'est-ce qu'il y a dans conf.php ?
        • Partager sur Facebook
        • Partager sur Twitter
          6 juin 2006 à 12:38:58

          mes infos de connection à la BDD
          • Partager sur Facebook
          • Partager sur Twitter

          Aucune sauvegarde de la session de connection

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown