Problème envoi de données d'un formulaire par mail

Petit nouveau ! | 5 Messages

30 mars 2014, 18:37

Bonjour à tous, je suis complètement perdu car tout fonctionnait à peu près bien lors de mes tests et cela ne fonctionne plus. Je m'explique j'ai un jeu concours qui démarre dans deux jours sur mon forum (http://forum.redseareef.fr), j'ai créé pour cela une page html qui contient des champs à remplir, case à cocher et bouton radio, cette page appelle une page form2mail.php qui jusqu'à présent m'envoyait les réponses des futurs participants, voici le code de la page :

Code : Tout sélectionner

<?php $dest1 = "[email protected]"; $dest2 = "[email protected]"; $referer= getenv("HTTP_REFERER" ); $ok=1; if($ok){ // envoi du resultat par email $sujet= "Form2Mail de ".$referer; $body.="Page d'origine : $referer\n"; $body.="\n*** Réponses aux jeu concours RedSeaReef ***\n"; if(count($_POST)){ while (list($key, $val) = each($_POST)){ $body.="$key : "; if(is_array($val)) { foreach ($val as $key => $value) { $body.= "$key / "; } } else { $body.="$val"; } $body.="\n"; } } $body.="*************************\n"; if(!mail("[email protected]",$dest1,$sujet,$body) || !mail("[email protected]",$dest2,$sujet,$body)){ print "erreur envoi email <br>"; } // affiche le html qui suit si succes ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Bravo</title></head> <body bgcolor="#99ccff"> <br> <center> <h1> Vos réponses au quizz sont bien prises en compte. Merci pour votre participation </h1> <br> <a href="http://forum.redseareef.fr"><h1>Retour</h1></a> </center> </body> </html> <?php } // affiche le html qui suit si erreur // else{ ?> <html> <head><title>Erreur de formulaire</title></head> <body bgcolor="white"> <h1> Erreur de formulaire </h1> </body> </html> <?php } ?>
J'ai mis des étoiles sur mon adresse mail pour la publication ici.
Voyez vous des erreurs ? Je ne recois plus aucun mail des tests que je fais avec l'équipe, je ne sais pas si cela vient de l'hébergeur, je ne pense pas car les mails du forum partent et arrivent bien.
Au pire mon concours étant dans 2 jours, existe t'il un code que je pourrais mettre pour compiler les réponses reçu dans un fichier texte par exemple, fichier que je pourrais récupérer sur mon serveur me permettant de traiter les réponses, ou plutôt que d'utiliser la fonction mail de mon hebergeur (ovh) de mettre un smtp d'un autre serveur (j'espère me faire comprendre)

Je suis à votre disposition et peux si il le faut rémunérer cette prestation.

Merci pour votre aide

Eléphant du PHP | 453 Messages

30 mars 2014, 19:47

Salut,

Je suis du même avis que toi à propos de l'hébergeur. Je ne pense pas que ça vienne de lui puisque tu dis que des mails du forum fonctionnent.

Par contre,
1. peux tu mettre sur le forum, le code du formulaire d'envoi ?
2. as tu essayé de faire un die juste après le $body.="*************************\n" afin de vérifier le contenu de $body ?
3. Que donne un print_r($_post) ?
4. Où est le filtrage de $_POST ? ;)
5. as tu essayé un seul envoi :

Code : Tout sélectionner

if(!mail("[email protected]",$dest1,$sujet,$body)){ print "erreur envoi email <br>"; }
<<<EDIT
6. regarde la fonction mail ;) Bien que je te donne la soluce à cet endroit, je te conseille vivement de bien lire ma 4e énumération (surtout si tu fais un traitement en base par la suite).
EDIT;
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Petit nouveau ! | 5 Messages

30 mars 2014, 20:05

