PHP
Il est possible de placer CSS et javascript dans la partie HEAD d' un script HTML, mais PHP doit impérativement se trouver dans une page à part. Ici elle est nommée process.php, mais vous pouvez la renommer en faisant bien attention qu' elle corresponde bien à votre script HTML (action=blabla.php) et aussi dans javascript après $.ajax({ url:"blabla.php",
<?php
//pour éviter les vilains slashes dans le texte de votre message
if (get_magic_quotes_gpc()) {
function stripslashes_deep($comment)
{
$comment = is_array($comment) ?
array_map('stripslashes_deep', $comment) :
stripslashes($comment);
return $comment;
}
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
//Retrieve form data.
//GET - l' utilisateur envoie les données utilisant AJAX
//POST -l' utilisateur n' a pas javascript installé, POST sera utilisé à la place
$name = ($_GET['name']) ? $_GET['name'] : $_POST['name'];
$email = ($_GET['email']) ?$_GET['email'] : $_POST['email'];
$website = ($_GET['website']) ?$_GET['website'] : $_POST['website'];
$comment = ($_GET['comment']) ?$_GET['comment'] : $_POST['comment'];
//flag to indicate which method it uses. If POST set it to 1
if ($_POST) $post=1;
//Simple server side validation for POST data, of course,
//you should validate the email
if (!$name) $errors[count($errors)] = 'Veuillez entrer votre pseudo.';
if (!$email) $errors[count($errors)] = 'Veuillez entrer votre adresse courriel.';
if (!$comment) $errors[count($errors)] = 'Veuillez entrer votre commentaire.';
//if the errors array is empty, send the mail
if (!$errors) {
//le destinataire c'est vous - indiquer votre vraie adresse courriel
$to = 'mon@adresse.mail';
//l' expéditeur est identifié ici
$from = $name . ' <' . $email . '>';
//Indiquer dans quelle page est situé le formulaire (surtout si vous avez plusieurs formulaires)
$subject = 'depuis (ma page)' . $name;
$message = '
<!DOCTYPE html><html lang=fr>
<head><meta charset=utf-8>
<style>
div
{font-size:14px}
</style>
</head>
<body>
<div><b>Pseudo:</b> ' . $name . '</div>
<div><b>Courriel:</b> ' . $email . '</div>
<div><b>Site web:</b> ' . $website . '</div>
<div><b>Commentaire:</b><br>' . nl2br($comment) . '</div>
</body>
</html>';
//envoi du courrier
$result = sendmail($to, $subject, $message, $from);
//if POST was used, display the message straight away
if ($_POST) {
if ($result) echo 'Merci, votre message a bien été envoyé.';
else echo 'Erreur innatendue. Veuillez réessayer plus tard';
//else if GET was used, return the boolean value so that
//ajax script can react accordingly
//1 means success, 0 means failed
} else {
echo $result;
}
//if the errors array has values
} else {
//display the errors message
for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
echo '<a href="url de la page contenant le formulaire">Retour</a>';
exit;
}
//Simple mail function with HTML header
function sendmail($to, $subject, $message, $from) {
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=uft-8" . "\r\n";
$headers .= 'From: ' . $from . "\r\n";
$result = mail($to,$subject,$message,$headers);
if ($result) return 1;
else return 0;
}
?>
Commentaires (3)
Sam
( Haïti )
C' est fantastique
Pseudo: Muoi
Site web:
http://tanklitunkli.com/
Commentaire:
Do you have any tips for writing posts? That's where I constantly struggle and I simply end up staring vacant screen for long period of time.