begin process at 2010 03 18 06:27:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Valeur retournée par une requete SELECT


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Valeur retournée par une requete SELECT

jeudi 24 août 2006 à 17:25:19 | Valeur retournée par une requete SELECT

omegavsnemesis

Voilà je débute en php et j'étais en train de me faire une page de login/inscription.
L'inscription marche niquel mais j'ai une question à propos du login.

l'utilisateur entre donc son login et mot de passe  et je les récupère dans des variables (tout se fait sur la meme page là)

$pseudo= htmlentities($_POST['pseudo']);
$motdepasse= htmlentities($_POST['motdepasse']);

Ensuite je me connecte à ma bdd et je rentre la requete suivante qui doit normalement donc rechercher l'enregristrement avec dans le champ pseudo le pseudo entré par l'utilisateur

$reponse=mysql_query("SELECT pseudo,mot_de_passe FROM Membres WHERE pseudo='$pseudo'");

Voilà donc ma question: si le pseudo existe pas dans la bdd, qu'est-ce que MySql va me retourner comme valeur?

En effet ma boucle fonctionne mais pas dans tous les cas, la voici:

while($donnees = mysql_fetch_array($reponse))
{
   if($donnees['mot_de_passe'] != $motdepasse)
        {
            echo '<p>Login ou mot de passe incorrect.</p>';
         }
  }
 

Si je rentre un login qui existe avec un mdp correct: rien ne s'affiche donc c'est bon
Si je rentre un login existant avec un mdp erroné, la phrase "
Login ou mot de passe incorrect" s'affiche donc c'est bon.
Par contre si je rentre un pseudo inexistant là rien ne s'affiche pk?

J'ai rajouté un

elseif
{
   echo '<p>Login et mdp corrects</p>';
}

en dessous du if de la boucle il s'affiche si je rentre les bonnes données mais si je rentre un pseudo n'existant pas il ne s'affiche pas non plus.

Donc j'aurai voulu savoir pk rien ne s'affiche dans le cas d'un pseudo n'existant pas dans la base de donnée alors que tout le reste fonctionne.

Merci.

jeudi 24 août 2006 à 17:48:43 | Re : Valeur retournée par une requete SELECT

davwart

Réponse acceptée !

salut

si tu rentres un pseudo qui n'existe pas, $donnees vaudra null (rien).
ce que tu dois faire est ceci (à la place de ton while):
if ($donnees=mysql_fetch_array($reponse, MYLSQ_ASSOC))
{
   if($donnees['mot_de_passe'] != $motdepasse)
   {
            echo '<p>Login ou mot de passe incorrect.</p>';
   }
}
else
{
    echo 'cet utilisateur n\'existe pas';
}  


personnellement je n'aime pas trop faire la différence entre un mouvais mot de passe et un mauvais login (car j'aime pas montrer qu'un login est bon), mais ce n'est qu'une question de point de vue ;)
------------------------------------- Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
jeudi 24 août 2006 à 19:37:52 | Re : Valeur retournée par une requete SELECT

omegavsnemesis

J'ai testé ta méthode, le script fonctionne très bien  mais il y a un autre problème que je comprend pas: la phrase cet utilisateur n'existe pass'affiche systématiquement au premier chargement de la page. Voilà donc tout le code php de la page:

 
<?php
  
  $pseudo= htmlentities($_POST['pseudo']);
  $motdepasse= htmlentities($_POST['motdepasse']);
  
  if(isset($pseudo))
  {
   mysql_connect("bdd", "monlogin", "mon mdp"); // Connexion à la bdd du site.
   mysql_select_db("ma bdd");
   $reponse=mysql_query("SELECT pseudo,mot_de_passe FROM Membres WHERE pseudo='$pseudo'");
   if ($donnees=mysql_fetch_array($reponse, MYSQL_ASSOC))
   {
    if($donnees['mot_de_passe'] != $motdepasse)
    {
     echo '<p>Login ou mot de passe incorrect.</p>';
    }
   }
   else
   {
    echo '<p>Login ou mot de passe incorrect.</p>';
   }
        }
  ?>

Sur l'autre version avec la boucle le isset semblait fonctionner (aucun affichage au premier lance moment de la page) mais là plus
jeudi 24 août 2006 à 20:37:29 | Re : Valeur retournée par une requete SELECT

davwart

Réponse acceptée !

essaie
if (!empty($pseudo))
à la place de ton isset ;)
------------------------------------- Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
jeudi 24 août 2006 à 20:45:04 | Re : Valeur retournée par une requete SELECT

omegavsnemesis

En effet ça marche, merci beaucoup


Cette discussion est classée dans : affiche, login, mot, rentre, pseudo


Répondre à ce message

Sujets en rapport avec ce message

EasyPhP [ par ekinoks ] Salut all !!!!j'aurais une petite question a vous poser sur easyphp :^/j'aimeré que ma base de donné qui est sur mon pc puisse étre accessible par un cookies et sql [ par lpefec ] j'ai un petit problème :j'essaie de faire un site avec des page sécurisé...je suis capable de securisé les page mais les informations de "login" ne so cookies et sql [ par lpefec ] j'ai un petit problème :j'essaie de faire un site avec des page sécurisé...je suis capable de securisé les page mais les informations de "login" ne so problème de liens [ par nnc95 ] nnc95SALUT ALL LE MONDEJ'ai un petit souci avec mon code php.Je me suis crée une page d'entrer avec login et mot de passe protection par mot de pass [ par cercleaventure ] Imaginé 5 pages : index.php, erreur.php, affiche.php, page1.php, page2.phpDans index un formulaire avec login et mot de passe qui redirige vers affich Probleme [ par jokyler ] jokylerje suis en train de faire une page d'identification composée d'un login et d'un mot de passe :Ce que je souhaite c'est que quand un des deux ch login et mot de passe [ par developvbdebut ] Bonjour tout le monde.Je suis en trein de réaliser un fichier.php qui aurais accés sur trois autres fichiers php selon le login et mot de passe.d'apre securite et cryptage [ par renaud288 ] Vu le nombre important de demande au sujet de la sécurité de mots de passe transmis, je vais faire un truc général.Bon nombre d'entre vous (les débuta formulaire et popup [ par chkerin ] Bonjour,voilà, j'ai un formulaire avec 2 champs: login et mot de passe, quand le formulaire est soumis,un popup s'ouvre et affiche le login et le mot rappel des infos [ par guev ] bonjourles membres qui remplissent un formulaire d'inscription avec : pseudo, mot de passe... recoivent apres avoir valider un mail avec les données q


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales