Probleme d'identification avec sessions PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme d'identification avec sessions PHP

par bontbont » 09 déc. 2005, 18:10

voici mon code :
$loginOK = false;     
    
    // On n'effectue les traitement qu'à la condition que les informations aient été effectivement postées
    if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['password'])) ) {
    
      extract($_POST);  

    
      // On va chercher le mot de passe afférent à ce login
      $sql = "SELECT pseudo_int, password_int FROM internaute WHERE pseudo_int = '".addslashes($pseudo)."' and compte_actif_int='oui'";
      $req = mysql_query($sql) or die('Erreur SQL !!<br> Merci de <a href="nous_contacter.php">nous contacter</a> si le problème persiste.');
      
      // On vérifie que l'utilisateur existe bien
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
        
        // On vérifie que son mot de passe est correct
        if ($password == $data['password_int']) {
          $loginOK = true;
        }
      }
    }
    
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['pseudo'] = $data['pseudo_int'];
    }
    
    ?>
    <table border="0" width="780" align="center">
           <tr>
               <td width="180" align="center">
                    <table border="0" align="left" width="180">
                           <tr>
                               <td>
                                    <?
                                    // On affiche une phrase résumant les infos sur l'utilisateur courant
                                    if (!empty($_SESSION['pseudo'])) 
                                    {
                                        $sql_nb_eval ="select nb_eval_int from internaute where pseudo_int='".$_SESSION['pseudo']."'";
                                        $req_nb_eval = mysql_query($sql_nb_eval) or die('Erreur SQL !!<br> Merci de <a href="nous_contacter.php">nous contacter</a> si le problème persiste.');
                                        $data_nb_eval = mysql_fetch_assoc($req_nb_eval); 
                                       
                                        $note = $data_nb_eval['nb_eval_int'];
                                        
                                        $pseudo = $_SESSION['pseudo'];?>
                                        
                                        <script>
                                        function logout_confirm()
                                        { 
                                           var result = confirm("Voulez-vous vraiment vous déconnecter ?");
                                           if(result == true){
                                               document.location.href="logout.php";
                                           }
                                        } 
                                        </SCRIPT> 
                                        
                                        <?echo 'Bonjour <b>'.$_SESSION['pseudo'].'</b>(<font color="red"><a href="evaluations_recues_donnees.php?pseudo='.$pseudo.'" title="Nombre d\'échanges effectués">'.$note.'</a></font>)<br />
                                             <a href="javascript:logout_confirm();" style="text-decoration:none;color:2F2FFF;"><b onmouseover="this.style.color=\'red\'" onmouseout="this.style.color=\'2F2FFF\'">se déconnecter</b></a>';
                                    } else {
                                      echo 'Personne non identifiée';
                                    <?}
                                    ?>
                               </td>
                           </tr>
                    </table>
                    </td>
              </tr>
    </table>

par zeus » 09 déc. 2005, 17:52

Montre nous le code que tu utilise pour valider l'enregistrement d'une personne

Probleme d'identification avec sessions PHP

par bontbont » 09 déc. 2005, 17:48

bonjour,

j'ai une question urgente :

je viens de mettre une ligne il y a peu mon site de petites annonces. Les gens doivent s'identifier pour poser une annonce. J'ai bien entendu utilisé des Sessions.

Après mettre identifié, une autre personne s'est aussi identifiée. J'ai actualisé ma page, et là grosse surprise je me suis retrouvé loggé avec l'identifiant de l'autre personne !!!!
C'est surement un probleme connu, si vous avez des infos je suis preneur !!

Merci à tous.