Aller au contenu

Problème pour créer un formulaire de contact


Sujets conseillés

Posté

Bonjour,

Voilà j'ai un petit problème pour configurer un formulaire de contact sur mon site web :blush:

Quand je test ce formulaire, je reçois bel et bien un mail, mais il est vide... je m'explique: le mail se présente sur la forme "Message de monadresse_AT_free.fr à monadresse_AT_free.fr" et le mail est vide, c'est à dire que le texte que j'avais envoyé en essai n'apparait pas; l'adresse de l'expéditeur (fictive) n'apparait pas non plus...

Voici le code que j'ai intégré sur ma pahe html:

<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Email:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Sujet:</td>
<td><input type=text name=title size=30></td></tr>
<tr><td colspan=2>Commentaires:<br>
<textarea COLS=50 ROWS=6 name=comments></textarea>
</td></tr>
</table>
<br> <input type=submit value=Envoyer> -
<input type=reset value=Annuler>
</form>
</div>

Et concernant le fichier formmail.php:

<?php
$TO = "mon adresse email";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://<ma page de remerciement>");

?>

Est- ce que par hasard il y auarit quelque chose qui cloche?

Merci d'avance pour vos précieux conseils!

Silv1

Posté

Voici comment je fais et ça marche :

  $headers  = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
$headers .= 'From: Formulaire Contact <'.$_POST['email'].'>'."\r\n";
mail("monadressemail_AT_mondomaine.com" ,$_POST['objet'] , $_POST['message'] ,$headers);

Posté

Merci Beal pour ton aide! J'ai essayé avec ton code mais ça ne marche pas non plus... Je continue à faire plein de bidouilles en espérant que ça va marcher ;)

Posté

Bonjour,

Attention toutefois à bien vérifier le contenu des variables envoyées par l'utilisateur ($_POST en l'occurrence) que tu vas utiliser dans la fonction mail. Cette partie du sujet à été traité récemment dans le sujet "Abusive Script" ;)

Bonne continuation.

**EDIT** :

Remplace ta boucle while par celle-ci :

foreach($_POST as $key => $val) {
$message .= "$key : $val\n";
}

$HTTP_POST_VARS peut être désactivé selon ta configuration PHP et de plus il est conseillé de ne plus les utiliser :

De plus, vous noterez que les anciennes variables pré-définies ($HTTP_*_VARS) existent toujours. Depuis PHP 5.0.0, les tableaux prédéfinis PHP peuvent être désactivés avec l'option de configuration register_long_arrays.
Source : Manuel PHP - Variables pré-définies
Posté

J'ai fait la manipe mais maintenant je reçois plus aucun mail :( j'ai du faire une gourde!

Bonjour,

Attention toutefois à bien vérifier le contenu des variables envoyées par l'utilisateur ($_POST en l'occurrence) que tu vas utiliser dans la fonction mail. Cette partie du sujet à été traité récemment dans le sujet "Abusive Script" ;)

Bonne continuation.

**EDIT** :

Remplace ta boucle while par celle-ci :

foreach($_POST as $key => $val) {
$message .= "$key : $val\n";
}

$HTTP_POST_VARS peut être désactivé selon ta configuration PHP et de plus il est conseillé de ne plus les utiliser :Source : Manuel PHP - Variables pré-définies

Posté (modifié)

Je ne sait pas ca me parait bizare.

dejas il faut sortir le FROM de la boucle car sinon il ce retrouve dans le message

Modifié par matheo.ml
Posté

Hello!

Finalement j'ai essayé le formulaire en php proposé par HUB Webmaster à cette adresse:

http://www.webmaster-hub.com/publication/U...e-site-web.html

Et là miracle ça marche nikel! :thumbsup: Merci HUB :)

Maintenant j'aimerai juste savoir comment intégrer ce formulaire sur une de mes pages html (car actuellement, le formulaire est sur une page contact.php). La manipe est-elle compliquée?

Merci d'avance pour vos précieux conseils :)

Silv1

Posté

en fait c'est bon j'ai trouvé tout seul :)

Pour ceux qui se posent la même question:

<?php
include "nom-du-fichier.php";
?>

Veuillez vous connecter pour commenter

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



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