Indiquer qu'on utilise du php dans le html ?

Fermé
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 - 3 juil. 2009 à 19:30
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 - 4 juil. 2009 à 07:41
Bonjour,

Voila je viens de créer une fichier Contact.php que j'ai mis à la racine avec à l'interieur un code pour un formulaire de contact, mais je ne c'est pas quel code utilise dans dans mon index.html pour que mon php fonctionne? j'ai déjà essayer sa :

<ul>
<li><a href="Contact.php">Contact</a></li>
</ul>

mais sa ne fonctionne pas , le code s'affiche très bizarrement sur le site avec une moitié du formulaire et une moité de code . je comprend pas quelqu'un serais pouvoir m'aider svp?

18 réponses

BanBan55 Messages postés 363 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 9 juin 2024 45
3 juil. 2009 à 19:34
pourquoi n'utilise tu pas ton formulaire dans un index.php ?
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
3 juil. 2009 à 19:35
Tu peux essayer de changer l'extension de ton index.html en index.php . Si cela ne marche pas pourrais tu mettre plus de code ? Comme Contact ? Si tu veux pour stocker ton code : https://pastebin.com/

Edit : Je me suis fait devancer par BanBan55 ^^
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 19:40
Je comprend pas trop bien ta réponse Alban , je me réexplique pour l'instant dans mon site j'ai à la racine :

index.html : là page d'accueil de mon site
Parcours.html : mon parcours professionnel
projets.html : mes projets
Contact.html : Pour qu'on puisse me contacter
Contact.php : Le fameux formulaire , j'aimerais qu'il s'affiche dans mon Contact.html . ( c'est la oû est le problème , j'ai bien créer ce fichier en php avec le code mais aprés je sais pas du tout quoi faire pour que il apparaisse sur Contact.html )

Quelqu'un peu m'aider svp?

Voici le code du formulaire :

<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='s.pezin@cegetel.net';
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<title>Contact</title>
<style type="text/css">
form#contact{border:2px solid red;width:70%;padding:1em}
p#msg,p#adr,p#obj{border:2px solid green;margin-right:10%;padding:10px}
p#msg textarea{border:2px solid blue;height:30em;width:80%}
p#adr input,p#obj input{border:2px solid blue}
p.bt{text-align:center}
p.bt input{border:1px red solid;width:50%}
</style>
<meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ltr;">
<h1>Contact</h1>
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);

$apercu_resultat='<p>Aperçu du résultat :</p>';

/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p id='obj'><label for='objet'>Objet de votre message :<br>
<input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p>

<p id="adr"><label for="mail">Votre Adresse E-mail<br>
<input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p>

<p id="msg"><label for="message">Votre message<br>
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<?php echo $bas_formulaire;?>
</form>
</body>
</html>
0
BanBan55 Messages postés 363 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 9 juin 2024 45
3 juil. 2009 à 19:42
à la place de contact.html , utilise contact.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
3 juil. 2009 à 19:44
Tu veux que Contact.php s'affiche dans Contact.html tout le temps ? Dans ce cas soit tu met ton Contact.html en php et tu met ton formulaire dedans. Ou alors tu veux qu'il apparaisse que si le visiteur réalise une action ?

Edit : toujours devancé par BanBan55 :D
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 19:44
c'est à dire? tout ce qui est dans mon contact.html je le place en haut de mon contact.php?
0
BanBan55 Messages postés 363 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 9 juin 2024 45
3 juil. 2009 à 19:47
non tu retire ton contact.html puis à la place tu vas mettre ton formulaire dans une page qui sera au nom contact.php

Le fichier contact.html ne va pas servir puisque tu pointe les liens vers contact.php qui fera apparaitre ton formulaire
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
3 juil. 2009 à 19:47
Tu prends ton Contact.html tu change le en php et la tu met la où tu souhaite voir ton formulaire ta page actuelle de contact.php mais bien sur sans les <head> etc...

Edit : encore devancé décidément ^^
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 19:47
Nan j'aimerais qu'il y soit tout le temps ce formulaire de contact , j'ai creer un menu Contact et dedans j'aimerais mettre mon formulaire.
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 19:49
ok mais le souci c'est que dans mon contact.html j'ai ma bannière , mon menu et le fond de mon site qui son afficher , donc je vais perdre tout sa.
0
BanBan55 Messages postés 363 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 9 juin 2024 45
3 juil. 2009 à 19:50
non copie le contenu du html dans le php tu garde le formulaire dans le php
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
3 juil. 2009 à 19:51
Je ne vois pas pourquoi tu perdrais tout car il faut juste que tu mette ce qu'il y a entre les <body> de ton actuelle Contact.php. Bien sur tu ne met pas les <head>, <meta>....
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 19:53
Ok merci donc en gros je prend mon contact.html je change l'extension en php , j'insere mon code php dedans et tous ce qui se trouve dans mon ancien contact.html je le met entre les balises <body> ?
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
3 juil. 2009 à 19:55
Eu en fait non. Tu laisse ton ancienne page contact.html tu copie ce qu'il y entre <body> de ta page contact.php et la tu colle dans le body de ta page contact.html. J'espère que je suis assez claire ^^
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 20:03
Oui assez clair , donc j'ai bien faire ce que tu m'a fais seulement quand je clique dans mon menu contact , je vois bien un bout du formulaire mais je vois aussi plein de ligne du code
voila ce que j'ai fais j'ai pris le contenu du body de mon php :

<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='s.pezin@cegetel.net';
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<title>Contact</title>
<style type="text/css">
form#contact{border:2px solid red;width:70%;padding:1em}
p#msg,p#adr,p#obj{border:2px solid green;margin-right:10%;padding:10px}
p#msg textarea{border:2px solid blue;height:30em;width:80%}
p#adr input,p#obj input{border:2px solid blue}
p.bt{text-align:center}
p.bt input{border:1px red solid;width:50%}
</style>
<meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ltr;">
<h1>Contact</h1>
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);

$apercu_resultat='<p>Aperçu du résultat :</p>';

/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p id='obj'><label for='objet'>Objet de votre message :<br>
<input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p>

<p id="adr"><label for="mail">Votre Adresse E-mail<br>
<input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p>

<p id="msg"><label for="message">Votre message<br>
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<?php echo $bas_formulaire;?>
</form>

</body>
</html>

et j'ai coller tout sa dans le body de mon html qui est :

<html>
<head>
<body>

<title>Sébastien , étudiant en Audiovisuel , option : Multimédia</title>
</head>
<BODY BGCOLOR="#000000">
<p></p>
</body>
</html><br>
<a href="https://www.118712.fr/sortir.html " target="_blank"><center><img src="images/banniere.jpg"</center></a>


<body>
<div class="hovermenu">
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="Parcours.html">Parcours</a></li>
<li><a href="#">Projets</a></li>
<li><a href="#">Mon CV</a></li>
<li><a href="Contact.php">Contact</a></li>

</ul>
</div>

style="direction: ltr;">
<h1>Contact</h1>
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);

$apercu_resultat='<p>Aperçu du résultat :</p>';

/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p id='obj'><label for='objet'>Objet de votre message :<br>
<input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p>

<p id="adr"><label for="mail">Votre Adresse E-mail<br>
<input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p>

<p id="msg"><label for="message">Votre message<br>
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<?php echo $bas_formulaire;?>
</form>




</body>
<head><style type="text/css">
.hovermenu ul{
font: bold 20px arial;
padding-left: 0px;
margin-left: 590px;
height: 0px;
}

.hovermenu ul li{
list-style: none;
display: inline;
}

.hovermenu ul li a{
padding: 1px 0.5em;
text-decoration: none;
float: left;
color: black;
background-color: #C0C0C0;
border: 1px solid #000000;
}

.hovermenu ul li a:hover{
background-color: #66CCFF;
border-style: outset;
}

html>body .hovermenu ul li a:active{ /* applique un effet mousedown sur les navigateurs autres que IE */
border-style: inset;
}
</style><br><br><br></head>

et voila , sa marche a moitier
0
Cbast7 Messages postés 112 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 15 juin 2011 21
3 juil. 2009 à 20:34
Je croi que je vais y passer toute la nuit pour trouver ce probleme et encore ^^ j'éspere que y'aura du monde pour m'aider =(
0
BanBan55 Messages postés 363 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 9 juin 2024 45
3 juil. 2009 à 20:37
regarde tes MP Cbast7
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
4 juil. 2009 à 07:41
Essaye ce code (tu avait laissé plusieurs <body>) :

<html> 
<head> 


<title>Sébastien , étudiant en Audiovisuel , option : Multimédia</title> 
</head> 
<BODY BGCOLOR="#000000"> 

