loïc44 Posté 14 Décembre 2006 Posté 14 Décembre 2006 Bonjour, Je rencontre une difficultée à la fin de la création de mon site web Créaternet En effet, je m'aperçois que je ne reçois pas les données saisies sur mon formulaire par les internautes. Je suis hebergé chez ovh, formule 60gp, et la version de mysql est mysql5-1 mon formulaire donne: <form name='formulaire' action='traitement.php' method='post'><table><th>Formulaire de contact</th><tr><td>Votre nom : </td><td><input name='nom' type='text' size='50'></td></tr><tr><td>Votre prénom : </td><td><input name='prenom' type='text' size='50'></td></tr><tr><td>Votre email</td><td><input name='email' type='text' size='50'></td></tr><tr> <td>Votre message concerne: </td><td><input name='sujet' type='radio' value='renseignement'>Site web <br><input name='sujet' type='radio' value='probleme technique'> Blog <br><input name='sujet' type='radio' value='partenariat'>Logo<br><input name='sujet' type='radio' value='partenariat'> Autre</td></tr><tr><td>Votre message</td><td><textarea name='texte' cols='50' rows='20'></textarea></td></tr><tr><td><input name='annuler' type='reset' value='Annuler'></td><td><input name='soumettre' type='submit' value='Envoyer'></td></tr></table></form> Côté php cela donne: <?$adresse="postmaster_AT_creaternet.com";$from="From: $prenom $nom<$email>\r\n";$from.="Reply-To: $prenom $nom <$email>\n";$from.="X-priority:3\n";$texte=utf8_decode($_POST['texte']);$from.="MIME-Version: 1.0\r\n";$from.="Content-Type: text/html";if (mail($adresse,$sujet,$texte,$from))echo("<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br></center>");elseecho("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$alex\">classiquement</a>");?> J'avoue que je suis arrivé à ce stade grâce à d'innombrable recherche, mais là je bloc ! Pensez-vous que mon code soit valide? merci de vos réponses!
Portekoi Posté 14 Décembre 2006 Posté 14 Décembre 2006 Bonjour, Il doit manquer un bout car je ne vois pas l'appel à la fonction mail. Déjà, en haut de ton traitement, si tu fais un "echo $_POST["texte"];", est ce que cela affiche le texte saisie? Portekoi
loïc44 Posté 14 Décembre 2006 Auteur Posté 14 Décembre 2006 Bonjour POrtekoi, Que veux-tu dire quand tu dis: Il doit manquer un bout car je ne vois pas l'appel à la fonction mail. D'après toi c'est dans la page html (form...) qu'il manque quelque chose? ce n'est pas ça la fonction mail? : <?$adresse="postmaster_AT_creaternet.com";
Portekoi Posté 14 Décembre 2006 Posté 14 Décembre 2006 Ah non pas du tout... la tu dis à ton script : "La variable $adresse = "postmaster_AT_creaternet.com";" Donc, je te conseille d'aller voir ici pour comprendre la fonction mail : http://www.vulgarisation-informatique.com/mail.php Bon courage et fait des tests Portekoi
loïc44 Posté 14 Décembre 2006 Auteur Posté 14 Décembre 2006 Bon, après avoir passé TOUTE une journée entière devant le pc à essayer de trouver le pourquoi du comment, je n'arrive toujours pas à comprendre pourquoi mon formulaire de contact ne fonctionne pas (j'ai bien été voir ton lien Portekoi) Je vous donne le lien de mon formulaire là où j'ai mis la mise en place du (form): Formulaire de contact Je peux mettre le code si vous voulez mais j'ai peur que ça prenne une peu de place... Ensuite j'ai bien compris qu'il fallai créer une autre page (celle-ci en php): page de confirmation Mon problème, c'est que je ne reçois pas d'email ! Et j'aimerai savoir si je me suis tromper ou pas dans l'insertion de mon adresse email dans le code Je desespère....merci de me répondre
captain_torche Posté 14 Décembre 2006 Posté 14 Décembre 2006 Tu peux très bien poster ton code (sans quoi on aura du mal à te répondre), en prenant soin de le mettre entre les balises CODEBOX.
loïc44 Posté 14 Décembre 2006 Auteur Posté 14 Décembre 2006 Bonjour Captain torche! alors, dans la feuille html: <form name='formulaire' action='traitement.php' method='post'><table><th>Formulaire de contact</th><tr><td>Votre nom : </td><td><input name='nom' type='text' size='50'></td></tr><tr><td>Votre prénom : </td><td><input name='prenom' type='text' size='50'></td></tr><tr><td>Votre email</td><td><input name='email' type='text' size='50'></td></tr><tr> <td>Votre message concerne: </td><td><input name='sujet' type='radio' value='renseignement'>Site web <br><input name='sujet' type='radio' value='probleme technique'>Blog <br><input name='sujet' type='radio' value='partenariat'>Logo<br><input name='sujet' type='radio' value='partenariat'>Autre</td></tr><tr><td>Votre message</td><td><textarea name='texte' cols='50' rows='20'></textarea></td></tr><tr><td><input name='annuler' type='reset' value='Annuler'></td><td><input name='soumettre' type='submit' value='Envoyer'></td></tr></table></form> et sur la page php, cela donne: <?$mail="postmaster_AT_creaternet.com";$from="From: $prenom $nom<$email>\r\n";$from.="Reply-To: $prenom $nom <$email>\n";$from.="X-priority:3\n";$texte=utf8_decode($_POST['texte']);$from.="MIME-Version: 1.0\r\n";$from.="Content-Type: text/html";if (mail($adresse,$sujet,$texte,$from))echo("<center><font color=green><br><br><br><h2></h2></font><br></center>");elseecho("<center><font color=red><br><br><br><h2>;</h2></font><br></a>");?> Merci pour vos réponses!
Portekoi Posté 15 Décembre 2006 Posté 15 Décembre 2006 Bonsoir, Créé une nouvelle page PHP et mets ceci : <?php$headers ='From: "nom"<adresse@fai.fr>'."n";$headers .='Reply-To: adresse_de_reponse@fai.fr'."n";$headers .='Content-Type: text/html; charset="iso-8859-1"'."n";$headers .='Content-Transfer-Encoding: 8bit';$message ='<html><head><title></title></head><body><p>Un message de test</p></body></html>';if(mail('adresse_du_destinataire@fai.fr','Sujet',$message,$headers)){//Message envoyé}?> Ensuite, tu remplaces le $message par $_POST['texte'] et adresse_du_destinataire@fai.fr par ton adresse mail. Et tu verras que cela fonctionnera Portekoi
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant