Bonjour,
Depuis maintenant plusieurs jours, je ne parviens pas à exécuter correctement la page de contact sur mon site. Je précise que je suis totalement débutant; J'ai donc parcouru divers forums et tutos et est copié divers codes que j'ai tenté d'adapter à mes besoins.
Gros problème, j'ai tout essayé, et soit je ne reçois rien, soit je reçois un mail vide, soit d'une adresse mail inconnu d'OVH. Enfin, quand je reçois un mail, il se niche directement dans mes courriers indésirables...
Je desespère...
Quelqu'un aurait -il une idée ?
Merci d'avance
Code concernant mon formulaire de ma page html :
COde ma page php :
[code=php]
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monmail@mail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'interet porte a notre formation. Nous vous répondrons dans les plus brefs delais";
$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= http://www.monsite/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']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
// 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 != '') && ($email != '') && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = "'Content-type: 'text/plain'; charset='iso-8859-1' \r\n";
$headers = 'From: '.$nom.'subject: '.$subject.'<'.$email.'>'.$telephone.''.$adresse.''.$date.''.$invit.''.$comment.'>'."\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("\"",'"',$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="www.monsite/contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>/code]
Depuis maintenant plusieurs jours, je ne parviens pas à exécuter correctement la page de contact sur mon site. Je précise que je suis totalement débutant; J'ai donc parcouru divers forums et tutos et est copié divers codes que j'ai tenté d'adapter à mes besoins.
Gros problème, j'ai tout essayé, et soit je ne reçois rien, soit je reçois un mail vide, soit d'une adresse mail inconnu d'OVH. Enfin, quand je reçois un mail, il se niche directement dans mes courriers indésirables...
Je desespère...
Quelqu'un aurait -il une idée ?
Merci d'avance
Code concernant mon formulaire de ma page html :
<div class="content">
<form id="contact" method="post" action="verif.php">
<fieldset>
<legend>Étape 1 : Vos coordonnées</legend>
<ol><li><INPUT TYPE="hidden" input id="subject" name="subject" VALUE="devis_soledad"></li>
<li>
<label for="nom">Nom</label>
<input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
</li>
<li>
<label for="email">Email</label>
<input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
</li>
<li>
<label for="telephone">Téléphone</label>
<input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
</li>
</ol>
</fieldset>
<fieldset>
<legend>Étape 2 : Votre évènement</legend>
<ol>
<li>
<label for="adresse">Adresse de votre manifestation</label>
<textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
</li>
<li>
<label for="date">Date</label>
<input id="date" name="date" type="text" required="required" />
</li>
<li>
<label for="invit">Nbre d'invités</label>
<textarea id="invit" name="invit" rows="1" ></textarea>
</li>
</ol>
</fieldset>
<fieldset>
<legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
<ol>
<li>
<label for="comment">Commentaires</label>
<textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis [smile]" rows="5" required="required"></textarea>
</li>
</ol>
</fieldset>
<fieldset>
<button type="submit" name="envoi">Envoyer</button>
</fieldset>
</p>
</form>
COde ma page php :
[code=php]
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monmail@mail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'interet porte a notre formation. Nous vous répondrons dans les plus brefs delais";
$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= http://www.monsite/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']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
// 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 != '') && ($email != '') && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = "'Content-type: 'text/plain'; charset='iso-8859-1' \r\n";
$headers = 'From: '.$nom.'subject: '.$subject.'<'.$email.'>'.$telephone.''.$adresse.''.$date.''.$invit.''.$comment.'>'."\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("\"",'"',$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="www.monsite/contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>/code]