Formulaire de contact

duxitto Messages postés 275 Statut Membre -  
 Utilisateur anonyme -
Bonjour,
après presque 5 scripts déjà essayé, je commence a devenir fou, le formulaire de contact sur mon site internet ne marche pas :( et j'ai tout essayé.
voila le dernier script que j'utilise , SVP un peu d'aide
ps: l'hébergeur ne bloque pas la fonction mail()

le page html


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>



<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Pseudo:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Site/blog*:</td>
<td><input type=text name=site size=30></td></tr>
<tr><td>Veut tu recevoir les news du site:</td>
<td><input type=text name=news size=30></td></tr>
<tr><td>Veut tu recevoir des offres partenaire²:</td>
<td><input type=text name=site size=30></td></tr>
<tr><td>Votre Email:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Sujet ( Contact/histoire/dessins/.....):</td>
<td><input type=text name=title size=30></td></tr>
<tr><td colspan=2>Votre message:<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> 
</body>
</html>

et voila la page en php



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>


<?php
$TO = "moi@hotmail.com";

$h = "From: " . $TO;

$message = "";

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

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

Header("Location: http://monsite.com/index.html");

?>
</body>
</html>

9 réponses

Nico_ Messages postés 1302 Statut Membre 189
 
bonsoir,

voici un générateur qui fonctionne : http://infoxp.leobaillard.org/formulaire/

bonne soirée
0
djflexlive Messages postés 577 Statut Membre 95
 
Déjà plusieurs soucis :

Niveau syntaxique, même si ca fonctionne peut etre :
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>

Tu oublies tout les " nécessaires ... <form method="post" action="formmail.php"> , ... et c'est partout pareil .

2) Header("Location: http://monsite.com/index.html"); ne peut pas se placer si du code html est déjà envoyé sur la page . Tu as les entêtes de la page déjà envoyé, ca va générer une erreur.

3) Ta var $subject est définie nulle part ?

4) vire le header location et fais un echo $message avant tout pour voir si tu récupères bien ce qu'il te faut.

0
bg62 Messages postés 26248 Date d'inscription   Statut Modérateur Dernière intervention   2 426
 
si tu ne t'en sors pas essaie celui-ci :
générateur de formulaire
normalement aucun problème ...
@+
0
duxitto Messages postés 275 Statut Membre 1
 
Bonjour, merci pour ta réponse, au fait c'est la faute de mon hébergeur, qui, comme mesure de protection contre le spamming n'accepte que les adresses mails enregistré chez lui, genre contact@NDD
Pour ceux qui ont le même soucis , vérifiez auprés de votre FAI c'est fort probable que cela vienne de lui.
0

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

Posez votre question
bg62 Messages postés 26248 Date d'inscription   Statut Modérateur Dernière intervention   2 426
 
et c'est qui cet hébergeur ?
0
duxitto Messages postés 275 Statut Membre 1
 
C'est un hébergeur en Tunisie. Il s'appelle Globalnet
0
Utilisateur anonyme
 
cher ami et internaute ( sourire ) je penses pouvoir te donner ton bonheur , car totu comme toi j' ai galéré plusieurs jours navant de réussir , je t'offres un petit script qui

1 - va te permettre de recevoir els données de ton formulaire sur ton mail
2 - après avoir cliqué sur envoi , l'internaute qui aura rempli el formulaire sera redirigé vers une page de remerciement
3 - sur cette page de remerciement il y aura un lien retour sur ton site

en espérant que ca t'aidera , tu n' as qu'à changer l'adresse mail dans le code php

a bientot ( clin d'oeil )

contact.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mon formulaire</title>
</head>
<body>
<FORM method="POST" action="do_sendform.php">
<P>Vos Nom et Prénom:<br>
<INPUT type="text" name="sender_name" size=30>
</p>
<P>votre adresse mail<br>
<INPUT type="text" name="sender_email" size=30>
</p>
<P>Vos numéros de téléphone séparé par /<br>
<INPUT type="text" name="sender_phone" size=30></P>
<P>Votre adresse complète <br>
<INPUT type="text" name="sender_adresse" size=30></P>
<P>Date prévu pour votre projet ? ( exemple : <b>10/12/2012</b> OU <b>octobre 2020 ) <br>
<INPUT type="text" name="sender_dateprojet" size=30></P>
<P>Message: </p>
<P>( Merci de pensez à nous préciser svp à quel moment nous pouvons vous joindre pour vous préparer un devis personnalisé )<br>
<textarea name="message" cols=50 rows=15></textarea>
</p>
<INPUT type="submit" value="envoyer">
</FORM>

</body>
</html>

puis le code php ( do_sendform.php )

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
$msg = "Nom/Prénom:\t$sender_name\n";
$msg .= "E_mail:\t$sender_email\n";
$msg .= "numéros de tel:\t$sender_phone\n";
$msg .= "Adresse:\t$sender_adresse\n";
$msg .= "date_prevu_du_projet:\t$sender_dateprojet\n";
$msg .= "Message:\t$message\n\n";
$recipient = "moi@free.fr";
$subject = "Web Site Feedback";
$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $sender_name</H1>";
echo "<P align=center>";
echo "Vos informations nous ont été transmises , nous vous contacterons dans les plus brefs délai.</P>";
echo "<a href='javascript:window.history.go(-1)'>Retour au formulaire</a> ";
echo "</BODY></HTML>";
?>
</body>
</html>
0
Utilisateur anonyme
 
merci à tous et à toutes pour votre aide , vous etes super
0
Utilisateur anonyme
 
tiens voici un script qui pourra t aider , j'ai pu le faire garce aux gens de ce site ( encore merci à tous )

il fonctionne impeccablement , utilises le

il te permettra de

1 - envoyer les infos de ton formulaire par mail
2 - de rediriger l'internaute sur une page de remerciement avec lien retour

code HTML

<FORM method="POST" action="do_sendform.php">
<P>Civilité:<br>
<select name="sender_choix">
<option value="choix1">Monsieur</option>
<option value="choix2">Madame</option>
<option value="choix3">Mademoiselle</option>
</select>
<P>Vos Nom et Prénom:<br>
<INPUT type="text" name="sender_name" size=30>
</p>
<P>votre adresse mail<br>
<INPUT type="text" name="sender_email" size=30>
</p>
<P>Vos numéros de téléphone séparé par /<br>
<INPUT type="text" name="sender_phone" size=30></P>
<P>Votre adresse complète <br>
<INPUT type="text" name="sender_adresse" size=30></P>
<P>Vous êtes :<br>
<INPUT type="radio" name="sender_be" value="Particulier"> Un Particulier
<INPUT type="radio" name="sender_be" value="entreprise"> Une entreprise<BR>
</P>
<P>Date prévu pour votre projet :<br>
<select name="sender_projet">
<option value="choix4">Immédiat</option>
<option value="choix5">moins d'un mois</option>
<option value="choix6">1 à 3 mois</option>
<option value="choix7">3 à 6 mois</option>
<option value="choix8">plus de 6 mois</option>
</select></P>

<P>Votre maison est :<br>
<INPUT type="radio" name="sender_maison" value="principale"> Votre résidence principale
<INPUT type="radio" name="sender_maison" value="secondaire"> Votre résidence secondaire
</P>
<P>Date de construction <br>
<INPUT type="text" name="sender_construction" size=30></P>

<P>Type de batiment :<br>
<select name="sender_type">
<option value="choix9">Maison individuelle</option>
<option value="choix10">Immeuble</option>
<option value="choix11">Local professionnel</option>
<option value="choix12">Hangar</option>
<option value="choix13">Garage</option>
<option value="choix14">Bâtiment Public</option>
</select></P>

<P>Orientation du toit :<br>
<select name="sender_orientation">
<option value="choix15">Nord</option>
<option value="choix16">Nord-Est</option>
<option value="choix17">Est</option>
<option value="choix18">Sud-Est</option>
<option value="choix19">Sud</option>
<option value="choix20">Sud-Ouest</option>
<option value="choix21">Ouest</option>
<option value="choix22">Nord-Ouest</option>
</select></P>

<P>Inclinaison du toit <br>
<INPUT type="text" name="sender_inclinaison" size=30> Degrés</P>

<P>Surface disponible sur le toit (sans ombre) : <br>
Longueur : <INPUT type="text" name="sender_longueurtoit" size=30> m</P>
<P>Surface disponible sur le toit (sans ombre) : <br>
Largeur : <INPUT type="text" name="sender_largeurtoit" size=30> m</P>

<P>Message: </p>
<br>
<textarea name="message" cols=50 rows=15></textarea>
</p>

<INPUT type="submit" value="envoyer">
</FORM>

CODE PHP

<?php

if ($sender_choix=="choix1")
$msg .= "civilite : Monsieur\t\n";
if ($sender_choix=="choix2")
$msg .= "civilite : Madame\t\n";
if ($sender_choix=="choix3")
$msg .= "civilite : Mademoiselle\t\n";
echo $_POST['sender_choix'];
echo $_POST['$sender_choix'];

$msg .= "Nom/Prénom:\t$sender_name\n";

$msg .= "E_mail:\t$sender_email\n";

$msg .= "numéros de tel:\t$sender_phone\n";

$msg .= "Adresse:\t$sender_adresse\n";

if ($sender_be=="Particulier")
$msg .= "status du client : particulier\t\n";
if ($sender_be=="entreprise")
$msg .= "status du client : entreprise\t\n";
echo $_POST['sender_be'];
echo $_POST['$sender_be'];

if ($sender_projet=="choix4")
$msg = "Date prévu des travaux : Immediat\t\n";
if ($sender_projet=="choix5")
$msg .= "Date prévu des travaux : 1 a 3 mois\t\n";
if ($sender_projet=="choix6")
$msg .= "Date prévu des travaux : 3 a 6 mois\t\n";
if ($sender_projet=="choix7")
$msg .= "Date prévu des travaux : Plus de 6 mois\t\n";
echo $_POST['sender_projet'];
echo $_POST['$sender_projet'];

if ($sender_maison=="principale")
$msg .= "Résidence principale\t\n";
if ($sender_maison=="secondaire")
$msg .= "Residence secondaire\t\n";
echo $_POST['sender_maison'];
echo $_POST['$sender_maison'];
$msg .= "Date de construction :\t$sender_construction\n";

if ($sender_type=="choix9")
$msg .= "Type de batiment : Maison individuelle\t\n";
if ($sender_type=="choix10")
$msg .= "Type de batiment : Immeuble\t\n";

if ($sender_type=="choix11")
$msg .= "Type de batiment : Local professionnel\t\n";
if ($sender_type=="choix12")
$msg .= "Type de batiment : Hangar\t\n";
if ($sender_type=="choix13")
$msg .= "Type de batiment : Garage\t\n";
if ($sender_type=="choix14")
$msg .= "Type de batiment : Batiment public\t\n";
echo $_POST['sender_type'];
echo $_POST['$sender_type'];

if ($sender_orientation=="choix15")
$msg .= "Orientation du toit : Nord\t\n";
if ($sender_orientation=="choix16")
$msg .= "Orientation du toit : Nord-Est\t\n";
if ($sender_orientation=="choix17")
$msg .= "Orientation du toit : Est\t\n";
if ($sender_orientation=="choix18")
$msg .= "Orientation du toit : Sud-Est\t\n";
if ($sender_orientation=="choix19")
$msg .= "Orientation du toit : Sud\t\n";
if ($sender_orientation=="choix20")
$msg .= "Orientation du toit : Sud-Ouest\t\n";
if ($sender_orientation=="choix21")
$msg .= "Orientation du toit : Ouest\t\n";
if ($sender_orientationt=="choix22")
$msg .= "Orientation du toit : Nord-Ouest\t\n";
echo $_POST['sender_orientation'];
echo $_POST['$sender_orientation'];

$msg .= "Inclinaison du toit :\t$sender_inclinaison\n";

$msg .= "Surface dispo en logueur sur le toit ( m ):\t$sender_longueurtoit\n";
$msg .= "Surface dispo en largeur sur le toit ( m ) :\t$sender_largeurtoit\n";

$msg .= "Message:\t$message\n\n";

$recipient = "MET ICI TON MAIL";
$subject = "Web Site Feedback";
$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $sender_name</H1>";
echo "<P align=center>";
echo "Vos informations nous ont été transmises , nous vous contacterons dans les plus brefs délai.</P>";
echo "<a href='javascript:window.history.go(-1)'>Retour au formulaire</a> ";
echo "</BODY></HTML>";

?>

PENSER A APPELER CE FICHIER do_sendform.php

remanie le à ton gré et comme on vien de me dire..... Attention à l'indentation ( clin d'oeil )
0