Formulaire html aide pour PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire html aide pour PHP

Re: Formulaire html aide pour PHP

par NiKo219 » 21 mai 2011, 15:59

J'ai mis mon html dans le fichier php pour le tester et est pu enlever déja pas mal de problèmes mais il y en a un que je n'arrive pas a régler J'ai vérifier mon adresse (pas de soucis) j'ai fait le formulaire en entrant une de mes autres adresse pour ne pas qu'il y ai conflit mais il m'affiche: "L'envoi du mail a échoué, veuillez réessayer SVP."

Je rappel que je test direct sur serveur pour éviter les problèmes du au local. Je sais pas trop quoi faire, pouvez vous me sortir de cette galère, s'il vous plais.

Voila le code:
<form id="contact" method="post" action="">

<P><P><P><H3><CENTER><B><FONT COLOR="#000000">Contact</FONT></B></CENTER></H3>
<CENTER><HR WIDTH="75%" NOSHADE color=noir><P>

<I>Les champs marqu&eacute;s</I><FONT COLOR="#FF0000"><B>*</B></FONT><I>
doivent obligatoirement &ecirc;tre renseign&eacute;s </I>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=154>
<P><B>Votre Nom </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="nom" VALUE="" SIZE=50>
<P><B>Votre Pr&eacute;nom </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="prenom" VALUE="" SIZE=50>
<P><B>Votre adresse E-Mail </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="email" VALUE="" SIZE=40>
</TD></TR></TABLE></FONT><P><P>

<BR><B>Raisons de votre E-mail</B><P>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=raison CHECKED="checked" VALUE=rensseignement>Rensseignement
<P><INPUT TYPE=radio NAME=raison VALUE=massage1>Massage au Parfum d'Evasion
<P><INPUT TYPE=radio NAME=raison VALUE=massage2>Massage a l'hotel "La Charpini&eacute;re"
<P><INPUT TYPE=radio NAME=raison VALUE=massage3>Massage a domicile
<P><INPUT TYPE=radio NAME=raison VALUE=fidelite>Carte de fid&eacute;lit&eacute;
<P><INPUT TYPE=radio NAME=raison VALUE=cadeau>Ch&eacute;que cadeau
</TD></TR></TABLE></FONT><P><P>

<BR><B>Choix du massage</B><P>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage CHECKED="checked" VALUE=aucun>Aucun
<P><INPUT TYPE=radio NAME=massage VALUE=cali1>Californien Evasion
<P><INPUT TYPE=radio NAME=massage VALUE=Cali2>Californien Relax
<P><INPUT TYPE=radio NAME=massage VALUE=Cali3>Californien Futur-Maman 30min
<P><INPUT TYPE=radio NAME=massage VALUE=Cali4>Californien Futur-Maman 1h
</TD><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage VALUE=reflex1>R&eacute;flexologie Plantaire 30min
<P><INPUT TYPE=radio NAME=massage VALUE=reflex2>R&eacute;flexologie Plantaire 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain1>Drainage Lymphatique Visage 30min
<P><INPUT TYPE=radio NAME=massage VALUE=drain2>Drainage Lymphatique Visage 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain3>Drainage Lymphatique Jambes 30min
</TD><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage VALUE=drain4>Drainage Lymphatique Jambes 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain5>Drainage Lymphatique Visage & Jambes
<P><INPUT TYPE=radio NAME=massage VALUE=amma>Le Amma-massage assis
<P><INPUT TYPE=radio NAME=massage VALUE=apana>Apana Vayu
</TD></TR></TABLE></FONT><P>

<BR><B>Veuillez noter vos demandes compl&eacute;mentaires ci-dessous</B>
<P><TEXTAREA NAME=demandes ROWS=8 COLS=50 WRAP=virtual></TEXTAREA><P>



<INPUT TYPE=submit NAME=Envoyer VALUE="Envoyer">&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE=reset NAME=Effacer VALUE="Effacer" ></CENTER>

<HR WIDTH="75%" NOSHADE color=noir></CENTER></FORM><P><P><P>

</BODY>
</form>

<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '[email protected]';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['Envoyer']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$raison = (isset($_POST['raison'])) ? Rec($_POST['raison']) : '';
$massage = (isset($_POST['massage'])) ? Rec($_POST['massage']) : '';
$demandes = (isset($_POST['demandes'])) ? Rec($_POST['demandes']) : '';

// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($prenom != '') && ($email != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('
','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $raison, $massage, $headers, $prenom, $demande))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>

Re: Formulaire html aide pour PHP

par NiKo219 » 21 mai 2011, 15:56

J'ai mis mon html dans le fichier php pour le tester et est pu enlever déja pas mal de problèmes mais il y en a un que je n'arrive pas a régler J'ai vérifier mon adresse (pas de soucis) j'ai fait le formulaire en entrant une de mes autres adresse pour ne pas qu'il y ai conflit mais il m'affiche: "L'envoi du mail a échoué, veuillez réessayer SVP."

Je rappel que je test direct sur serveur pour éviter les problèmes du au local. Je sais pas trop quoi faire, pouvez vous me sortir de cette galère, s'il vous plais.

Voila le code:
<code type="php"><form id="contact" method="post" action="">

<P><P><P><H3><CENTER><B><FONT COLOR="#000000">Contact</FONT></B></CENTER></H3>
<CENTER><HR WIDTH="75%" NOSHADE color=noir><P>

<I>Les champs marqu&eacute;s</I><FONT COLOR="#FF0000"><B>*</B></FONT><I>
doivent obligatoirement &ecirc;tre renseign&eacute;s </I>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=154>
<P><B>Votre Nom </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="nom" VALUE="" SIZE=50>
<P><B>Votre Pr&eacute;nom </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="prenom" VALUE="" SIZE=50>
<P><B>Votre adresse E-Mail </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="email" VALUE="" SIZE=40>
</TD></TR></TABLE></FONT><P><P>

<BR><B>Raisons de votre E-mail</B><P>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=raison CHECKED="checked" VALUE=rensseignement>Rensseignement
<P><INPUT TYPE=radio NAME=raison VALUE=massage1>Massage au Parfum d'Evasion
<P><INPUT TYPE=radio NAME=raison VALUE=massage2>Massage a l'hotel "La Charpini&eacute;re"
<P><INPUT TYPE=radio NAME=raison VALUE=massage3>Massage a domicile
<P><INPUT TYPE=radio NAME=raison VALUE=fidelite>Carte de fid&eacute;lit&eacute;
<P><INPUT TYPE=radio NAME=raison VALUE=cadeau>Ch&eacute;que cadeau
</TD></TR></TABLE></FONT><P><P>

<BR><B>Choix du massage</B><P>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage CHECKED="checked" VALUE=aucun>Aucun
<P><INPUT TYPE=radio NAME=massage VALUE=cali1>Californien Evasion
<P><INPUT TYPE=radio NAME=massage VALUE=Cali2>Californien Relax
<P><INPUT TYPE=radio NAME=massage VALUE=Cali3>Californien Futur-Maman 30min
<P><INPUT TYPE=radio NAME=massage VALUE=Cali4>Californien Futur-Maman 1h
</TD><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage VALUE=reflex1>R&eacute;flexologie Plantaire 30min
<P><INPUT TYPE=radio NAME=massage VALUE=reflex2>R&eacute;flexologie Plantaire 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain1>Drainage Lymphatique Visage 30min
<P><INPUT TYPE=radio NAME=massage VALUE=drain2>Drainage Lymphatique Visage 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain3>Drainage Lymphatique Jambes 30min
</TD><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage VALUE=drain4>Drainage Lymphatique Jambes 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain5>Drainage Lymphatique Visage & Jambes
<P><INPUT TYPE=radio NAME=massage VALUE=amma>Le Amma-massage assis
<P><INPUT TYPE=radio NAME=massage VALUE=apana>Apana Vayu
</TD></TR></TABLE></FONT><P>

<BR><B>Veuillez noter vos demandes compl&eacute;mentaires ci-dessous</B>
<P><TEXTAREA NAME=demandes ROWS=8 COLS=50 WRAP=virtual></TEXTAREA><P>



<INPUT TYPE=submit NAME=Envoyer VALUE="Envoyer">&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE=reset NAME=Effacer VALUE="Effacer" ></CENTER>

<HR WIDTH="75%" NOSHADE color=noir></CENTER></FORM><P><P><P>

</BODY>
</form>

<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '[email protected]';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['Envoyer']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$raison = (isset($_POST['raison'])) ? Rec($_POST['raison']) : '';
$massage = (isset($_POST['massage'])) ? Rec($_POST['massage']) : '';
$demandes = (isset($_POST['demandes'])) ? Rec($_POST['demandes']) : '';

// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($prenom != '') && ($email != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("&#8217;","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $raison, $massage, $headers, $prenom, $demande))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
</code>

Re: Formulaire html aide pour PHP

par NiKo219 » 20 mai 2011, 19:30

bon j'ai récupérer une petite erreur:

if (($nom != '') && ($prenom != '') && ($email != '') && ($raison != '') && ($massage != '')) && ($demande != '')

J'ai fait un test mais il me dit "Vous devez d'abord envoyer le formulaire."

Personne peut m'aider?

Re: Formulaire html aide pour PHP

par NiKo219 » 20 mai 2011, 19:14

Je me suis planté sur le fichier php, c'étais pas le bon... j'ai commencer quelque modifs dans "// formulaire envoyé, on récupère tous les champs."
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '[email protected]';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$massage = (isset($_POST['raison'])) ? Rec($_POST['raison']) : '';
$massage = (isset($_POST['massage'])) ? Rec($_POST['massage']) : '';
$demande = (isset($_POST['demande'])) ? Rec($_POST['demande']) : '';

// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($prenom != '') && ($email != '') && ($raison != '') && ($massage != '')) && ($demande != '')
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("&#8217;","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>

Formulaire html aide pour PHP

par NiKo219 » 20 mai 2011, 18:12

Bonjour à tous,

Je me suis fait une raison avec l'appel flash=>PHP et j'ai opté pour quelque choses de plus simple.. Enfin c'est vite dit étant donné que ça commence a coincé.. Le PHP :shock:

Voila a quoi ressemble mon HTML
<form id="contact" method="post" action="mail.php">

<P><P><P><H3><CENTER><B><FONT COLOR="#000000">Contact</FONT></B></CENTER></H3>
<CENTER><HR WIDTH="75%" NOSHADE color=noir><P>

<I>Les champs marqu&eacute;s</I><FONT COLOR="#FF0000"><B>*</B></FONT><I>
doivent obligatoirement &ecirc;tre renseign&eacute;s </I>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=154>
<P><B>Votre Nom </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="Nom" VALUE="" SIZE=50>
<P><B>Votre Pr&eacute;nom </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="prenom" VALUE="" SIZE=50>
<P><B>Votre adresse E-Mail </B><FONT COLOR="#FF0000"><B>* </B></FONT><INPUT TYPE=text NAME="mail" VALUE="" SIZE=40>
</TD></TR></TABLE></FONT><P><P>

<BR><B>Raisons de votre E-mail</B><P>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=raison CHECKED="checked" VALUE=rensseignement>Rensseignement
<P><INPUT TYPE=radio NAME=raison VALUE=massage>Massage au Parfum d'Evasion
<P><INPUT TYPE=radio NAME=raison VALUE=massage>Massage a l'hotel "La Charpini&eacute;re"
<P><INPUT TYPE=radio NAME=raison VALUE=massage>Massage a domicile
<P><INPUT TYPE=radio NAME=raison VALUE=fidelite>Carte de fid&eacute;lit&eacute;
<P><INPUT TYPE=radio NAME=raison VALUE=cadeau>Ch&eacute;que cadeau
</TD></TR></TABLE></FONT><P><P>

<BR><B>Choix du massage</B><P>
<TABLE BORDER=0 HEIGHT=65><TR><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage CHECKED="checked" VALUE=aucun>Aucun
<P><INPUT TYPE=radio NAME=massage VALUE=cali1>Californien Evasion
<P><INPUT TYPE=radio NAME=massage VALUE=Cali2>Californien Relax
<P><INPUT TYPE=radio NAME=massage VALUE=Cali3>Californien Futur-Maman 30min
<P><INPUT TYPE=radio NAME=massage VALUE=Cali4>Californien Futur-Maman 1h
</TD><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage VALUE=reflex1>R&eacute;flexologie Plantaire 30min
<P><INPUT TYPE=radio NAME=massage VALUE=reflex2>R&eacute;flexologie Plantaire 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain1>Drainage Lymphatique Visage 30min
<P><INPUT TYPE=radio NAME=massage VALUE=drain2>Drainage Lymphatique Visage 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain3>Drainage Lymphatique Jambes 30min
</TD><TD WIDTH=300>
<P><INPUT TYPE=radio NAME=massage VALUE=drain4>Drainage Lymphatique Jambes 1h
<P><INPUT TYPE=radio NAME=massage VALUE=drain5>Drainage Lymphatique Visage & Jambes
<P><INPUT TYPE=radio NAME=massage VALUE=amma>Le Amma-massage assis
<P><INPUT TYPE=radio NAME=massage VALUE=apana>Apana Vayu
</TD></TR></TABLE></FONT><P>

<BR><B>Veuillez noter vos demandes compl&eacute;mentaires ci-dessous</B>
<P><TEXTAREA NAME=Demandes ROWS=8 COLS=50 WRAP=virtual></TEXTAREA><P>



<INPUT TYPE=submit NAME=Envoyer VALUE="Envoyer">&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE=reset NAME=Effacer VALUE="Effacer" ></CENTER>

<HR WIDTH="75%" NOSHADE color=noir></CENTER></FORM><P><P><P>

</BODY>
</form>
Au PHP maintenant, je souhaite que tout soit envoyer (logique) mais que la personne ayant remplis le formulaire est une confirmation écrite avec retour a l'accueil, puis l’envoi d'un mail de confirmation.

Et j'ai trouvé ce code:
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mon adresse';

// copie ? (envoie une copie au visiteur)
$copie = 'oui';

// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP. ";

// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

if (isset($_POST['envoi']))
{
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = (IsEmail($email)) ? false : true;

if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('&#8217;',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <fieldset><legend>Vos coordonnées</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="nom">Nom :</label>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="email">Email :</label>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="objet">Objet :</label>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="message">Message :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
?>

J'ai essayer un code du même style que m'avais présenter Moogli, tout marchais sauf le mail pour l'utilisateur. Aprés j'ai donné la même adresse que celle du formulaire, sa viendrais de ça?


En revenant a mon Html, je suppose que pour faire marcher mon PHP je dois modifier ses deux codes:

Celui ci a l'air de s'occuper des variable obligatoire...
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

Et celui la de l'affichage de mon formulaire...
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <fieldset><legend>Vos coordonnées</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="nom">Nom :</label>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="email">Email :</label>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="objet">Objet :</label>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="message">Message :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
Pouvez vous confirmez?