Condition case à cocher dans formulaire
16 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Condition case à cocher dans formulaire
bonjour,
j'ai un formulaire avec une case à cocher a la fin pour l'inscription à la newsletter. case à cocher =mailling valeur checkbox.
ce formulaire est régi par un vérif.php sur lequel je voudrai ajouter la condition si newsletter coché, then insert into ....
Le problème, c'est que je ne connais pas la syntaxe de la condition.
j'ai un formulaire avec une case à cocher a la fin pour l'inscription à la newsletter. case à cocher =mailling valeur checkbox.
ce formulaire est régi par un vérif.php sur lequel je voudrai ajouter la condition si newsletter coché, then insert into ....
Le problème, c'est que je ne connais pas la syntaxe de la condition.
imaginons que ta checkbox soit comme suit :
<input type="checkbox" name="maCheckbox" value="1" />
dans le tag <form... de ton formulaire, rajoutes un : onsubmit="if(!this.maCheckbox.checked) {alert('vous devez cocher maCheckbox pour bénéficier de mon merveilleux service indispensable');return false;}"
ça empechera la soumission du formulaire, coté client, ça évites un aller retour serveur.
<input type="checkbox" name="maCheckbox" value="1" />
dans le tag <form... de ton formulaire, rajoutes un : onsubmit="if(!this.maCheckbox.checked) {alert('vous devez cocher maCheckbox pour bénéficier de mon merveilleux service indispensable');return false;}"
ça empechera la soumission du formulaire, coté client, ça évites un aller retour serveur.
merci de vos réponses,
donc si j'ai bien tout saisi, mon code devrait donner :

