|
|
|
|
Bonjour voila je vien de créer un formaulaire de contact en 2 fichier php mais malheureusement ca n'envoi pas sur mon email voici les code si qqun peut m'aider :
contact.php
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body>
<div id="body">
<div id="content">
<h2>Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name"/>
<br />
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email"/>
<br />
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet"/>
<br />
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</center>
</body>
</html>
mail.php
<?php
if($send =="envoi")
{
if($Name =="")
{
// On verifie le nom
echo("Le champ Nom est vide !");
}
else
{
if($Message =="")
{
// On verifie le message
echo("Le champ Message est vide !");
}
else
{
// On verifie le sujet
if($Sujet =="")
{
echo("Le champ sujet est vide !");
}
else
{
// On verifie l'email
if($Email =="")
{
echo("Le champ email est vide !");
}
else
{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body>
<div id="body">
<div id="content">
<h2>Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name"/>
<br />
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email"/>
<br />
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet"/>
<br />
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</center>
</body>
</html>
merci d'avance
Salut,
|
Tiens, essaye ça :
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
Dur dur la rentrée... |
Voila ce qui s'affiche en haut de mon formulaire :
|
Oui, en effet
|
Effectivement, il faut que tu regrouppes le nom de l'expéditeur dans ton message, sinon, php ne comprendra pas le paramètres. Il n'est pas correct pour lui.
$Message .= " $Nom"; Ce qui donne : <?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
Dur dur la rentrée... |
Répondre à jay-jay
|
C'est un peu compliqué à faire pour les fichiers attachés.
|
Salut,
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if(($Email == "") || (!preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $Email))){
echo "L'adresse E-mail n'est pas valide \n";
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
Mais j'ai un peu peur que tu grilles les étapes en utilisant les regex (expressions régulières) à ce stade. C'est de loin la meilleur solution pour vérifier les mail, mais fais attention à ne pas prendre de script trop pré-conçu. Je ne suis pas sûr que tu aie comris ce que tu avais fais, sinon tu te serais sûrement passé de la fonction, tu aurais fais une simple vérification... Par contre, si tu as tout compris, bravo ! P.S. utilise < code> et </ code> quand tu veux écrire du code, c'est mieux s'il est mise en forme correctement (avec les espaces au début des lignes) dans tes messages. Moi chuis moi et toi chais pas... |
Bonsoir à tous,
|