Bonsoir niuxe,
j'aurais du préciser mais je suis plus que débutant en php, j'essaye petit à petit de comprendre mais je me doute que je passe à coté de choses surement évidentes. Tout cela faisant que je ne comprends pas tes commentaires, j'y vois une lueur d'espoir pour le lancement de mon concours mercredi mais comment mettre en application ce que tu me conseilles ?
Pour mettre le code du concours ici je ne préfère pas sachant qu'il est pour le moment "secret" et qu'il serait risqué pour moi de permettre à certains de mes membres d'obtenir les questions avant les autres, je peux toutefois te l'envoyer par mp.
tu as l'air de m'indiquer une erreur qui serait la soluce à mes problèmes (point 4) ? Mais je ne sais pas comment l'appliquer, idem pour la fonction mail, qu'entends tu par la ?

Je suis désolé de t'embêter avec tout cela

Edit : pour le traitement des réponses, il sera fait dans un fichier excel déja prèt et qui fonctionne bien (je suis bien meilleur en excel qu'en php malheureusement pour ce coup ci cela ne me sert pas à grand chose)
je peux paraitre désespéré dans mes écrits, c'est un peu le cas sachant que ce concours est important au vu des gains engagés pour un forum spécifique comme le miens et surtout des partenaires qui ont joué le jeu.

Eléphant du PHP | 453 Messages

30 mars 2014, 20:26

Bonsoir niuxe,
j'aurais du préciser mais je suis plus que débutant en php, j'essaye petit à petit de comprendre mais je me doute que je passe à coté de choses surement évidentes. Tout cela faisant que je ne comprends pas tes commentaires, j'y vois une lueur d'espoir pour le lancement de mon concours mercredi mais comment mettre en application ce que tu me conseilles ?
Pour mettre le code du concours ici je ne préfère pas sachant qu'il est pour le moment "secret" et qu'il serait risqué pour moi de permettre à certains de mes membres d'obtenir les questions avant les autres, je peux toutefois te l'envoyer par mp.
tu as l'air de m'indiquer une erreur qui serait la soluce à mes problèmes (point 4) ? Mais je ne sais pas comment l'appliquer, idem pour la fonction mail, qu'entends tu par la ?

Je suis désolé de t'embêter avec tout cela

Edit : pour le traitement des réponses, il sera fait dans un fichier excel déja prèt et qui fonctionne bien (je suis bien meilleur en excel qu'en php malheureusement pour ce coup ci cela ne me sert pas à grand chose)
je peux paraitre désespéré dans mes écrits, c'est un peu le cas sachant que ce concours est important au vu des gains engagés pour un forum spécifique comme le miens et surtout des partenaires qui ont joué le jeu.
Je viens de t'envoyer un mp. Contacte moi sur Skype stp.
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Eléphant du PHP | 453 Messages

30 mars 2014, 20:31

Là où je veux en venir :
4. c'est que je ne vois pas de filtrage des données (en gros, à partir du formulaire, je peux envoyer ce que je veux au serveur)
6. Lis bien la signature de la fonction et regarde ton code ;)
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Petit nouveau ! | 5 Messages

30 mars 2014, 21:47

je t'ai mp comme demandé, je ne vois toujours pas le souci sur le point 6

Eléphant du PHP | 453 Messages

30 mars 2014, 22:39

je t'ai mp comme demandé, je ne vois toujours pas le souci sur le point 6
Voilà la signature de la fonction mail de php :
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
** Cette fonction retournera un boolean qui vaudra true en cas de succès. Elle prend trois paramètres obligatoires. Les paramètres entres crochets sont optionnels.

voilà ton code :
mail("[email protected]",$dest1,$sujet,$body)
Si tu as compris où je veux en venir, tu vas maintenant utiliser des valeurs en dur (pas de variable) dans la fonction mail et tu te fais un envoie. Tu me dis si tu reçois quelque chose.

Je t'ai écris une réponse en mp à propos de ton formulaire.
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Petit nouveau ! | 5 Messages

30 mars 2014, 22:59

merci niuxe je vais regarder tout cela par contre pas de mp de ta part ?

Eléphant du PHP | 453 Messages

30 mars 2014, 23:09

oui en fait, j'ai écris après. le mp est relativement long.
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Petit nouveau ! | 5 Messages

30 mars 2014, 23:21

Pas de souci ;) et pas d'impatience de ma part rassures toi, je viens de te répondre. Merci à toi pour le temps passé à essayer de m'aider.