Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1690 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/SQL] Vérifier si la valeure saisie existe dans la base

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP/SQL] Vérifier si la valeure saisie existe dans la base

n°1896198
dam326
Posté le 17-06-2009 à 12:05:39  profilanswer
 

Bonjour,
Je débute. J'aurais besoin d'un petit coup de main de votre part.
 
J'expose mon problème.
 
Je voudrais inserer dans mon code la chose suivante.
Une fois que le formulaire est rempli à l'aide de mon code je transmet les informations à la base de donnée. Sauffe que je voudrais interdire de ecrire deux fois la meme chose dans la base . Je voudrais veriffier si le numéro de de tel existe deja et dans ce cas interdire la saisie et revenir au debut sur la page sur formulaire.
 
et une autre chose un peu plus compliquer: veriffier si sur une meme ligne le nom et le prénom sont identiques a ma saisie : reffuser la saisie et revenir au formulaire.
 
C'est peut etre trop vous demander mais je tente quand meme ma chance, je débute.
 
voici mon code:
 

Code :
  1. <?php
  2. header("Refresh: 3; URL=4.php" );
  3. // Parametres mysql
  4. define('DB_SERVER', 'localhost'); // serveur mysql
  5. define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
  6. define('DB_SERVER_PASSWORD', ''); // mot de passe
  7. define('DB_DATABASE', 'nom_base'); // nom de la base
  8. // Connexion au serveur mysql
  9. $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
  10. DB_SERVER_PASSWORD)
  11. or die('Impossible de se connecter : ' . mysql_error());
  12. // sélection de la base de données
  13. mysql_select_db(DB_DATABASE, $connect);
  14. $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
  15. $msg_ok = "Votre demande est enregistrée. <br /><br />
  16.   Affichage de la base dans 3 secondes ...";
  17. $message = $msg_erreur;
  18. // vérification des champs  
  19. if (empty($_POST['nom'])) {
  20.  $message .= "Votre Nom<br/>";
  21. }else{
  22.  $nom = $_POST['nom'];
  23. }
  24.  
  25.  
  26. if (empty($_POST['prenom'])) {
  27.   $message .= "Votre Prenom<br/>";
  28.   }else{
  29.   $prenom = $_POST['prenom'];
  30.  }
  31. if (empty($_POST['tel'])) {
  32.   $message .= "Votre Telephone<br/>";
  33.   }else{
  34.   $tel = $_POST['tel'];
  35.   }
  36.  
  37.  
  38. // si un champ est vide, on affiche le message d'erreur  
  39. if (strlen($message) > strlen($msg_erreur)) {
  40.   echo $message;
  41. // sinon c'est ok  
  42. } else {
  43.   foreach($_POST as $index => $valeur) {
  44.     $index = mysql_real_escape_string(trim($valeur));
  45.   }
  46. $sql = "INSERT INTO nom_table(nom, prenom,tel)
  47.  VALUES ('$nom','$prenom', $tel)";
  48.   $res = mysql_query($sql);
  49.   if ($res) {
  50.     echo $msg_ok;
  51.   } else {
  52.     echo mysql_error();
  53.   }
  54. }
  55. ?>


---------------
~Feed-Back~ // ~Site Web~
mood
Publicité
Posté le 17-06-2009 à 12:05:39  profilanswer
 

n°1896203
Yagmoth
Fanboy
Posté le 17-06-2009 à 12:13:28  profilanswer
 

Je ne suis pas tout à fait sur du script, mais il faut faire quelque chose dans ce genre, qui va compter le nombre d'occurences dans ta bdd où l'on retrouve les mêmes noms/prénoms ou le même numéro de téléphone :

 
Code :
  1. $res=mysql_query("SELECT COUNT (*) FROM nom_table WHERE tel='$tel' " );
  2. $nb=mysql_fetch_row($res);
  3. $res=mysql_query("SELECT COUNT (*) FROM nom_table WHERE prenom='$prenom' && nom='$nom' " );
  4. $nb2=mysql_fetch_row($res);
  5. if ($nb[0]==0 && $nb2[0]==0) {
  6. //ajouter l'insertion en base de donnée
  7. }
  8. else
  9. {
  10. //messages d'erreur
  11. }


Message édité par Yagmoth le 17-06-2009 à 12:14:28

---------------
L'ennemi est bête : il croit que c'est nous l'ennemi alors que c'est lui !
n°1896228
macgawel
Posté le 17-06-2009 à 13:12:36  profilanswer
 

1. J'aurais plutôt tendance à utiliser mysql_num_rows qui retourne le nombre d'enregistrements, plutôt que de faire un SELECT COUNT.
Si c'est nul, faire l'insertion, sinon envoyer le message d'erreur.
 
2. Pense à sécuriser les données envoyées par $_POST...
 
3. Tu inderdis à des homonymes de s'enregistrer  :??:  
Autant demander l'unicité le n° de tél, je veux bien, autant sur le nom+prénom...
 
[Edit]Même le numéro de tél, c'est douteux... Si Mr et Mme veulent s'inscrire tous les deux, comment on fait ?
 
 
4. A creuser :
- Dans ta base, tu définis le NUM_TEL comme unique et non nul.
- Dans le php, tu passes ta requête d'insertion.
- SI la requête est en erreur, tu récupères le numéro d'erreur et tu traites en fonction de l'erreur.


Message édité par macgawel le 17-06-2009 à 13:22:25

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/SQL] Vérifier si la valeure saisie existe dans la base

 

Sujets relatifs
SESSIONS PHPlire un fichier pdf d'une base sql server 2005 en vb6
[PHP] organisation d'un switch-case en fonction de droits[Oracle & PHP] boucle if dans while : problème
[PHP] Intégration de texte avec sauts de ligne dans une imageinser un fichier pdf dans un base SQL server 2005
PHP ou Javascript ? pour cette gallerie photos 
Plus de sujets relatifs à : [PHP/SQL] Vérifier si la valeure saisie existe dans la base


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR