Titre: Formulaire à choix multiples
Posté par: timogaby27 le le 20-09-2012 a 12:39:58
Bonjour à tous,
J'ai actuellement un formulaire de contact qui fonctionne très bien, mais j'aimerais y insérer des choix multiples, j'y suis arrivé. Par contre lorsqu'on me fais une demande par ce formulaire avec plusieurs choix, je reçois qu'un choix, alors que l'internaute en a coché plusieurs. Je compte sur vous pour m'orienter. Merci beaucoup;
Voici mon code html:
<form action="formmail.php" method="post" id="formmail"> <input type=hidden name=subject value=formmail> <p><input type="text" name="nom" id="nom" /><label for="nom" class="nom">Nom</label></p> <p><input type="text" name="prenom" id="prenom" /><label for="prenom" class="prenom">Prénom</label></p> <p><input type="text" name="adresse" id="adresse" /><label for="adresse" class="adresse">Adresse</label></p> <p><input type="text" name="code_postal" id="code_postal" /><label for="code_postal" class="code_postal">Code Postal</label></p> <p><input type="text" name="ville" id="ville" /><label for="ville" class="ville">Ville</label></p> <p><input type="text" name="telephone" id="telephone" /><label for="telephone" class="telephone">Téléphone</label></p> <p><input type="text" name="email" id="email" /><label for="email" class="email">E-mail</label></p> <label for="selection" class="selection">Votre demande concerne :<br><p>Plusieurs choix possibles (Ctrl)</p></label> <select name="Nom_de_la_selection" size="2" multiple="mulitple" class="choix"> <option value="Le pack vitrine">Le pack vitrine</option> <option value="Le pack vitrine CMS" selected="selected">Le pack vitrine CMS</option> <option value="Le pack catalogue">Le pack catalogue</option> <option value="Le pack catalogue CMS">Le pack catalogue CMS</option> <option value="Le pack E-commerce">Le pack E-commerce</option> <option value="Un site E-commerce CMS">Le pack E-commerce CMS</option> <option value="Une traduction">Une traduction</option> <option value="Un service de prospection">Un service de prospection</option> <option value="Le dépannage Android">Le dépannage Android</option> </select> <label for="message" class="message">Message :</label> <textarea name="message" id="message"></textarea>
<input type="submit" name="submit" value="Envoyer" onClick="javascript: return verif();"> </form>
et mon code php (formail):
<?php $TO = "timogaby@hotmail.com";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; }
mail($TO, $subject, $message, $h);
Header("Location: http://www.tservices.fr/message.php");
?>
Merci pour vos éclairicessements!
|
Titre: Re:Formulaire à choix multiples
Posté par: raptou le le 21-09-2012 a 09:01:31
Bonjour
2 choses manquent
tu dois ajouter dans le formulaire sur le nom de ton select le fait que c'est un tableau donc <select name="mon_select[]">
Pour recuperer les valeurs coté PHP tu dois examiner le tableau ainsi $Col1_Array = $_POST['mon_select']; foreach($Col1_Array as $selectValue) { echo "<br> Choix du select est :".$selectValue; } |
Titre: Re:Formulaire à choix multiples
Posté par: timogaby27 le le 21-09-2012 a 09:07:18
Merci beaucoup pour ta réponse, le code PHP que tu m'as donné je l'intègre directement dans mon PHP existant? dois-je enlever la ligne:
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; }
Pour remplacer avec ce que tu m'as donné?
dsl je ne suis pas très calé en PHP.
|
Titre: Re:Formulaire à choix multiples
Posté par: raptou le le 21-09-2012 a 09:15:29
Tu peux mettre cela apres ton code, en fait ce bout de code ne va t'afficher que les valeurs effectivement selectionnées dans ton select multiple C'est donc juste un exmple de comment récuperer ces valeurs |
Titre: Re:Formulaire à choix multiples
Posté par: timogaby27 le le 21-09-2012 a 09:23:58
J'ai mis cela :
<label for="selection" class="selection">Votre demande concerne :<br></label> <select name="mon_select[]" size="1" multiple="MULTIPLE" class="choix"> <option value="Le pack vitrine" selected="selected">Le pack vitrine</option> <option value="Le pack vitrine CMS">Le pack vitrine CMS</option> <option value="Le pack catalogue">Le pack catalogue</option> <option value="Le pack catalogue CMS">Le pack catalogue CMS</option> <option value="Le pack E-commerce">Le pack E-commerce</option> <option value="Un site E-commerce CMS">Le pack E-commerce CMS</option> <option value="Une traduction">Une traduction</option> <option value="Un service de prospection">Un service de prospection</option> <option value="Le dépannage Android">Le dépannage Android</option> </select> <label for="message" class="message">Message :</label> <textarea name="message" id="message"></textarea>
<input type="submit" name="submit" value="Envoyer" onClick="javascript: return verif();"> </form>
Formail =
<?php $TO = "timogaby@hotmail.com";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; }
$Col1_Array = $_POST['mon_select']; foreach($Col1_Array as $selectValue) { echo "<br> Choix du select est :".$selectValue; }
mail($TO, $subject, $message, $h);
Header("Location: http://www.tservices.fr/message.php");
?>
Je reçois cela comme réponse :
subject : formmail nom : POLFLIET prenom : Timothée adresse : 45 boulevard Gambetta code_postal : 59200 ville : Tourcoing telephone : 0630788643 email : timopolfliet@gmail.com mon_select : Array message : $Col1_Array = $_POST[\'mon_select\']; foreach($Col1_Array as $selectValue) { echo \"<br> Choix du select est :\".$selectValue; } submit : Envoyer
et ce message quand j'envoie ma demande depuis le site :
Choix du select est :Le pack vitrine Choix du select est :Le pack catalogue Warning: Cannot modify header information - headers already sent by (output started at /homez.502/tservice/www/formmail.php:15) in /homez.502/tservice/www/formmail.php on line 20
J'ai du mal faire qqch.. |
Titre: Re:Formulaire à choix multiples
Posté par: raptou le le 21-09-2012 a 09:44:18
Je pense qu'il faudrait que tu te plonges un peu dans les docs PHP dispo sur le web
C'est un passage obligatoire
LA ton soucis vient du fait que tu fais des echo de tes variables et qu'ensuite tu tentes un header ( location)
Si tu cherches des docs via google la dessus, tu verrais qu'un header location ne fonctionnera que si et uniquement si aucune instruction d'affichage n'est rencontrée avant |
Titre: Re:Formulaire à choix multiples
Posté par: timogaby27 le le 21-09-2012 a 09:48:45
Ok en gros,
Si j'enlève mon header location, les choix multiples pourront être envoyées sur mon adresse mail, mais je n'aurais pas de redirection vers ma page de message qui dit que le message a bien été envoyé.
Sinon, je remet comme avant, avec un menu et une seule option possible et les gens spécifieront dans le message qu'ils veulent plusieurs choix. Et dans ce cas j'ai ma redirection pour que les utilisateurs sachent que leur message a été envoyé.
C'est bien cela?
|
Titre: Re:Formulaire à choix multiples
Posté par: raptou le le 21-09-2012 a 09:54:51
non, remplace tout simplement le echo "<br> Choix du select est :".$selectValue;
par un $message .= "<br> Choix du select est :".$selectValue;
|
Titre: Re:Formulaire à choix multiples
Posté par: timogaby27 le le 21-09-2012 a 10:00:17
C'est PARFAIT Raptou !! Je te remercie
A présent j'ai bien ma redirection qui s'affiche je peux choisir plusieurs options et en plus dans mon email je vois bien les options choisies par l'internaute
exemple :
subject : formmail nom : POLFLIET prenom : Timothée adresse : 45 boulevard Gambetta code_postal : 59200 ville : Tourcoing telephone : 0630788643 email : timopolfliet@gmail.com mon_select : Array message : Bonjour Monsieur dames submit : Envoyer <br> Choix du select est :Le pack vitrine<br> Choix du select est :Le pack vitrine CMS<br> Choix du select est :Le pack catalogue
Merci beaucoup ! Je sais qu'il faut que je me mettre au PHP sérieusement et je le ferais promis! c'est la première fois que je demande quelque chose sur un forum car je trouve toujours la réponse tout seul normalement, mais là je bloquais..
Me voilà ravi..
On peut donc clore ce topic ! Merci |
Titre: Re:Formulaire à choix multiples
Posté par: raptou le le 21-09-2012 a 10:33:11
Titre: Re:Formulaire à choix multiples
Posté par: timogaby27 le le 21-09-2012 a 10:44:42
Merci à toi aussi !!
Je ne vois pas comment fermer ce topic, ou le mettre comme "résolu" tu sais ou ca se passe? |
Titre: Re:Formulaire à choix multiples
Posté par: raptou le le 21-09-2012 a 10:56:13
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|