Marche en local, mais pas en ligne ?
Posté : 07 avr. 2005, 17:39
Re-bonjour tout le monde,
voici mon problème:
suite aux divers conseils que j'avais obtenu pour tester la présence d'une adresse mail dans une table, j'avais fait ce script (inscription à une newsletter) qui marchait très bien en local.
J'avoue que je galère pas mal, je cherche dans le manuel de reférence de mysql, mais ça ne m'aide pas beaucoup...
Pliz Help !!
voici mon problème:
suite aux divers conseils que j'avais obtenu pour tester la présence d'une adresse mail dans une table, j'avais fait ce script (inscription à une newsletter) qui marchait très bien en local.
<?php
include("Connections/distant/cnn.php");
$mail=$_POST['mail'];
$type=$_POST['type'];
$reponse=$_POST['reponse'];
// tests si les champs sont remplis correctement
if (empty($mail)) {
print("Formulaire incomplet : veuillez saisir votre adresse mail<br> <a href=\"javascript:history.go(-1)\">Retour au formulaire</a><br>");
exit;
}
if (!(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $mail)))
{
echo ("L'adresse est invalide, veuillez re-saisir votre adresse, svp<br><a href=\"javascript:history.go(-1)\">Retour à la page précédente</a><br>");
exit;
}
if (empty($type)) {
print("Formulaire incomplet : veuillez cocher une case correspondant à votre type (ex : élève...), svp<br><a href=\"javascript:history.go(-1)\">Retour à la page précédente</a><br>");
exit;
}
if (empty($reponse)) {
print("Formulaire incomplet : veuillez cocher la case 'oui' ou 'non' svp. <br><a href=\"javascript:history.go(-1)\">Retour à la page précédente</a><br>");
exit;
}
// fin des tests
// Vérification du mail pour éviter les doublons
$requete = "SELECT * FROM abonne WHERE mail='".$mail."'";
$trouve=mysql_query($requete);
if (mysql_num_rows($trouve) != 0)
{
echo "Votre adresse est déjà présente dans la base, merci de votre intérêt et à très bientôt surmonsite.com !<br><a href=\"javascript:history.go(-1)\">Retour à la page précédente</a><br>";
exit;
}
// si mail non présent
// Ajoute la nouvelle fiche
$query = "INSERT INTO abonne (mail, type, boutik)";
$query .= "VALUES('$mail','$type','$reponse')";
$result = mysql_query($query);
print("Les informations suivantes ont bien été enregistrées :<br>");
print("<b>Adresse mail : </b>".$mail."<br>"."<b>Catégorie :</b> ".$type."<br>"."<b>Voulez-vous recevoir des informations su la boutique? </b>".$reponse."<br>");
print("<br>");
print("Merci, <br>");
print("vous recevrez prochainement des informations sur toutes les activités, les évènements etc...<br>");
print("A bientôt !<br>");
mysql_close();
?>
Sauf que, en ligne, j'ai une erreur du type ligne 46 (correspond au if (mysql_num_rows..) Quelqu'un sait-il pourquoi ?mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/Xf/Xo/Xl/public/www/news_ok.php on line 46
J'avoue que je galère pas mal, je cherche dans le manuel de reférence de mysql, mais ça ne m'aide pas beaucoup...
Pliz Help !!