Ne pas afficher les champs vides
metis15
Messages postés
507
Statut
Membre
-
metis15 Messages postés 507 Statut Membre -
metis15 Messages postés 507 Statut Membre -
Bonjour,
j'utilise le script suivant pour envoyer sur un email, mes données des champs, mais il va y avoir environ 100 champs quand j'aurai fini, dont 90 questions "boite à cocher".
Comment faire pour que les champs vides ne soient pas envoyés..?
Si possible, soyez sympa de me donner le code car je suis nullissime en codage et je n'arrive à rien juste avec les grandes lignes...(;o)))))))
envoi.php :
j'utilise le script suivant pour envoyer sur un email, mes données des champs, mais il va y avoir environ 100 champs quand j'aurai fini, dont 90 questions "boite à cocher".
Comment faire pour que les champs vides ne soient pas envoyés..?
Si possible, soyez sympa de me donner le code car je suis nullissime en codage et je n'arrive à rien juste avec les grandes lignes...(;o)))))))
envoi.php :
<?php
extract($_POST,EXTR_OVERWRITE);
if(isset($_POST['captchaResult']))
{
session_start();
$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
if($_POST['captchaResult'] === $_SESSION['captchaResult'])
{
//captcha OK on envoi le message
$msg = "Nom :\t$nom\n";
$msg .= "Adresse :\t$adresse\n";
$msg .= "E-mail :\t$email\n";
$msg .= "Téléphone :\t$telephone\n";
$msg .= "Mobile :\t$mobile\n";
$msg .= "Profession :\t$profession\n";
$msg .= "Objet :\t$textarea\n";
$msg .= "demande pour :\t$cb01\n";
$msg .= "demande pour :\t$cb02\n";
$msg .= "demande pour :\t$cb03\n";
$msg .= "demande pour :\t$cb04\n";
$msg .= "demande pour :\t$cb05\n";
$msg .= "demande pour :\t$cb06\n";
$msg .= "demande pour :\t$cb07\n";
$msg .= "demande pour :\t$cb08\n";
$msg .= "demande pour :\t$cb09\n";
$msg .= "demande pour :\t$cb10\n";
$msg .= "demande pour :\t$cb11\n";
$msg .= "demande pour :\t$cb12\n";
$msg .= "demande pour :\t$cb13\n";
$msg .= "demande pour :\t$cb14\n";
$recipient = "machin@machin.fr";
$subject = "Formulaire de rendez-vous";
$mailheaders = "From: Machin<> \n";
$mailheaders .= "Reply-To: machin@machin.fr\n";
$mailheaders .= "Bcc: machin@machin.fr\n\n";
mail($recipient, $subject, $msg, $mailheaders);
include("merci.php");
}
else
{
//captcha faux
include("erreur.php");
}
}
?>
Configuration: Windows XP Internet Explorer 6.0
1 réponse
-
Si j'ai bien compris, tu veux éviter d'envoyer les champs $cbxx qui sont vides (avec xx de 0 à 99 ?).
Donc c'est très simple, tu vas faire une boucle for sur tous les champs et tester avec un if s'il est vide ou pas. Si c'est pas le cas, tu ajoutes le champ au message.
https://www.commentcamarche.net/contents/1351-php-introduction-
Je cite : "tu veux éviter d'envoyer les champs $cbxx qui sont vides (avec xx de 0 à 99 ?). "
Oui, c'est ça.
Mais les champs en fait, sont des case à cocher.
Donc si la boite est cocher, ça envoie "oui" en face de la question, sinon, la question reste sans réponse.
Les boites sont de la forme :<input class="input_cb" type="checkbox" id="cb15" name="cb15" value="oui" /> Quetion1<br /> <input class="input_cb" type="checkbox" id="cb16" name="cb16" value="oui" /> Question2<br /> <input class="input_cb" type="checkbox" id="cb17" name="cb17" value="oui" /> Question3<br /> <input class="input_cb" type="checkbox" id="cb18" name="cb18" value="oui" /> Question4<br /> etc.
Donc là, j'ai une valeur "oui" qui est toujours présente...
Si toi ou quelqu'un avait la patience de m'écrire ce qu'il faut, ça m'arrangerait bien(;o))))))))
Mille mercis.- Tu es très sympa, mais ça fait bien 25 ans que j'essaye d'apprendre différent langage et ça s'arrête en général avant la page 10...(;o)))))
Et là, j'ai besoin de cette bidouille...
Je ne vais pas me lancer dans l'apprentissage du PHP.
Donc si une bonne âme peut m'écrire le bout de code qui va bien je prends, sinon ça restera comme ça ! (;o)))))
-