1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
<?php
// Initalisation
$validContact = 0;
$MsgErrContact = '';
$defaut_nom = 'Nom';
$defaut_mail = 'Votre adresse mail';
$defaut_objet = 'Objet';
$defaut_texte = 'Texte';
$nom = $defaut_nom;
$mail = $defaut_mail;
$objet = $defaut_objet;
$texte = $defaut_texte;
// si le formulaire est post�
if (isset($_POST['B1']))
{
// ----------------------------------------------------
// R�cup�ration des valeurs des champs du formulaire
// ----------------------------------------------------
$nom = (isset($_POST['nom']) && trim($_POST['nom'])!=$defaut_nom)? trim(stripslashes($_POST['nom'])) : $defaut_nom;
$mail = (isset($_POST['mail']) && trim($_POST['mail'])!=$defaut_mail)? trim(stripslashes($_POST['mail'])) : $defaut_mail;
$objet = (isset($_POST['objet']) && trim($_POST['nom'])!=$defaut_objet)? trim(stripslashes($_POST['objet'])) : $defaut_objet;
$texte = (isset($_POST['texte']) && trim($_POST['nom'])!=$defaut_texte)? strip_tags(trim(stripslashes($_POST['texte']))) : $defaut_texte; // textarea + protection anti-xss
// ----------------------------------------------------
// Gestion des erreurs
// ----------------------------------------------------
// champs obligatoires
$champ_obligatoire = array();
// Message
if ($nom=='' || $nom==$defaut_nom) { $validContact = 2; $champ_obligatoire[] = 'Votre Nom'; }
if ($mail=='' || $mail==$defaut_mail) { $validContact = 2; $champ_obligatoire[] = 'Votre adresse mail'; }
if($validContact==2 && count($champ_obligatoire)>0) {
$MsgErrContact .= 'Remplissez les champs obligatoires : '.implode(', ',$champ_obligatoire).'<br />';
}
// -------------
// regex e-mail
$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
// On v�rifie que le format de l'e-mail est correct
if ($mail!='' && $mail!='Votre adresse mail' && !preg_match($regex_mail, $mail)) {
$MsgErrContact .= 'Adresse mail invalide (doit �tre de la forme : <a href="mailto:xxxx@xx.xx">xxxx@xx.xx</a>)'.'<br />';
$validContact = 2;
}
// -------------
// essai de connexion � la base de donnees
if(!mysql_connect('mysql51-26.pro','sniazllbbd2','XXXXXXX')){
$MsgErrContact .= 'Connection � la base de donnees Impossible'.'<br />';
$validContact = 2;
}
// -------------
if ($validContact!=2) {
$validContact = 1;
}
// ----------------------------------------------------
// PAS d'ERREUR : TRAITEMENT
// ----------------------------------------------------
if($validContact == 1) {
// -------------
// 1/ PROTECTION contre injection SQL AVANT insertion en bdd
$bd_nom = mysql_real_escape_string($nom);
$bd_mail = mysql_real_escape_string($mail);
$bd_objet = mysql_real_escape_string($objet);
$bd_texte = mysql_real_escape_string($texte);
// -------------
// 2/ Enregistrement en base de donn�es
mysql_select_db('sniazllbbd2');
$requete = "INSERT INTO formulaire SET nom='$bd_nom',objet='$bd_objet',texte='$bd_texte', mail='$bd_mail'" ;
$resultat = mysql_query($requete);
// -------------
// 3/ ENVOI d'un email a l'administrateur
$message = date("d/m/Y H:m:s\n")."\n".
" Nouveau contact :"."\n";
" Nom :".$nom."\n".
" Adresse mail :".$mail."\n".
" Objet :".$objet."\n".
" Texte :".$texte;
$entetes = "From: $mail\nReply-to: $mail\n".
"MIME-Version: 1.0\r\n".
"Content-type: text/plain; charset=utf-8\r\n"; // (format TEXTE)
$sujet = "Contact site SNIA de la part de ".$nom;
$webmaster = 'raphael.1@gmail.com';
mail($webmaster,$sujet,$message,$entetes);
// -------------
} // fin traitement
} // fin si le formulaire est post�
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formulaire contact</title>
<style type="text/css">
label { float:left; width:150px; text-align:right; margin-right:5px; }
</style>
</head>
<body>
<?php // Messages
if($validContact==1) { // message OK ?>
<p>Votre message a bien �t� envoy�</p>
<?php
} elseif($validContact==2) { // message ERREUR ?>
<p><?php echo $MsgErrContact; ?></p>
<?php } ?>
<?php // Formulaire
if($validContact!=1) { ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>
<label for="idnom">Nom : </label>
<input id="idnom" name="nom" type="text" size="30" value="<?php echo $nom; ?>" onfocus="if(this.value=='<?php echo $defaut_nom; ?>'){ this.value=''; }" onblur="if(this.value==''){ this.value='<?php echo $defaut_nom; ?>'; }">
</p>
<p>
<label for="idmail">Votre adresse mail : </label>
<input id="idmail" name="mail" type="text" size="30" value="<?php echo $mail; ?>" onfocus="if(this.value=='<?php echo $defaut_mail; ?>'){ this.value=''; }" onblur="if(this.value==''){ this.value='<?php echo $defaut_mail; ?>'; }">
</p>
<p>
<label for="idobjet">Objet : </label>
<input id="idobjet" name="objet" type="text" size="50" value="<?php echo $objet; ?>" onfocus="if(this.value=='<?php echo $defaut_objet; ?>'){ this.value=''; }" onblur="if(this.value==''){ this.value='<?php echo $defaut_objet; ?>'; }">
</p>
<p>
<label for="idtexte">Texte : </label>
<textarea id="idtexte" name="texte" cols="40" rows="3" onfocus="if(this.value=='<?php echo $defaut_texte; ?>'){ this.value=''; }" onblur="if(this.value==''){ this.value='<?php echo $defaut_texte; ?>'; }"><?php echo $texte; ?></textarea>
</p>
<p>
<label> </label>
<input type="submit" value="Envoyer" name="B1">
</p>
</form>
<p>
<?php } // fin formulaire ?>
</p>
<p> </p>
</body>
</html> |
Partager