Aller au contenu

Problème formulaire


Sujets conseillés

Posté

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>");
else
echo("<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!

Posté

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

Posté

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";

Posté

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... :rolleyes:

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

Posté

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>");
else
echo("<center><font color=red><br><br><br><h2>;</h2></font><br></a>");
?>

Merci pour vos réponses!

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...