Avoir un formulaire qui est envoyé avec des cases à cocher.Formulaire groupé PHP et certains ont des données supplémentaires
Certaines cases à cocher ont un champ facultatif pour entrer du texte. Comme "autre et plus d'informations"
Comment puis-je attacher les personnes de texte entrées à ces cases à cocher que cette option.
Ceci est un groupe.
<form action="sendemail.php" method="POST" name="Contact Form">
<div><input type="checkbox" class="checkbox" name="check[]" value="Word of Mouth?">Word of Mouth?</div>
<div><input type="checkbox" class="checkbox" name="check[]" value="Have you seen our Sign? Where?">Have you seen our Sign? Where?<input type="text" style="float:right; width:150px;" name="sign" /></div>
<div><input type="checkbox" class="checkbox" name="check[]" value="Other.">Other. <input type="text" style="float:right; width:300px;" name="other" /></div>
<p><input type="submit" value="Submit" name="submit"></p>
Et mon sendmail.php est comme:
<?php
if(isset($_POST['submit'])) {
$to = "[email protected]";
$subject = "Contact Form";
$firstname_field = $_POST['firstname'];
$lastname_field = $_POST['lastname'];
foreach($_POST['check'] as $value) {
$check_msg_0 .= " $value\n";
}
$body = "From: $firstname_field $lastname_field\n Learned about us from: \n $check_msg_0\n \n ";
echo "Data has been submitted to $to!";
mail($to, $subject, $body);
} else {
echo "Nope didn't work!";
}
?>
MISE À JOUR - Ont essayé recommandation mais ne fonctionnait pas. Je ne peux pas obtenir la valeur et le champ de texte ensemble.
Essayé cela mais toujours pas de résultats.
<form action="sendemail.php" method="POST" name="Contact Form">
<div><input type="checkbox" class="checkbox" name="check[]" value="Word of Mouth?">Word of Mouth?</div>
<div><input type="checkbox" class="checkbox" name="check[]" value="Other.">Other. <input type="text" style="float:right; width:300px;" name="otherwhere" /></div>
<p><input type="submit" value="Submit" name="submit"></p>
if (count($_POST['check']) > 0) {
foreach ($_POST['check'] as $value) {
if (isset($_POST['check']) && $_POST['check'] == 'Other') {
$check_msg_0 .= $value.": ".$_POST['otherwhere']."<br>";
}
else {
$check_msg_0 .= $value."<br>";
}
}
}
MISE À JOUR 2 - J'ai commencé à travailler. Changé mon nom textfield à « otherwhereTXT » et en procédant comme suit:
if (count($_POST['check']) > 0) {
foreach ($_POST['check'] as $value) {
if ($value == 'other') {
$check_msg_0 .= "Other: ".$_POST['otherwhereTXT']."<br>";
} else {
$check_msg_0 .= $value."<br>";
}
}
}
mais comment joindre l'entrée comme dans "Autre" quand il envoie l'email? – pcasa
Je l'ai mis à jour – Webnet
Cela fonctionne pour séparer les deux, mais en ont besoin en une seule pièce. J'ai mis à jour ma question avec votre recommandation. – pcasa