Control contenu table si faux insertion
Bonsoir,
J'ai un formulaire dans lequel j'ai un champ email.
Je veux vérifié que cet email n'existe pas. Si pas d'email identique alors j'enregistre l'email. Pour cela :
<?php
//verification si email existant
mysql_select_db($database_emoi, $emoi);
$requete=mysql_query("SELECT * FROM insc_news WHERE email='$email'");
$numm=mysql_num_rows($requete);
if($email <> 0){
?>
Mais à partir de là ???
et après j'enregistre l'email
<?php
$sql_news = "INSERT INTO insc_news (email) VALUES ('$email')";
$insert = mysql_query ($sql_news);
mysql_close();
?>
Merci de votre aide
Jean-Pierre
Pourquoi ne testes tu pas la valeur de $numm ?
if ($numm == 0) tu fais l'insert.
Sinon toujours les mêmes remarques récurrentes :
- vous ne testez pas les valeurs de retour de mysql_query (tu peux avoir une erreur sql et dans ce cas la tu dois la catcher et la traiter quand mysql_query retourne false)
- vous ne vous protegez pas des injections SQL (il faut utiliser
mysql_real_escape_string pour cela).
Salut la Globule, merci pour ta réponse. J'ai des pb avec les {}, ça ne marche pas.
<?php
//insertion e-mail dans newsletter si OK
if ($recuFiscal == "E-mail")
{
//verification si email existant
mysql_select_db($database_emoi, $emoi);
$requete=mysql_query("SELECT * FROM insc_news WHERE email='$email' ");
$numm=mysql_num_rows($requete);
}
if ($numm == 0)
$sql_news = "INSERT INTO insc_news (email) VALUES ('$email')";
$insert = mysql_query ($sql_news);
mysql_close();
?>
Jean-Pierre
J'ai des pb avec les {}, ça ne marche pas.
Ben ca fonctionnerait si tu en mettais :)
Sinon toujours les mêmes remarques récurrentes :
- vous ne testez pas les valeurs de retour de mysql_query (tu peux avoir une erreur sql et dans ce cas la tu dois la catcher et la traiter quand mysql_query retourne false)
- vous ne vous protegez pas des injections SQL (il faut utiliser
mysql_real_escape_string pour cela).
Hello !
J'ai mis en application, ça marche, sauf la ligne en commentaire, il semblerait que la fonction ne marche pas avec la version php activée chez ovh. Je vais chercher sur le net une solution à moins que tu en ais une... En attendant, je fonctionne avec la ligne précédente en attendant que je trouve mieux, mais du coup m^me faille !
En attendant merci pur ton aide.
<?php
//insertion e-mail dans newsletter si OK
if ($recuFiscal == "E-mail")
{
//verification si email existant
mysql_select_db($database_emoi, $emoi);
$email_requete = $email;
//$email_requete = mysql_real_escap_string ($email);
$requete = mysql_query("SELECT * FROM insc_news WHERE email='$email_requete'");
$numm = mysql_num_rows($requete);
if ($numm == 0)
{
$sql_news = "INSERT INTO insc_news (email) VALUES ('$email_requete')";
$insert = mysql_query ($sql_news);
}
}
mysql_close();
?>
Jean-Pierre
Je me suis gourré, ce n'est pas mysql_real_escap_string mais mysql_real_escape_string.
PS : pense au BB-Code stp quand tu colles du code sur le forum... Et check tes mysql_query.
Ok je vais modifier demain je fais une pose mais plus chez moi parti en vacances mais avec mon pc pour continuer à travailler sur ce site pour une asso que nous venons de lancer pour les enfants atteints par des maladies orphelines.
Pour le BB-Code, promis je le ferai la prochaine fois.
Merci à toi.
Jean-Pierre
Jean-Pierre
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: