Salut,
J'ai rajoute cette ligne (charset utf-8) car j'ai des soucis d'affichage sur les accentuations. Google est mon ami et je constate que le cas est récurant.
Je vais déjà essayer de comprendre ou ce code bloque grâce a vous.
<?php
$destinataire = "[email protected]";
// copie ?
$copie = "oui";
$body_top .= "Content-type: text/plain; charset=utf-8";
// 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.";
if (isset($_POST['envoi']))
{
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
/*
* 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']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['texte'])) ? Rec($_POST['texte']) : '';
// 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 on 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('<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";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<font face="verdana,geneva" style="color: #CC6600">'."\n";
echo '<form id="contact" method="post" action="?">'."\n";
echo ' <fieldset style="background-color:#eeeeee"><legend><strong><font face="Verdana" size="4">Vos
coordonneés :</legend></font></strong>'."\n";
echo ' <p>'."\n";
echo '<font face="verdana,geneva" style="color: #000000">'."\n";
echo ' <label for="nom">Nom & pré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">Adresse email :</label>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2"
/>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";
echo '<font face="verdana,geneva" style="color: #CC6600">'."\n";
echo ' <fieldset style="background-color:#eeeeee"><legend><strong><font face="Verdana" size="4">Votre message
:</legend></font></strong>'."\n";
echo ' <p>'."\n";
echo '<font face="verdana,geneva" style="color: #000000">'."\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">Texte :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="50"
rows="8">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";
echo ' </p>'."\n";
echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Valider" /></div>'."\n";
echo '</form>'."\n";
};
?>
A te lire,
Tiko
Salut,
J'ai rajoute cette ligne (charset utf-8) car j'ai des soucis d'affichage sur les accentuations. Google est mon ami et je constate que le cas est récurant.
Je vais déjà essayer de comprendre ou ce code bloque grâce a vous.
[php]
<?php
$destinataire = "
[email protected]";
// copie ?
$copie = "oui";
$body_top .= "Content-type: text/plain; charset=utf-8";
// 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.";
if (isset($_POST['envoi']))
{
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
/*
* 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']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['texte'])) ? Rec($_POST['texte']) : '';
// 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 on 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('<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";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<font face="verdana,geneva" style="color: #CC6600">'."\n";
echo '<form id="contact" method="post" action="?">'."\n";
echo ' <fieldset style="background-color:#eeeeee"><legend><strong><font face="Verdana" size="4">Vos
coordonneés :</legend></font></strong>'."\n";
echo ' <p>'."\n";
echo '<font face="verdana,geneva" style="color: #000000">'."\n";
echo ' <label for="nom">Nom & pré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">Adresse email :</label>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2"
/>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";
echo '<font face="verdana,geneva" style="color: #CC6600">'."\n";
echo ' <fieldset style="background-color:#eeeeee"><legend><strong><font face="Verdana" size="4">Votre message
:</legend></font></strong>'."\n";
echo ' <p>'."\n";
echo '<font face="verdana,geneva" style="color: #000000">'."\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">Texte :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="50"
rows="8">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";
echo ' </p>'."\n";
echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Valider" /></div>'."\n";
echo '</form>'."\n";
};
?>[/php]
A te lire,
Tiko