donc si j'ai bien tout saisi, mon code devrait donner :
- Code: Tout sélectionner
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];
$point = strpos($email,".");
$aroba = strpos($email,"@");
if($point=='')
{
echo "votre email doit comporter un <b>'.'</b>";
}
elseif($aroba=='')
{
echo "Votre email doit comporter un <b>'@'</b>";
}
else
{
echo "Votre email est: '<a href=\"mailto:"."$email"."\"><b>$email</b></a>'";
}
$message = $_POST['message'];
print("<center><font color='FF0000'><font size='5'>Bonjour $prenom, merci de votre message.</font></font></center>");
onsubmit="if(!this.mailling.checked) {
$sql = "INSERT INTO contact VALUES ('', '".$nom."', '".$prenom."', '".$adresse."', '".$tel."', '".$mail."', '".$message."', now())";
;return false;}"
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
?>
Je ne vois pas trop l'utilité du javascript (qui risque en plus de créer des erreurs sur ton script actuel).
Tu envoies tes variables en POST.
Tu testes la validité de tes variables en mettant les messages d'erreur dans une variable $erreur par exemple que tu définis en $erreur = "" au début.
Pour la newsletter (case à cocher), tu fais un truc du genre :
Ensuite :
Autre point :
Tu peux vérifier l'adresse email à partir d'une expression régulière :
Tu envoies tes variables en POST.
Tu testes la validité de tes variables en mettant les messages d'erreur dans une variable $erreur par exemple que tu définis en $erreur = "" au début.
Pour la newsletter (case à cocher), tu fais un truc du genre :
- Code: Tout sélectionner
if(!isset($_POST['newsletter']) || ($_POST['newsletter'] != 1)) $erreur = "Vous devez accepter de recevoir notre newsletter";
Ensuite :
- Code: Tout sélectionner
if(!$erreur != "") echo $erreur;
else mysql_query("insert into ...");
Autre point :
Tu peux vérifier l'adresse email à partir d'une expression régulière :
- Code: Tout sélectionner
if(!ereg("^[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+@[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+\.[a-zA-Z]{2,4}$",$_POST['email'])) $erreur = "Le format de l'adresse email est invalide"
ok, je comprends mieux.
j'ai donc modifié le code pour
et du coup j'ai un message d'erreur stupide
Parse error: syntax error, unexpected '^', expecting ')' in /mnt/139/sdc/8/3/allhambra/Peter span design/verif.php on line 24
la ligne 24 étant tout simplement
je suis plus que perplexe
j'ai donc modifié le code pour
- Code: Tout sélectionner
mysql_select_db(DB_DATABASE, $connect);
$destinataire="contact@allhambra-communication.com";
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$tel = $_POST['tel'];
if(!ereg(^[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+@[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+\.[a-zA-Z]{2,4}$,$_POST['mail'])) $erreur = "Le format de l'adresse email est invalide"
if(!$erreur != "") $mail = $_POST['mail'];
echo"Votre email est: '<a href=\"mailto:"."$email"."\"><b>$email</b></a>'";
$message = $_POST['message'];
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) $erreur = "Vous devez accepter de recevoir notre newsletter";
if(!$erreur != "") echo $erreur print("<center><font color='FF0000'><font size='5'>Bonjour $prenom, merci de votre message.</font></font></center>");
else mysql_query("INSERT INTO contact VALUES ('', '".$nom."', '".$prenom."', '".$adresse."', '".$tel."', '".$mail."', '".$message."', now());
"
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
?>
et du coup j'ai un message d'erreur stupide
Parse error: syntax error, unexpected '^', expecting ')' in /mnt/139/sdc/8/3/allhambra/Peter span design/verif.php on line 24
la ligne 24 étant tout simplement
- Code: Tout sélectionner
$tel = $_POST['tel'];
je suis plus que perplexe
En fait il te manque les guillemets dans ton expression régulière de test de l'adresse email :
if(!ereg("^[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+@[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+\.[a-zA-Z]{2,4}$",$_POST['mail'])) $erreur = "Le format de l'adresse email est invalide"
ben l'optique, ce n'est pas de les obliger a accepter le mailing, mais juste de pourvoir incrémenter dans ma BDD ceux qui souhaitent la recevoir.
donc par défaut la case est décochée.
pour les guillemets, je remets ça de suite en espérant ne pas avoir d'erreur.
Merci à tous de votre participation
donc par défaut la case est décochée.
pour les guillemets, je remets ça de suite en espérant ne pas avoir d'erreur.
Merci à tous de votre participation
bon aprés retouche, le code donne
avec un beau Parse error: syntax error, unexpected T_IF in /mnt/139/sdc/8/3/allhambra/Peter span design/verif.php on line 27 !
La ligne 27 étant :
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
- Code: Tout sélectionner
mysql_select_db(DB_DATABASE, $connect);
$destinataire="moi@monfai.com";
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$tel = $_POST['tel'];
$message = $_POST['message'];
if(!ereg("^[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+@[0-9a-zA-Z]{1}[0-9a-zA-Z_\.\-]+\.[a-zA-Z]{2,4}$",
$_POST['mail'])) $erreur = "Le format de l'adresse email est invalide"
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
if(!$erreur != "") echo $erreur print("<center><font color='FF0000'><font size='5'>Bonjour $prenom, merci de votre message.</font></font></center>");
else mysql_query("INSERT INTO contact VALUES ('', '".$nom."', '".$prenom."', '".$adresse."', '".$tel."', '".$mail."', '".$message."', now());
"$res = mysql_query($sql); if ($res) {echo $msg_ok;} else {echo mysql_error();}
?>
avec un beau Parse error: syntax error, unexpected T_IF in /mnt/139/sdc/8/3/allhambra/Peter span design/verif.php on line 27 !
La ligne 27 étant :
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
- Code: Tout sélectionner
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
C'est pas ca plutot
- Code: Tout sélectionner
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) ; $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
finstreet a écrit:
- Code: Tout sélectionner
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
C'est pas ca plutot
- Code: Tout sélectionner
if(!isset($_POST['mailling']) ; ($_POST['mailling'] != 1) ; $erreur = "Si vous devez ne cochez pas la case, vous ne recevrez pas notre newsletter";
Je dirais plutôt problème de caractère de condition et parenthèse :
if(!isset($_POST['mailling']) || ($_POST['mailling'] != 1)) $erreur = "Si vous ne cochez pas la case, vous ne recevrez pas notre newsletter";
if(!isset($_POST['mailling']) || ($_POST['mailling'] != 1)) $erreur = "Si vous ne cochez pas la case, vous ne recevrez pas notre newsletter";
même rédigé commeça, j'ai toujours ce satané message
Parse error: syntax error, unexpected T_IF in /mnt/139/sdc/8/3/allhambra/verif.php on line 27
16 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Voici comment désactiver les suggestions Google (Google Suggest)
- Le positionnement d'annonces AdSense : explications
- Moteur de recherche de flux RSS / Atom
- Google ajoute la Navigation par nom dans sa Toolbar
- Mort du META tag "keywords"
- Interview de l'équipe Google AdSense
- Analyse du trafic généré par Google Maps (tracking)
- Google AdWords Editor
- Méthode LSI (Latent Semantic Indexing) et référencement
- Google Sync: Service "push" pour votre calendrier et vos contacts
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum