recherche donné dans table sql

recherche donné dans table sql - PHP - Programmation

Marsh Posté le 19-06-2005 à 18:21:00    

Salut,  
 
voilà, j'ai un petit problème avec mon code php. [débutant]
Le but : j'ai une table avec des mot de passe. je voudrais que si le mot de passe existe dans la table, il affiche la page, sinon il affiche "mauvais code".
 
voilà mon code :
 
le code du formulaire est tout simple :
 

Code :
  1. Code d'accès : <input type="text" size="10" name="code_entre" maxlength=10 />&nbsp;&nbsp;
  2. <input type="submit" value="Valider" />


 
voici le code php (sur une autre page) :
 

Code :
  1. <?
  2. include("conf.inc.php" );
  3. // les infos de connexion à la bdd
  4. $code_entre = $_POST['code_entre'];
  5. $mysql_link = mysql_connect($host,$login,$pass);
  6. mysql_select_db($base, $mysql_link);
  7. $query1 = "SELECT * FROM matable";
  8. $mysql_result = mysql_query($query1, $mysql_link);
  9.      while($row = mysql_fetch_row($mysql_result)) {
  10.         $verifcode = $row[2];
  11.         }
  12. if($code_entre != "".$verifcode."" )
  13. {
  14.     if(isset($code_entre))
  15.     {
  16.         echo "Mauvais Code !";
  17.     }
  18.     exit;
  19.     }
  20. ?>
  21. code html de la page si le code est bon


 
 
Mon code fonctionne mais pas comme je voudrais. En fait il vérifie bien les codes dans ma bdd mais uniquement pour le premier enregistrement, il ne recherche que le code qui à l'id la plus petite.
comment faire pour qu'il recherche sur tous les codes de la table ?
 
Merci d'avance

Reply

Marsh Posté le 19-06-2005 à 18:21:00   

Reply

Marsh Posté le 19-06-2005 à 18:38:23    

ta base de donnée contien juste une table (matable) dont le champ serait "codedacces" (je ne sais pas comment tu l'as appelé)
 
donc si c le cas plutot que de faire une recherche dans toute ta table avec * tu peux mettre juste codedacces
 
$query1 = "SELECT codedacces FROM matable";
 
ensuite

Code :
  1. [...]
  2. $query1 = mysql_query($"SELECT codedacces FROM matable WHERE code='$code_entre'" ) or die(erreur);
  3. $verif = mysql_num_rows($query);
  4. if($verif === 1)
  5. {
  6. echo'code valide';
  7. }
  8. else
  9. {
  10. echo'code incorrect';
  11. }


Reply

Marsh Posté le 19-06-2005 à 20:56:49    

et pourquoi tu fais pas tout simplement un

Code :
  1. <?php
  2. $query1 = 'SELECT * FROM matable where lecode='.$verifcode ; //si le nom de champ du code dans la table est lecode
  3. //puis il suffit de compter le nombre de résultats
  4. $requete=mysql_query($query1) or die;
  5. $nbre_resultats=mysql_num_rows($requete);
  6. //si aucun résultat, le code est incorrect
  7. if ($nbre_resultats==0)
  8. {
  9.   echo "Mauvais Code !";
  10. }
  11. ?>


Message édité par Djebel1 le 20-06-2005 à 02:32:50
Reply

Marsh Posté le 19-06-2005 à 21:15:27    

et lorsque $nbre_resultats n'est pas egal a 0 que se passe t'il ?

Reply

Marsh Posté le 19-06-2005 à 23:28:46    

dans ce dernier cas rien.
 
mais tu peux faire sa
 
(je ne reprend que la fin)
 

Code :
  1. if ($nbre_resultats==0)
  2.   echo "Mauvais Code !";
  3. else
  4.    echo "Code valide !:"


 

Reply

Marsh Posté le 20-06-2005 à 02:28:30    

snarky a écrit :

et lorsque $nbre_resultats n'est pas egal a 0 que se passe t'il ?


je vais pas tout faire non plus :p

Reply

Marsh Posté le 20-06-2005 à 13:35:55    

oki oki mais en meme temps,
quand une personne débute ça peut etre sympa de lui mettre tout le code ou alors d'indiquer qu'il manque un petit bout à compléter, parce que si il s'amuse a recopier sa, il va pas comprendre pourquoi ça veut pas marcher :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed