Problème avec mon formulaire de contact

Fermé
Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014 - 23 déc. 2014 à 21:38
Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014 - 25 déc. 2014 à 12:19
Bonjour,
J'ai un souci depuis peu sur mon formulaire de contact.
Quand je le remplis, la vérification des champs se fait et je peux le valider. Il s'envoie correctement et j'ai le message d'envoi que j'ai programmé.
Par contre, je ne reçois rien dans ma messagerie...
Voici le code de ma page de contact :


<?php
if(isset($_POST['envoyer']))
{
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$demande=$_POST['demande'];
$produit=$_POST['produit'];
$message=$_POST['message'];

$contenu="Nom : $nom Prénom : $prenom<br />
Email : $email<br />
Téléphone : $telephone<br>
Contact pour : $demande <br />
Objet :$produit<br />
Message : $message";

$contenu=str_replace(chr(92),"", $contenu);
$contenu=str_replace(chr(10),"<br />", $contenu);
$contenu=utf8_decode($contenu);

$headers="From: <$email\n";
$headers.="Content-Type: text/html; charset-UTF-8\n";

$to="mon adresse@gmail.com";
$objet="message envoyé depuis le formulaire de contact";
$objet=utf8_decode($objet);

mail($to, $objet, $contenu, $headers);


}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire de contact</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="menu.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="images/favicon.ico" >
<link href="nivoslider.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="scripts/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="scripts/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript" src="scripts/jquery.nivo.slider.js"></script>


<!--formulaire-->
<script type="text/javascript">
function verif(form) {

frm=document.forms[form];

var email = frm.elements['email'].value;
var re1 = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;

if (!email.match(re1)) {
alert("Veuillez vérifier le format de votre adresse e-mail.");
frm.elements['email'].focus();
return false;
}

else if(frm.elements['nom'].value=="") {
alert("Saisissez votre nom");
frm.elements['nom'].focus();
return false;
}

else if(frm.elements['prenom'].value=="") {
alert("Saisissez votre prénom");
frm.elements['prenom'].focus();
return false;
}

else if(frm.elements['telephone'].value=="") {
alert("Merci de me communiquer le numéro de téléphone sur lequel vous voulez étre contacté(e)");
frm.elements['telephone'].focus();
return false;
}

else if(frm.elements['produit'].value=="") {
alert("Saisissez l'objet de votre contact");
frm.elements['produit'].focus();
return false;
}

else if(frm.elements['message'].value=="") {
alert("Saisissez un message");
frm.elements['message'].focus();
return false;
}
}
</script>
<!--fin formulaire-->
<link href="formulaire.css" rel="stylesheet" type="text/css" />

</head>
<body>

<div id="principale">

<?php include("_header.html")
?>

<div class="retour"></div>

<div id="contenu">


<div id="formcontact">
<h1>Formulaire de contact</h1>
<?php
if(!isset($_POST['envoyer']))
{
?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?> "id="form" method="post" onsubmit="return verif('form')">


<p>
<label for="prenom">Prénom *:</label>
<input type="text" name="prenom" id="prenom" />
</p>
<div class="retour"></div>
<p>
<label for="nom">Nom *:</label>
<input type="text" name="nom" id="nom" />
</p>
<div class="retour"></div>
<p>
<label for="email">Email *:</label>
<input type="text" name="email" id="email" />
</p>

<p>
<label for="telephone">Téléphone *:</label>
<input type="text" name="telephone" id="telephone" />
</p>


<p>
<label for="demande" class="labellong">Vous souhaitez me contacter pour *</label>
<select id="demande" name="demande">
<option selected="selected" value="">sélectionnez</option>
<option value="commentaire">Un commentaire</option>
<option value="question">Une question</option>
<option value="devis">Un devis</option>
<option value="devis">Un rendez-vous</option>
<option value="autre">Autre...</option>
</select>
</p>
<div class="retour"></div>

<p>
<label for="produit" class="labellong">Saisissez l'objet de votre demande </label>
<select id="produit" name="produit">
<option selected="selected" value="">choisissez</option>
<option value="logo">Logo</option>
<option value="carte">Carte de visite</option>
<option value="correspondance">Correspondance</option>
<option value="flyer">Flyer</option>
<option value="site">Site Internet</option>
<option value="affiche">Affiche</option>
<option value="stand">Stand parapluie</option>
<option value="rollup">Roll'up</option>
<option value="panneaux">Panneaux</option>
<option value="drapeau">Drapeau-voile</option>
<option value="banniere">Bannière</option>
<option value="faire-part">Faire-part</option>
<option value="depliant">Dépliant</option>
<option value="catalogue">Catalogue</option>
<option value="plaquette">Plaquette</option>
<option value="pub">Encart pub</option>
<option value="voeux">Carte de voeux</option>
<option value="calendrier">Calendrier</option>
<option value="diapos">Diapositives</option>
<option value="retouche">Retouche photos</option>
<option value="illustration">Illustration</option>
<option value="broderie">Broderie</option>
<option value="autre">Autre...</option>

</select>
</p>
<div class="retour"></div>
<p>
<label for="objet">Objet</label><br/>
<textarea name="objet" id="objet"></textarea>
</p>
<div class="retour"></div>
<p>
<label for="message" class="labellong">Votre message *</label><br />
<textarea name="message" id="message"></textarea>
</p>
<div class="retour"></div>

<div class="retour"></div>

<input type="submit" name="envoyer" id="envoyer" value="Envoyer"/>
<div class="retour"></div>
<h2>* champs obligatoires</h2><br />
<p class="fontsize10">Conformément à la loi 'Informatique et Libertés' relative à l'informatique, aux fichiers et aux libertés, vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent.</p>

</form>
<?php
}
else
{
?>
<p class="msgenvoye">Votre message a bien été envoyé !<br /><br />
Je vous répondrai dans les plus brefs délais.<br /><br />
Merci de votre intérêt, à trés bientôt.</p>
<?php
}
?>
</div>

</div>
</body>
</html>

Sur internet, il est dit qu'il faut mettre un fichier .htaccess et .ovhconfig, que la cause est le changement de novembre de PHP5. Mais rien ne change...
Pouvez-vous m'aider ?
Je commence à désespérer de trouver la solution...
Merci d'avance

2 réponses

Utilisateur anonyme
23 déc. 2014 à 22:03
Tu es chez OVH alors? Car selon les serveurs ou ce que tu utilises (comme Wamp) la fonction mail ne fonctionne pas.
0
Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014
23 déc. 2014 à 22:08
oui je suis chez OVH et mon formulaire fonctionnait il y a quelques semaines....
J'ai envoyé un message au support OVH mais je n'ai pas eu de réponse...
0
Utilisateur anonyme > Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014
Modifié par ZeNairolf le 23/12/2014 à 22:11
Oui enfin OVH peut sembler pas mal, mais il a beaucoup de défaut ...

Sinon, voilà l'exemple d'envois de mail chez OVH

 <?php
$headers ='From: mon_adresse@votredomaine.com'."\n";
$headers .='Reply-To: adresse@votredomaine.com'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
mail('adresseemaildedestination@domaine.com', 'Sujet', 
'Message contenu de l email', $headers); 
?>


Il semble qu'ils sont pointilleux sur l'envoie de mail.
0
Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014 > Utilisateur anonyme
23 déc. 2014 à 22:15
dans from et reply, je mets quoi comme adresse email ?
Ce problème m'embrouille tellement le cerveau que mes neurones fument...
0
Utilisateur anonyme > Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014
23 déc. 2014 à 22:20
From: c'est ton adresse, techniquement avec OVH tu as des adresses fournit. Et Reply ça peut être la même ou une autre adresse du genre no-reply@domaine.com
0
Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014 > Utilisateur anonyme
23 déc. 2014 à 22:24
Je viens de faire un essai
JE TE REMERCIE INFINIMENT !!!!!!!!!!!!!! :)
j'ai un ami qui est chez 1&1 et qui a le même problème tu crois que ça marchera si je lui donne la soluce ?
0
Neferperrine Messages postés 8 Date d'inscription mardi 23 décembre 2014 Statut Membre Dernière intervention 25 décembre 2014
25 déc. 2014 à 12:19
Tout d'abord, je te souhaite un joyeux Noël !!
J'ai réussi à ce que le mail s'nevoie presque correctement, les retours à la ligne se font maintenant mais y a toujours les <br>...
Par contre, les champs obligatoires ne se vérifient pas, donc on peut m'envoyer un formulaire vierge...
J'aimerai qu'ils puissent m'envoyer un fichier joint à mon formulaire, mais j'ai pris un exemple mais je ne sais pas quoi mettre au dessus du doctype.
Je veux juste que la pièce jointe qu'ils vont m'envoyer soit jointe ua mail que je recevrai.
Voici le code modifié :
<?php
if(isset($_POST['envoyer']))
{
/* Recuperation des variables via POST*/
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$demande=$_POST['demande'];
$produit=$_POST['produit'];
$message=$_POST['message'];

/* Info contact */
$contenu= "Nom : $nom"." "."Prénom : $prenom"."\n";
$contenu .="Email : $email "."\n";
$contenu .="Téléphone : $telephone "."\n";
$contenu .="Contact pour : $demande "."\n";
$contenu .="Objet :$produit "."\n";
$contenu .="Message : $message"."\n";

/* Replace le \ par un - */
$contenu=str_replace(chr(92),"-", $contenu);

/* Inutile désormais :) */
/* $contenu=str_replace(chr(10),"<br />", $contenu);
*/
$contenu=utf8_decode($contenu);


/* Headers de l email */
$headers ='From: perrine@gmail.com'."\n";
$headers .='Reply-To: perrine@gmail.com'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

/* Dest et objet de l email */
$to="perrine@gmail.com";
$objet="message envoyé depuis le formulaire de contact";
$objet=utf8_decode($objet);

/* Envoi de l'email */
mail($to, $objet, $contenu, $headers);


}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perrine</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="menu.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="images/favicon.ico" >
<link href="nivoslider.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="scripts/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="scripts/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript" src="scripts/jquery.nivo.slider.js"></script>



<!--formulaire-->
<script type="text/javascript">
function verif(form) {

frm=document.forms[form];

var email = frm.elements['email'].value;
var re1 = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;

if (!email.match(re1)) {
alert("Veuillez vérifier le format de votre adresse e-mail.");
frm.elements['email'].focus();
return false;
}

else if(frm.elements['nom'].value=="") {
alert("Saisissez votre nom");
frm.elements['nom'].focus();
return false;
}

else if(frm.elements['prenom'].value=="") {
alert("Saisissez votre prénom");
frm.elements['prenom'].focus();
return false;
}

else if(frm.elements['telephone'].value=="") {
alert("Merci de me communiquer le numéro de téléphone sur lequel vous voulez étre contacté(e)");
frm.elements['telephone'].focus();
return false;
}

else if(frm.elements['produit'].value=="") {
alert("Saisissez l'objet de votre contact");
frm.elements['produit'].focus();
return false;
}

else if(frm.elements['message'].value=="") {
alert("Saisissez un message");
frm.elements['message'].focus();
return false;
}
}
</script>
<!--fin formulaire-->
<link href="formulaire.css" rel="stylesheet" type="text/css" />

</head>
<body>

<div id="principale">

<?php include("_header.html")
?>

<div class="retour"></div>

<div id="contenu">

<div id="formcontact">
<h1>Formulaire de contact</h1>
<?php
if(!isset($_POST['envoyer']))
{
?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?> "id="form" method="post" onsubmit="return verif('form')">


<div id="infos">
<p>
<label for="prenom">Prénom *:</label>
<input type="text" name="prenom" id="prenom" />
</p>
<div class="retour"></div>
<p>
<label for="nom">Nom *:</label>
<input type="text" name="nom" id="nom" />
</p>
<div class="retour"></div>
<p>
<label for="email">Email *:</label>
<input type="text" name="email" id="email" />
</p>

<p>
<label for="telephone">Téléphone *:</label>
<input type="text" name="telephone" id="telephone" />
</p>
</div>

<p>
<label for="demande" class="labellong">Vous souhaitez me contacter pour *</label>
<select id="demande" name="demande">
<option selected="selected" value="">sélectionnez</option>
<option value="commentaire">Un commentaire</option>
<option value="question">Une question</option>
<option value="devis">Un devis</option>
<option value="devis">Un rendez-vous</option>
<option value="autre">Autre...</option>
</select>
</p>
<div class="retour"></div>
<div id="sujet">
<p>
<label for="produit" class="labellong">Saisissez l'objet de votre demande </label>
<select id="produit" name="produit">
<option selected="selected" value="">choisissez</option>
<option value="logo">Logo</option>
<option value="carte">Carte de visite</option>
<option value="correspondance">Correspondance</option>
<option value="flyer">Flyer</option>
<option value="site">Site Internet</option>
<option value="affiche">Affiche</option>
<option value="stand">Stand parapluie</option>
<option value="rollup">Roll'up</option>
<option value="panneaux">Panneaux</option>
<option value="drapeau">Drapeau-voile</option>
<option value="banniere">Bannière</option>
<option value="faire-part">Faire-part</option>
<option value="depliant">Dépliant</option>
<option value="catalogue">Catalogue</option>
<option value="plaquette">Plaquette</option>
<option value="pub">Encart pub</option>
<option value="voeux">Carte de voeux</option>
<option value="calendrier">Calendrier</option>
<option value="diapos">Diapositives</option>
<option value="retouche">Retouche photos</option>
<option value="illustration">Illustration</option>
<option value="broderie">Broderie</option>
<option value="autre">Autre...</option>

</select>
</p>
<div class="retour"></div>
<p>
<label for="objet">Objet</label><br/>
<textarea name="objet" id="objet"></textarea>
</p>
<div class="retour"></div>
<p>
<label for="message" class="labellong">Votre message *</label><br />
<textarea name="message" id="message"></textarea>
</p>
<div class="retour"></div>
<div class="field">
<div class="label wild"><label for="cv">Joindre votre CV *</label></div>
<input type="file" class="inputbox" name="fichier" id="fichier" />
</div>
</div>
<div class="retour"></div>

<input type="submit" name="envoyer" id="envoyer" value="Envoyer"/>
<div class="retour"></div>
<h2>* champs obligatoires</h2><br />
<p class="fontsize10">Conformément à la loi 'Informatique et Libertés' relative à l'informatique, aux fichiers et aux libertés, vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent.</p>

</form>
<?php
}
else
{
?>
<p class="msgenvoye">Votre message n'a pas été envoyé !<br /><br />
Merci de votre intérêt, à trés bientôt.</p>
<?php
}
?>
</div>
</div>

</div>
</div>
</body>
</html>


Je ne reçois pas le fichier... J'ai essayé de voir le code sur certains site qui le font mais je n'arrive pas à voir la partie au dessus du doctype...
Merci d'avance de ton aide !
0