Envoi formulaire complexe sur email via PHP

smov6 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
 smov6 -
Salut a tous,

Cela fait maintenant 1 semaine que je cherche une solution à mon probleme.

J'ai créer un formulaire comprenant des champs texte, des boutons radio, des cases a cocher .... bref unn peut de tout ;)
Je désire envoyer les données complétées par l'utilisateur sur ma boite email, je pense que le meilleur moyen est de passer par un fichier PHP, cependant je ne trouve aucuns tutorial clair qui comporte de multiples champs a inclure dans le "body" du mail.

De plus il faut absolument que je termine ce truc le plus rapidement possible :(

Si un pro pouvait me filer un coup de pouce je lui en serait éternellemnt reconnaissant ;)
A voir également:

44 réponses

pas de pseudo
 
le fait qu'il te manque la premiere checkbox vient du fait que tu commence avec $i=1, il faut surement commencer à 0. Par contre le fait de les renommer ne changera surement rien, mais tu peux toujours essayer.
0
smov6
 
OK

tu avais raison, il faut effectivement mettre 0 au lieu de 1...

Mais pour le reste ?
0
pas de pseudo
 
si tu reprends ce code :
$body .="Quel_interet : $Quel_interet\n";
$items = 21;
for ($i = 1; $i <= $items; $i++) {
$body .= "$Quel_interet[$i], ";
}

mais dans ton formulaire tu mets une valeur par défaut (=0 par exemple) pour tes 21 Quel_interet[] et que tu mets à 1 tes valeur cochées. de cette maniere aucune de tes Quel_interet[] ne sera nulle. Peut etre que ca t'évitera Notice: Undefined offset: 6 in D:\home\Default\alsprod.com\htdocs\envoi2.php on line 34
0
smov6
 
ok, j'ai pas trop compris ton raisonnement .... oups

mes checkbox sont par défaut "désactivé" (à zero quoi), voila un exemple d'une checkbox dans mon formlaire HTML :

<input name="Quel_interet[]" type="checkbox" id="Quel_interet[]" value="Maintenance_Generale" />

je vois pas trop ou mettre zero au lieu d'une valeur nulle ??





=> MERCI pour ton aide !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pas de pseudo
 
tu peux peut etre dans un javascript sur ton formulaire tester si tes Quel_interet[] sont vides ou s'ils contiennent tes valeurs. S'ils sont vides ou nuls, essaye de leur remettte une valeur =0 de facon a ce que qd ton tableau "arrive en php, il contienne boien 21 valeurs
0
smov6
 
ouh la ca se complique la

je n'arrive pas a comprendre qu'il n'éxiste pas une syntaxe simple pour envoyer e genre de truc, ca doit etre souvent utilisé tout de meme.

Je vais réfléchir a ta solution, meme si je pense ne pas etre capable de realiser ce genre de truc en javascript...

Merki ;)
0
pas de pseudo
 
est-ce tu peux poster le code complet de ton formulaire. comme ca je pourrais tester de mon coté. Après uyne bonne nuit de sommeil, on va trouver une solution. Sinn, s'i est en ligne, files moi l'adresse.
0
smov6
 
Salut,

Pour le formulaire voici l'adresse :

http://www.alsprod.com/Enquete_version_PHP2.html

tu veux aussi le code PHP complet ?
0
pas de pseudo
 
oui, pourquoi pas ca sera plus simple.
0
smov6
 
<html>
<head>

</head>
<body>
<?
ini_set('sendmail_from', 'enquete@aol.com');
$Interet=$_POST['Interet'];
$Quel_interet=$_POST['Quel_interet'];
$appel=$_POST['appel'];
$Si_NON_Pourquoi=$_POST['Si_NON_Pourquoi'];
$autres_besoins=$_POST['autres_besoins'];
$Commentaires=$_POST['Commentaires'];
$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$societe=$_POST['societe'];
$fonction=$_POST['fonction'];
$MailTo = "jerome.smo@wanadoo.fr";
$MailSubject = "Enquete";
$Envoi = 1;


if ($Interet == ""){
echo("Merci de préciser votre interet<br>");
$Envoi = 0;
}
else {
$body= "Interet : $Interet\n";
}
$body .="Quel_interet :";
$items = 21;
for ($i = 0; $i <= $items; $i++) {
$body .= "\n$Quel_interet[$i]";
}
if ($appel == ""){
echo("Merci de préciser si vous désirez faire appel à nos service<br>");
$Envoi = 0;
}
else {
$body .= "\nappel : $appel\n";
}
$body .= "Si_NON_Pourquoi : $Si_NON_Pourquoi\n";

$body .= "autres_besoins : $autres_besoins\n";

$body .= "Commentaires : $Commentaires\n";

if ($Nom == ""){
echo("Vous n'avez renseigné votre nom.<br>");
$Envoi = 0;
}
else {
$body .= "Nom : $Nom\n";
}
if ($Prenom == ""){
echo("Vous n'avez renseigné votre prénom.<br>");
$Envoi = 0;
}
else {
$body .= "Prenom : $Prenom\n";
}
if ($societe == ""){
echo("Vous n'avez renseigné le nom de votre société.<br>");
$Envoi = 0;
}
else {
$body .= "Societe : $societe\n";
}
if ($fonction == ""){
echo("Vous n'avez renseigné votre fonction.<br>");
$Envoi = 0;
}
else {
$body .= "Fonction : $fonction\n";
}
if ($Envoi == 0) {
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
}


if ($Envoi == 1) {
echo("<p><strong>Etes vous intéressé ? <font color=\"#0000FF\">$Interet</font>\n");
echo("<br>Quand pourriez-vous faire appel a nos services ? <font color=\"#0000FF\">$appel</font>\n");
echo("<br>Si non pourquoi ? <font color=\"#0000FF\">$Si_NON_Pourquoi</font>\n");
echo("<br>Auriez vous d'autres besoins ? <font color=\"#0000FF\">$autres_besoins</font>\n");
echo("<br>Quelques commentaires ? <font color=\"#0000FF\">$Commentaires</font>\n");
echo("<br>Nom : <font color=\"#0000FF\">$Nom</font>\n");
echo("<br>Prénom : <font color=\"#0000FF\">$Prenom</font>\n");
echo("<br>Société : <font color=\"#0000FF\">$societe</font>\n");
echo("<br>Fonction : <font color=\"#0000FF\">$fonction</font>\n");
echo("<p> </p>");
mail($MailTo, $MailSubject, $body);
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"index.htm\">Retour</strong></a></p>");
}
?>
</body>
</html>
0
pas de pseudo
 
je sens que tu va pas aimer, mais tes scripts marche très bien (à part les mails que je n'ai pas recu). j'ai fait :
echo($body);
juste avant l'envoi du mail en local sur easyphp. ca marche je l'ai mis également sur un site qui me sert à faire des test :
http://membres.lycos.fr/jeanmarieperso/jerome/Enquete.htm

ca marche bien aussi. tu constatera que je n'ai que les option cochées et pas d'erreur. A mon avis, il faut que tu vois ce probleme avec ton hebergeur
0
smov6
 
OK ...

merci beaucoup pour ton aide :)
Je vais contacter la personne qui s'occupe de l'hébergement de mon site.

Encore une fois, mille merci :)
0
smov6
 
Je viens de trouver cet hébergeur apparemment gratuit avec PHP...

Le connais-tu ?

Tu pense que cela pourrais aller pour mon formulaire ?
0
pas de pseudo
 
apparement tu as oublié le nom de l'hebergeur
0
smov6
 
oups .... lol

le voila => http://www.pages-wp.fr/

je me suis inscrit mais au moment de recevoir le mail, ca a visiblement "déconné" pfff
0
pas de pseudo
 
Non, je ne les connais. Au niveau pro, je n'ai jamais bossé sur des hebergement gratuit. Du coté perso, j' ai un compte sur multimania pour "m'amuser" mais il sont pénible avec leur pub. désolé, mais pour ca, je ne pourrai pas t'aider.

Bon courage et au plaisir
0
smov6
 
Merci quand même ;)
0
smov6
 
Une dernièrer question (enfin j'espère lol)

I me faut du PHP4 ou 5 ou on ça n'est pas important ... ?
0
pas de pseudo
 
apparement, vu les fonctions que tu utilise le 4 est suffisant. D'ailleur sur multimainia je suis en 4 et ca marche ...
0
smov6
 
MEEEEEEEEEEEEEEEEEERRRRCCCCIIIIIIIIIIIIIIIIIIIIIIIIIIII ;)
0
smov6
 
Effectivement,


j'ai ouvert un compte Multimania pour tester la chose, j'ai hébergé seulement mon fichier php dessu et effectivement, il n'y a aucune erreurs mais je ne recoit pas le mail :(
0