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

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu]Verification 'variable || contenu champ table mysql'

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu]Verification 'variable || contenu champ table mysql'

n°1806105
wazaki
Posté le 29-10-2008 à 19:45:10  profilanswer
 

Bonjour, voila j'ss pas un foudre de guerre en php et j'ai un petit prob...
 
Dans le code ci dessous, (qui fonctionne), j'aimerais ajouter la possibilité de vérifier si l'email à déjà été rentré dans la table mysql. Mais je sais pas comment effectuer la requete et la comparer...
 

Code :
  1. <?php
  2. if(isset($_POST['nom']))      $nom=$_POST['nom'];
  3. else      $nom="";
  4. if(isset($_POST['email']))      $email=$_POST['email'];
  5. else      $email="";
  6. // On vérifie si les champs sont vides  
  7. if(empty($nom) OR empty($email))
  8.     {
  9.     echo '<font color="red">Attention, tout les champs sont obligatoire!</font>';
  10.     }
  11. // Aucun champ n'est vide, on peut enregistrer dans la table
  12. else   
  13.     {
  14. // connexion à la base
  15. $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
  16. // sélection de la base  
  17. mysql_select_db('cdh',$db)  or die('Erreur de selection '.mysql_error());
  18. // on écrit la requête sql
  19. // *************************
  20. $sql1 = "INSERT INTO news_email(id, nom, email, localisation) VALUES('','$nom','$email','$localisation')";
  21. // on insère les informations du formulaire dans la table
  22.    
  23. mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error());
  24.     // on affiche le résultat pour le visiteur
  25.     echo 'Vos infos on été ajoutées, vous allez être redirigé.';
  26. echo 'Si votre navigateurs ne vous redirige pas cliquez ici';
  27.     mysql_close();  // on ferme la connexion
  28.     }


 
 
j'avais pensé rajouter qlq chose comme ceci la ou est le commentaire //*****************

Code :
  1. $sql0 = "SELECT * FROM news_email WHERE email = '$email'";
  2. if($sql0 ['email'] == $email)
  3. {
  4. echo 'Cette adresse email existe déjà';
  5. }
  6. else
  7. {


 
Comment ça mon code est trop pourri, et pas securisé??? mais en attendant il fonctionne lol...
 
Voila j'attend vos conseils avec impatiente


Message édité par wazaki le 30-10-2008 à 12:49:49
mood
Publicité
Posté le 29-10-2008 à 19:45:10  profilanswer
 

n°1806120
Profil sup​primé
Posté le 29-10-2008 à 20:52:16  answer
 

Si tu ne veux pas te casser la tête avec ce genre de contrainte, tu la mets en db, c'est fait pour ça. Donc tu mets une clé unique sur e-mail et c'est réglé.
 
Maitenant si tu veux faire coté PHP comme tu le montres, fais un truc du genre :

Code :
  1. $sql0 = "SELECT 1 FROM news_email WHERE email = '$email'";
  2. $result = mysql_query($sql0);
  3. $num = mysql_num_rows($result);
  4. if($num > 0)
  5. {
  6. echo 'Cette adresse email existe déjà';
  7. }
  8. else
  9. {


mais au moins un mysql_real_escape_string sur tes 2 $_POST au dessus aussi

n°1806248
wazaki
Posté le 30-10-2008 à 11:12:25  profilanswer
 

La je sens que j'abuse, mais quel est la syntaxe pour appliquer mysql_real_escape sur mes variables $_post???
 

Code :
  1. // un truc du style:
  2. mysql_real_escape($_POST['email'])


 
ou alors je doit intégrer cela autrement???

n°1806255
dwogsi
Défaillance cérébrale...
Posté le 30-10-2008 à 11:22:14  profilanswer
 

mysql_real_escape_string()

Code :
  1. if(isset($_POST['email']))      $email=mysql_real_escape_string($_POST['email']);


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1806279
wazaki
Posté le 30-10-2008 à 11:49:55  profilanswer
 

Petit problème quand je remplace ma ligne de code par la tienne, mon programme me retourne plusieurs erreurs
Notamment il trouve les champs vide... pas normal je pense... j'me ss ptet trompé...
 
edit:  
 
trouver ca sur php.net
 
Note: Une connexion MySQL est nécessaire avant d'utiliser la fonction mysql_real_escape_string(), sinon, une erreur de niveau E_WARNING sera générée, et FALSE sera retourné. Si link_identifier  n'est pas défini, la dernière connexion MySQL est utilisée.
 
mtnt ca marche mieux lol


Message édité par wazaki le 30-10-2008 à 11:58:51

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

  [resolu]Verification 'variable || contenu champ table mysql'

 

Sujets relatifs
ACTIONSCRIPT : Problème bouton/récupération champ texte[Résolu]Débordement d'image dans pdf générer par FOP
[résolu] Problème d'accent avec FOP[Resolu] Pbm de "récupération de paramètres" avec Ajax.Request
Est-il possible de recharger le contenu d'une page HTML ?[résolu] petit script en python
[Résolu] - [Batch Dos] Probleme carateres dans resultat txtAfficher le résultat d'un formulaire dans une iframe [résolu 2FOIS]
MySQL Environnement Graphique 
Plus de sujets relatifs à : [resolu]Verification 'variable || contenu champ table mysql'


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