<p><br> 
<a href="https://www.118712.fr/sortir.html " target="_blank"><center><img src="images/banniere.jpg"</center></a> 

</p> 
<div class="hovermenu"> 
<ul> 
<li><a href="index.html">Accueil</a></li> 
<li><a href="Parcours.html">Parcours</a></li> 
<li><a href="#">Projets</a></li> 
<li><a href="#">Mon CV</a></li> 
<li><a href="Contact.php">Contact</a></li> 

</ul> 
</div> 

style="direction: ltr;"> 
<h1>Contact</h1> 
<?php 
$Previsualiser='<p class="bt"> 
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>'; 
$Envoi="\n".'<p class="bt"> 
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>'; 
if (isset($_POST['message'])) 
{ 
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne 
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#'; 
//quelques remplacements pour les specialchars 
$message=preg_replace('#(<|>)#', '-', $_POST['message']); 
$message=str_replace('"', "'",$message); 
$message=str_replace('&', 'et',$message); 
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']); 
$objet=str_replace('"', "'",$objet); 
$objet=str_replace('&', 'et',$objet); 
// On assigne et/ou protège nos variables 
$votremail=stripslashes(htmlentities($_POST['votremail'])); 
$message=stripslashes(htmlspecialchars($message)); 
$objet=stripslashes(htmlspecialchars($objet)); 
//input envoi/previsualiser 
$envoi=htmlentities($_POST['envoi']); 
$previsualiser=htmlentities($_POST['previsualiser']); 
//on enlève les espaces 
$votremail=trim($votremail); 
$message=trim($message); 
$objet=trim($objet); 

$apercu_resultat='<p>Aperçu du résultat :</p>'; 

/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction. 
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/ 
//Si ca ne vas pas (mal rempli, mail non valide...) 
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail))) 
{ 
//les 3 champs sont vides 
if(empty($votremail)and(empty($message))and(empty($objet))) 
{ 
echo '<p>Tous les champs sont vides.</p>'; 
$message='';$votremail='';$objet='';$apercu_resultat=''; 
} 
//un des champs est vide 
else 
{ 
if(!preg_match($verif,$votremail)) 
echo'<p>Votre adresse e-mail n\'est pas valide.</p>'; 
else 
{ 
echo'<p>Il faut remplir tous les champs !</p>'; 
if(empty($message)) 
$apercu_resultat=''; 
} 
} 
} 
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi 
else 
{ 
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail); 
$DomaineMailExiste=checkdnsrr($domaine,'MX'); 
if(!$DomaineMailExiste) 
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>'; 
elseif(!empty($previsualiser)) 
{ 
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés. 
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>'; 
$Previsualiser=''; 
} 
elseif(!empty($envoi)) 
{ 
$objet='[SITE] : '.$objet; 
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i'); 
if(mail($destinataire,$objet,$message,$headers)) 
{ 
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>'; 
$Envoi=''; 
$Previsualiser=''; 
} 
else 
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>'; 
} 
else 
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>'; 
} 
echo $apercu_resultat; 
} 
else 
{ 
echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>'; 
$votremail='';$message=''; 
} 
$bas_formulaire=$Previsualiser.$Envoi; 
?> 
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data"> 
<p id='obj'><label for='objet'>Objet de votre message :<br> 
<input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p> 

<p id="adr"><label for="mail">Votre Adresse E-mail<br> 
<input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p> 

<p id="msg"><label for="message">Votre message<br> 
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea> 
</label></p> 
<?php echo $bas_formulaire;?> 
</form> 



</body> 
<head><style type="text/css"> 
.hovermenu ul{ 
font: bold 20px arial; 
padding-left: 0px; 
margin-left: 590px; 
height: 0px; 
} 

.hovermenu ul li{ 
list-style: none; 
display: inline; 
} 

.hovermenu ul li a{ 
padding: 1px 0.5em; 
text-decoration: none; 
float: left; 
color: black; 
background-color: #C0C0C0; 
border: 1px solid #000000; 
} 

.hovermenu ul li a:hover{ 
background-color: #66CCFF; 
border-style: outset; 
} 

html>body .hovermenu ul li a:active{ /* applique un effet mousedown sur les navigateurs autres que IE */ 
border-style: inset; 
} 
</style><br><br><br>
</body> 
</html>
0