[HTML] Formulaire HTML probléme
Fermé
DiDjAy
-
22 mars 2007 à 09:48
fifi1er Messages postés 3 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 18 janvier 2008 - 18 janv. 2008 à 03:59
fifi1er Messages postés 3 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 18 janvier 2008 - 18 janv. 2008 à 03:59
A voir également:
- [HTML] Formulaire HTML probléme
- Editeur html - Télécharger - HTML
- Espace en html - Astuces et Solutions
- Espace html ✓ - Forum Webmastering
- Formulaire de réclamation facebook - Guide
- &Nbsp html ✓ - Forum Webmastering
28 réponses
ahh bah voila pourquoi sa marche pas lol, maintenant faut que je trouve un hebergeur qui bloque pas la fonction mail ...
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 335
22 mars 2007 à 12:50
22 mars 2007 à 12:50
ou alors puisque ton hebergeur ne permet pas l'utilisation de la fonction mail(), tu peux utiliser un service de script cgi (par exemple http://www.lecgi.net/ ). C'est ce que j'ai fait sur un site, exemple ici : http://marmottemanu.free.fr/mail.php . Et je n'ai jamais été spammé par cette méthode.
Bonjour,
Le site dont tu fais référence n'existe plus... http://www.lecgi.net/ enfin je n'arrive pas à y aller...
Le site dont tu fais référence n'existe plus... http://www.lecgi.net/ enfin je n'arrive pas à y aller...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 335
4 oct. 2007 à 12:13
4 oct. 2007 à 12:13
Sont des choses qui arrivent... le web, ca va, ca vient, ca repart.
https://www.google.fr/search?hl=fr&q=related%3Alecgi.net&gws_rd=ssl
https://www.google.fr/search?hl=fr&q=related%3Alecgi.net&gws_rd=ssl
fifi1er
Messages postés
3
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
18 janvier 2008
18 janv. 2008 à 03:58
18 janv. 2008 à 03:58
erreur de postage... à supprimé si possible
fifi1er
Messages postés
3
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
18 janvier 2008
18 janv. 2008 à 03:58
18 janv. 2008 à 03:58
erreur de postage... à supprimé si possible
fifi1er
Messages postés
3
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
18 janvier 2008
18 janv. 2008 à 03:59
18 janv. 2008 à 03:59
Super... j'ai été long a comprendre mais ca marche très bien. Merci...
3 questions :
- J'ai viré " $headers = "Content-type: text/html; charset=iso-8859-1\r\n"; " ce qui me permet d'avoir l'adresse de l'expéditeur en entête et donc de faire "répondre" pour envoyer une réponse directement...
Le problème c'est que les caractères accentués (je veux souligné "Message reçu de la part de :"), dans le cas présent la balise <u> </u>, n'est plus reconnue... avez vous une solution ?
- je pense que c'est avec cette modif que dans le corps du message les sauts à la ligne sont respectés mais ils sont doubles !!! Comment faire ?
- enfin, dernière question : comment faire pour passer sur une autre page lorsque le message est envoyé ?
Voici mon code final :
<?php
// si le formulaire a été posté
if(isset($_POST["form_valid"]))
{
$nom = $_POST["nom"];
$email = $_POST["email"];
$note = $_POST["note"];
// on prépare l'envoi
$headers .= "From: $email <$email>";
// on déclare le destinaire
$destinataire = "dutour@gmail.com";
// on déclare le sujet
$sujet = "Message reçu du site The Link #2";
// on remplace les retours chariots par <br>
$note = str_replace('\r\n','<br>',$note);
// on déclare le message
$msg = "Message reçu de la part de : $nom, \r\n Son message est le suivant : \r\n $note";
// si jamais il se produit une erreur
if(!mail($destinataire, $sujet, $msg, $headers)) header("Location:contact.php?message=erreur");
// sinon on valide
header("Location:contact.php?message=ok");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" Content="text/html; charset=ISO-8859-1">
<TITLE> Formulaire de contact</TITLE>
<script type="text/javascript">
function valider_envoi(frm)
{
if((frm.elements['nom'].value != "") & (frm.elements['note'].value !="") & (frm.elements['email'].value !=""))
{
return true;
}
else
{
alert(" Veuillez remplir correctement svp");
return false;
}
}
</script>
</HEAD>
<body alink="#000099" background="image001.jpg" bgcolor="#ffffff"
link="#000099" text="#000000" vlink="#990099" bgproperties="fixed">
<p class="MsoNormal" style="margin-bottom: 12pt; text-align: center;"
align="center"><span class="SpellE"><b><i><span
style="font-size: 18pt; font-family: Wedgie; color: blue;">Contactez-nous </span></i></b></span></p>
<?php
// si on reçoit un message
if(isset($_GET["message"]))
{
if($_GET["message"] == "ok") echo "Votre message est parti correctement, Merci.";
else echo "Erreur, retentez l'opération";
}
?>
<form action="contact.php" method="post" onsubmit="return valider_envoi(this)">
<INPUT TYPE="hidden" NAME="retour" VALUE="#">
<TABLE>
<INPUT TYPE="hidden" NAME="form_valid" value="true">
<TR><br>
<TD><p style="padding-left: 100px"><span style="color: blue;"><b>Votre nom :</TD>
<TD><INPUT TYPE="text" NAME="nom" SIZE="40"></TD>
</TR>
<TR>
<TD><p style="padding-left: 100px"><span style="color: blue;"><b>Votre adresse Email :</TD>
<TD><INPUT TYPE="text" NAME="email" SIZE="40"></TD>
</TR>
</TABLE>
<br><p style="padding-left: 100px"><span style="color: blue;"><b>Vos commentaires :
<p style="padding-left: 100px"><TEXTAREA NAME="note" ROWS="10" COLS="60"></TEXTAREA></p>
<P>
<p style="padding-left: 100px">Pour envoyer votre message : <INPUT TYPE=submit VALUE="Envoyer">
Pour tout effacer : <INPUT TYPE=reset VALUE="Effacer">
</FORM>
<HR SIZE=5 NOSHADE>
<p style="padding-left: 100px"><B>Contact :
</B><A HREF="mailto: dutour@gmail.com">dutour@gmail.com</A>
</BODY>
</HTML>
Question subsidiaire : alignement différent entre I.E. et firefox
Merci d'avance
3 questions :
- J'ai viré " $headers = "Content-type: text/html; charset=iso-8859-1\r\n"; " ce qui me permet d'avoir l'adresse de l'expéditeur en entête et donc de faire "répondre" pour envoyer une réponse directement...
Le problème c'est que les caractères accentués (je veux souligné "Message reçu de la part de :"), dans le cas présent la balise <u> </u>, n'est plus reconnue... avez vous une solution ?
- je pense que c'est avec cette modif que dans le corps du message les sauts à la ligne sont respectés mais ils sont doubles !!! Comment faire ?
- enfin, dernière question : comment faire pour passer sur une autre page lorsque le message est envoyé ?
Voici mon code final :
<?php
// si le formulaire a été posté
if(isset($_POST["form_valid"]))
{
$nom = $_POST["nom"];
$email = $_POST["email"];
$note = $_POST["note"];
// on prépare l'envoi
$headers .= "From: $email <$email>";
// on déclare le destinaire
$destinataire = "dutour@gmail.com";
// on déclare le sujet
$sujet = "Message reçu du site The Link #2";
// on remplace les retours chariots par <br>
$note = str_replace('\r\n','<br>',$note);
// on déclare le message
$msg = "Message reçu de la part de : $nom, \r\n Son message est le suivant : \r\n $note";
// si jamais il se produit une erreur
if(!mail($destinataire, $sujet, $msg, $headers)) header("Location:contact.php?message=erreur");
// sinon on valide
header("Location:contact.php?message=ok");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" Content="text/html; charset=ISO-8859-1">
<TITLE> Formulaire de contact</TITLE>
<script type="text/javascript">
function valider_envoi(frm)
{
if((frm.elements['nom'].value != "") & (frm.elements['note'].value !="") & (frm.elements['email'].value !=""))
{
return true;
}
else
{
alert(" Veuillez remplir correctement svp");
return false;
}
}
</script>
</HEAD>
<body alink="#000099" background="image001.jpg" bgcolor="#ffffff"
link="#000099" text="#000000" vlink="#990099" bgproperties="fixed">
<p class="MsoNormal" style="margin-bottom: 12pt; text-align: center;"
align="center"><span class="SpellE"><b><i><span
style="font-size: 18pt; font-family: Wedgie; color: blue;">Contactez-nous </span></i></b></span></p>
<?php
// si on reçoit un message
if(isset($_GET["message"]))
{
if($_GET["message"] == "ok") echo "Votre message est parti correctement, Merci.";
else echo "Erreur, retentez l'opération";
}
?>
<form action="contact.php" method="post" onsubmit="return valider_envoi(this)">
<INPUT TYPE="hidden" NAME="retour" VALUE="#">
<TABLE>
<INPUT TYPE="hidden" NAME="form_valid" value="true">
<TR><br>
<TD><p style="padding-left: 100px"><span style="color: blue;"><b>Votre nom :</TD>
<TD><INPUT TYPE="text" NAME="nom" SIZE="40"></TD>
</TR>
<TR>
<TD><p style="padding-left: 100px"><span style="color: blue;"><b>Votre adresse Email :</TD>
<TD><INPUT TYPE="text" NAME="email" SIZE="40"></TD>
</TR>
</TABLE>
<br><p style="padding-left: 100px"><span style="color: blue;"><b>Vos commentaires :
<p style="padding-left: 100px"><TEXTAREA NAME="note" ROWS="10" COLS="60"></TEXTAREA></p>
<P>
<p style="padding-left: 100px">Pour envoyer votre message : <INPUT TYPE=submit VALUE="Envoyer">
Pour tout effacer : <INPUT TYPE=reset VALUE="Effacer">
</FORM>
<HR SIZE=5 NOSHADE>
<p style="padding-left: 100px"><B>Contact :
</B><A HREF="mailto: dutour@gmail.com">dutour@gmail.com</A>
</BODY>
</HTML>
Question subsidiaire : alignement différent entre I.E. et firefox
Merci d'avance