Plop tout le monde !
Je viens à vous car j'ai un soucis, actuellement en stage je m'occupe du site web de mon entreprise mais là ou les problèmes se posent c'est au niveau du formulaire de contact.
Voila monde code formulaire situé dans le fichiers products.php :
Et le php du formucontact.php :
Et le message d'erreur retourné :
http://img833.imageshack.us/img833/475/pb1ps.jpg
Un screen du formulaire :
http://img13.imageshack.us/img13/2265/pb2kt.jpg
Pour le deuxieme message d'erreur je sais qu'il est normale étant donné que je suis encore en local et n'ai pas de serveur smtp sous la main, mais c'est le premier que je n'arrive pas à interpréter >_<.
Je vous remercis d'avance !
P.S.1: le formulaire de contact est issu du tuto mit à disposition ici
P.S.2: je suis actuellement au taf mais m'en irai aider mes collègues dès que possible !
Modifié par Zhouzi (22 Sep 2012 - 06:43)
Je viens à vous car j'ai un soucis, actuellement en stage je m'occupe du site web de mon entreprise mais là ou les problèmes se posent c'est au niveau du formulaire de contact.
Voila monde code formulaire situé dans le fichiers products.php :
<form id="contact" method="post" action="formucontact.php">
<fieldset><legend>Vos coordonnées</legend></br>
<label for="nom">Nom : </label></br><input type="text" id="nom" name="nom" tabindex="1" /></br>
<label for="nom">Prénom : </label></br><input type="text" id="prenom" name="prenom" tabindex="2" /></br>
<label for="nom">Téléphone : </label></br><input type="text" id="telephone" name="telephone" tabindex="3" /></br>
<label for="email">Email : </label></br><input type="text" id="email" name="email" tabindex="4" /></br></br>
</fieldset>
<fieldset><legend>Votre message :</legend></br>
<label for="objet">Objet : </label></br><input type="text" id="objet" name="objet" tabindex="5" /></br></br>
<label for="message">Détails de la commande : </label></br><textarea id="details" name="details" tabindex="6" cols="30" rows="8"></textarea></br>
</fieldset>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer" /></div>
</form>
Et le php du formucontact.php :
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'email@domain.fr';
// 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=\"products.php\">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']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$details = (isset($_POST['details'])) ? Rec($_POST['details']) : '';
// 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 != '') && ($telephone != '') && ($email != '') && ($objet != '') && ($details != ''))
{
// 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
$details = str_replace("'","'",$details);
$details = str_replace("’","'",$details);
$details = str_replace(""",'"',$details);
$details = str_replace('<br>','',$details);
$details = str_replace('<br />','',$details);
$details = str_replace("<","<",$details);
$details = str_replace(">",">",$details);
$details = str_replace("&","&",$details);
// Envoi du mail
if (mail($cible, $objet, $details, $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="products.php">Retour a la page produits</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Et le message d'erreur retourné :
http://img833.imageshack.us/img833/475/pb1ps.jpg
Un screen du formulaire :
http://img13.imageshack.us/img13/2265/pb2kt.jpg
Pour le deuxieme message d'erreur je sais qu'il est normale étant donné que je suis encore en local et n'ai pas de serveur smtp sous la main, mais c'est le premier que je n'arrive pas à interpréter >_<.
Je vous remercis d'avance !
P.S.1: le formulaire de contact est issu du tuto mit à disposition ici
P.S.2: je suis actuellement au taf mais m'en irai aider mes collègues dès que possible !
Modifié par Zhouzi (22 Sep 2012 - 06:43)