Invité
Invité n'ayant pas de compte PHPfrance
24 mai 2011, 16:29
salut,
Si tu souhaite que l'on te fasse le code, ce n'est pas le bon forum, il y en a un pour les demandes de code tout cuit.
ce que tu souhaite faire est assez simple, le dernier code fournit montre que tu ne respecte même pas la syntaxe des variables, ce qui fait que ton code ne risque pas de fonctionner.
@+
le dernier code fournit est un copier coller d'un code trouvé sur le net tout comme celui ci :
est-il bon ? car il ne fonctionne pas chez moi.
et puis même si on me donne pas le code "tout cuit" comme tu dit, la moindre des choses serait de me dire "la c'est pas bon parce que .... tu devrais essayer ça : ...."
parce que là les mots "syntaxe des variables" c'est du chinois pour moi.
jenn',
n'ont pas de solution pour le moment.
<?php
/* Si le formulaire est envoyé alors on fait les traitements */
if (isset($_POST['envoye']))
{
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$civilite = stripslashes(trim($_POST['civilite']));
$nom = stripslashes(trim($_POST['nom']));
$expediteur = stripslashes(trim($_POST['email']));
$sujet = stripslashes(trim($_POST['sujet']));
$message = stripslashes(trim($_POST['message']));
}
else
{
$civilite = trim($_POST['civilite']);
$nom = trim($_POST['nom']);
$expediteur = trim($_POST['email']);
$sujet = trim($_POST['sujet']);
$message = trim($_POST['message']);
}
/* Expression régulière permettant de vérifier si le
* format d'une adresse e-mail est correct */
$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
/* Expression régulière permettant de vérifier qu'aucun
* en-tête n'est inséré dans nos champs */
$regex_head = '/[\n\r]/';
/* Si le formulaire n'est pas posté de notre site on renvoie
* vers la page d'accueil */
if($_SERVER['HTTP_REFERER'] != 'http://www.marjorie.laforest.voila.net/traitement.php')
{
header('Location: http://marjorie.laforest.voila.net/');
}
/* On vérifie que tous les champs sont remplis */
elseif (empty($civilite)
|| empty($nom)
|| empty($expediteur)
|| empty($sujet)
|| empty($message))
{
$alert = 'Tous les champs doivent être renseignés';
}
/* On vérifie que le format de l'e-mail est correct */
elseif (!preg_match($regex_mail, $expediteur))
{
$alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
}
/* On vérifie qu'il n'y a aucun header dans les champs */
elseif (preg_match($regex_head, $expediteur)
|| preg_match($regex_head, $nom)
|| preg_match($regex_head, $sujet))
{
$alert = 'En-têtes interdites dans les champs du formulaire';
}
/* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
elseif (!isset($_COOKIE['sent']))
{
/* Destinataire (votre adresse e-mail) */
$to = '[email protected]';
/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis marjorie.laforest.voila.net par '.$civilite.' '.$nom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";
/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
/* Envoi de l'e-mail */
if (mail($to, $sujet, $msg, $headers))
{
$alert = 'E-mail envoyé avec succès';
/* On créé un cookie de courte durée (ici 120 secondes) pour éviter de
* renvoyer un mail en rafraichissant la page */
setcookie("sent", "1", time() + 120);
/* On détruit la variable $_POST */
unset($_POST);
}
else
{
$alert = 'Erreur d\'envoi de l\'e-mail';
}
}
/* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
else
{
unset($_POST);
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr">
<head>
<title>Contactez moi</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<?php
if (!empty($alert))
{
echo '<p style="color:red">'.$alert.'</p>';
}
?>
<form action="index.php" method="post">
<p>
<label for="civilite">Civilite :</label>
<select id="civilite" name="civilite">
<option
value="mr"
<?php
if (!isset($_POST['civilite']) || $_POST['civilite'] == 'mr')
{
echo ' selected="selected"';
}
?>
>
Monsieur
</option>
<option
value="mme"
<?php
if (isset($_POST['civilite']) && $_POST['civilite'] == 'mme')
{
echo ' selected="selected"';
}
?>
>
Madame
</option>
<option
value="mlle"
<?php
if (isset($_POST['civilite']) && $_POST['civilite'] == 'mlle')
{
echo ' selected="selected"';
}
?>
>
Mademoiselle
</option>
</select>
</p>
<p>
<label for="nom">Nom/Prenom :</label>
<input type="text" id="nom" name="nom"
value="<?php echo (isset($_POST['nom'])) ? $nom : '' ?>"
/>
</p>
<p>
<label for="email">E-mail :</label>
<input type="text" id="email" name="email"
value="<?php echo (isset($_POST['email'])) ? $expediteur : '' ?>"
/>
</p>
<p>
<label for="sujet">Sujet :</label>
<input type="text" id="sujet" name="sujet"
value="<?php echo (isset($_POST['sujet'])) ? $sujet : '' ?>"
/>
</p>
<p>
<label for="message">Message :</label>
<textarea id="message" name="message" cols="40" rows="4">
<?php echo (isset($_POST['message'])) ? $message : '' ?>
</textarea>
</p>
<p>
<input type="submit" name="envoye" value="Envoyer" />
</p>
</form>
</body>
</html>