Bonjour à toutes et tous ^^
Je suis en train de développer un site internet et je butte un peu sur une fonctionnalité que j'aimerais implanter dans la page contact du dit site.
<souligne>Voilà une visualisation de la page :</souligne>
<image>http://i46.servimg.com/u/f46/11/06/60/26/contac10.jpg</image>
Dans l'immédiat, j'ai écris un script PHP qui affiche le formulaire au départ s'il détecte que les variables sont vides ou inexistantes et si le visiteur n'entre pas toutes les données, le script affiche à nouveau le formulaire.
Ce qui n'est pas idéal, car le visiteur ne peut pas savoir si le message a été envoyé ou non.
Ce que je voudrais faire, c'est d'afficher un message du genre
<code type="php">
echo "<p> Le message n'a pas été envoyé car vous n'avez probablement pas correctement saisis tout les champs !</p>" ;
</code>
en bas du formulaire si les données ne sont pas correctes, mais pour ça je bute un peu, car je ne sais pas comment faire.
J'avais pensé à utiliser un variable superglobale, mais cela me semble pas du tout approprié..
Auriez-vous des suggestions à me proposer ?
Voici le code complet :
<code type="php">
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Orangedrink | Contact</title>
<meta charset="utf-8">
<meta name="description" content="Orangedrink est une entreprise familiale qui propose des oranges de sa propre plantation en Sicile et la commercialisation de machines à jus d'orange">
<meta name="keywords" content="Lausanne, Vaud, Suisse, oranges, jus, machines à presser, agrumes">
<meta name="author" content="Marc Schaefges">
<meta name="geo.placename" content="Lausanne, Vaud, Suisse">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" media="all" href="screen.css">
<link rel="shortcut icon" href="images/favicon.ico" >
<link rel="icon" type="image/gif" href="images/animated_favicon1.gif" >
</head>
<body>
<!--[if lt IE 7]>
<link rel="stylesheet" href="styles-ie6.css" />
<div style="padding: 1em; background: #900; font-size: 1.1em; color: #fff;">
<p><strong>Attention ! </strong> Votre navigateur (Internet Explorer 6 ou 7) présente de sérieuses lacunes en terme de sécurité et de performances, dues à son obsolescence (il date de 2001).<br />En conséquence, ce site sera consultable mais de manière moins optimale qu'avec un navigateur récent (<a href="http://www.browserforthebetter.com/download.html" style="color: #fff;">Internet Explorer 8</a>, <a href="http://www.mozilla-europe.org/fr/firefox/" style="color: #fff;">Firefox 3</a>, <a href="http://www.google.com/chrome?hl=fr" style="color: #fff;">Chrome</a>, <a href="http://www.apple.com/fr/safari/download/" style="color: #fff;">Safari</a>,...)</p>
</div>
<![endif]-->
<div id="header">
<a href="index.html"><img src="images/header.jpg" alt="Orangedrink Bienvenue !"/></a>
</div>
<div id="colonneliens">
<ul class="menu">
<li><a href="index.html"><img src="images/accueil.jpg" alt="Accueil"></a></li>
<li><a href="entreprise.html"><img src="images/entreprise.jpg" alt="Entreprise"></a></li>
<li><a href="oranges.html"><img src="images/oranges.jpg" alt="Oranges"></a></li>
<li><a href="machines.html"><img src="images/machines.jpg" alt="Machines"></a></li>
<li><a href="contact.php"><img src="images/contact.jpg" alt="Contact" class="actuel"></a></li>
</ul>
</div>
<div id="corps">
<div id="colonne">
<img src="images/telephone.png" alt="illustration d'un téléphone"/>
<div itemscope itemtype="http://schema.org/Organization">
<h2 class="titre_coordonnees"> <span itemprop="name">Orangedrink</span></h2>
<ul class="liste_contact">
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<li><span itemprop="streetAddress">Rue du Valentin 12</ span></li>
<li><span itemprop="postalCode">1004 Lausanne</span></li>
</div>
<li><span itemprop="telephone">Bureau +41 (0)21/311.61.68 </span></li>
<li><span itemprop="telephone">Mobile +41 (0)78/773.94.20</span></li>
<li><span itemprop="email">principessa@orangedrink.ch</span></li>
</ul>
</div>
<img src="images/secretaire.png" alt="photo de la secrétaire"/>
</div>
<div id="principal">
<h1>"Parlons de votre projet !"</h1>
<p>Vous souhaitez faire une remarque, demander de plus amples précisions ou tout simplement recevoir un devis dans les plus brefs délais ?</p>
<p>N'hésitez pas à nous contacter, vous recevrez une réponse rapide et précise!</p>
<hr>
<?php
//Script écrit par Marc Schaefges pour le site Orangedrink et avec l'aide du site du zéro
$year = date("Y");
if (isset($_POST["nom"]) && !empty($_POST['nom']) && isset($_POST["telephone"]) && !empty($_POST['telephone']) && isset($_POST["adresse_mail"]) && !empty($_POST['adresse_mail']) && isset($_POST["annee"]) && !empty($_POST['annee']) && isset($_POST["commentaire"]) && !empty($_POST['commentaire']) && (($_POST['annee']) == $year))// Contrôle si les variables ne sont pas vides et existantes et si l'année entrée par le client correspond à la date actuelle .
{
$nom = (htmlspecialchars($_POST['nom'])); // On contrôle avec htmlspecialchars que le client ne rentre pas du code html qui pourrait être malveillant .
$telephone = (htmlspecialchars ($_POST['telephone']));
$adresse_mail = (htmlspecialchars ($_POST['adresse_mail']));
$commentaire = (htmlspecialchars ($_POST['commentaire']));
$destinataire = 'xxxx';
// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
$expediteur = 'Orangedrink';
$copie = 'xxxx';
$objet = 'Un nouveau message provenant du site internet !'; // Objet du message
$headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Reply-To: '.$adresse_mail."\n"; // Mail de reponse
$headers .= 'From: "Site internet Orangedrink"<'.$expediteur.'>'."\n"; // Expediteur
$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
$headers .= 'Cc: '.$copie."\n"; // Copie Cc
$sujet = "Nouveau message provenant du site internet";
$message = " Voici ci-dessous les coordonnées et la demande du client :\n\n " ;
$message .= " $nom \n ";
$message .= " $telephone \n " ;
$message .= " $adresse_mail \n\n " ;
$message .= " $commentaire" ;// Contenu du message repris des variables envoyées par le formulaire .
$heure = date("H");
$result = mail( $destinataire, $sujet, $message, $headers);
if( $result == true AND ( $heure >= 7 AND $heure <= 18 ) )
{
echo "<p>Bonjour ! <br/> Merci pour votre message, nous prendrons contact avec vous dans les plus brefs délais </p>"; // Il fait jour , on dit bonjour .
}
elseif ( $result == true AND ( $heure > 18 OR $heure < 7 ))
{
echo "<p>Bonsoir ! <br/> Merci pour votre message, nous prendrons contact avec vous dans les plus brefs délais .</p>"; // Il fait nuit , on dit bonsoir .
}
else
{
echo "<p> Le message n'a pas été envoyé , une erreur est survenue, veuillez svp essayer ultérieurement !</p>" ;
}
}
else // Affichage du formulaire si les variables ne sont pas existantes et/ou vides
{
?>
<form action="contact.php" method="post" >
<label for="nom">
Nom ( ou entreprise ):
</label>
<input type="text" name="nom" id="nom" required title="Un nom est requis!" />
<label for="telephone">
Téléphone :
</label>
<input type="tel" name="telephone" id="telephone" required title="Un numéro de téléphone est requis!" />
<label for="adresse_mail">
Adresse mail :
</label>
<input type="email" name="adresse_mail" id="adresse_mail" required title="Une adresse mail est requise !" />
<label for="annee">
En quelle année sommes-nous ? ( protection anti-spams ) :
</label>
<input id="annee" name="annee" required title="Veuillez svp rentrer l'année en cours!" />
<label for="commentaire">
Votre message :
</label>
<textarea required title="Veuillez svp laisser un message!" name="commentaire" id="commentaire" rows="10" cols="50"></textarea>
<button>Envoyer !</button>
</form>
<?php
}
?>
</div>
</div>
<div id="footer">
<img src="images/footer.png" alt="pied de page montrant des photos d'oranges et une petite fille qui boit avec une paille dans une orange"/>
</div>
</body>
</html>
</code>
Je vous remercie par avance et vous souhaite un excellent week-end.
Cordialement
Marc
Je suis en train de développer un site internet et je butte un peu sur une fonctionnalité que j'aimerais implanter dans la page contact du dit site.
<souligne>Voilà une visualisation de la page :</souligne>
<image>http://i46.servimg.com/u/f46/11/06/60/26/contac10.jpg</image>
Dans l'immédiat, j'ai écris un script PHP qui affiche le formulaire au départ s'il détecte que les variables sont vides ou inexistantes et si le visiteur n'entre pas toutes les données, le script affiche à nouveau le formulaire.
Ce qui n'est pas idéal, car le visiteur ne peut pas savoir si le message a été envoyé ou non.
Ce que je voudrais faire, c'est d'afficher un message du genre
<code type="php">
echo "<p> Le message n'a pas été envoyé car vous n'avez probablement pas correctement saisis tout les champs !</p>" ;
</code>
en bas du formulaire si les données ne sont pas correctes, mais pour ça je bute un peu, car je ne sais pas comment faire.
J'avais pensé à utiliser un variable superglobale, mais cela me semble pas du tout approprié..
Auriez-vous des suggestions à me proposer ?
Voici le code complet :
<code type="php">
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Orangedrink | Contact</title>
<meta charset="utf-8">
<meta name="description" content="Orangedrink est une entreprise familiale qui propose des oranges de sa propre plantation en Sicile et la commercialisation de machines à jus d'orange">
<meta name="keywords" content="Lausanne, Vaud, Suisse, oranges, jus, machines à presser, agrumes">
<meta name="author" content="Marc Schaefges">
<meta name="geo.placename" content="Lausanne, Vaud, Suisse">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" media="all" href="screen.css">
<link rel="shortcut icon" href="images/favicon.ico" >
<link rel="icon" type="image/gif" href="images/animated_favicon1.gif" >
</head>
<body>
<!--[if lt IE 7]>
<link rel="stylesheet" href="styles-ie6.css" />
<div style="padding: 1em; background: #900; font-size: 1.1em; color: #fff;">
<p><strong>Attention ! </strong> Votre navigateur (Internet Explorer 6 ou 7) présente de sérieuses lacunes en terme de sécurité et de performances, dues à son obsolescence (il date de 2001).<br />En conséquence, ce site sera consultable mais de manière moins optimale qu'avec un navigateur récent (<a href="http://www.browserforthebetter.com/download.html" style="color: #fff;">Internet Explorer 8</a>, <a href="http://www.mozilla-europe.org/fr/firefox/" style="color: #fff;">Firefox 3</a>, <a href="http://www.google.com/chrome?hl=fr" style="color: #fff;">Chrome</a>, <a href="http://www.apple.com/fr/safari/download/" style="color: #fff;">Safari</a>,...)</p>
</div>
<![endif]-->
<div id="header">
<a href="index.html"><img src="images/header.jpg" alt="Orangedrink Bienvenue !"/></a>
</div>
<div id="colonneliens">
<ul class="menu">
<li><a href="index.html"><img src="images/accueil.jpg" alt="Accueil"></a></li>
<li><a href="entreprise.html"><img src="images/entreprise.jpg" alt="Entreprise"></a></li>
<li><a href="oranges.html"><img src="images/oranges.jpg" alt="Oranges"></a></li>
<li><a href="machines.html"><img src="images/machines.jpg" alt="Machines"></a></li>
<li><a href="contact.php"><img src="images/contact.jpg" alt="Contact" class="actuel"></a></li>
</ul>
</div>
<div id="corps">
<div id="colonne">
<img src="images/telephone.png" alt="illustration d'un téléphone"/>
<div itemscope itemtype="http://schema.org/Organization">
<h2 class="titre_coordonnees"> <span itemprop="name">Orangedrink</span></h2>
<ul class="liste_contact">
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<li><span itemprop="streetAddress">Rue du Valentin 12</ span></li>
<li><span itemprop="postalCode">1004 Lausanne</span></li>
</div>
<li><span itemprop="telephone">Bureau +41 (0)21/311.61.68 </span></li>
<li><span itemprop="telephone">Mobile +41 (0)78/773.94.20</span></li>
<li><span itemprop="email">principessa@orangedrink.ch</span></li>
</ul>
</div>
<img src="images/secretaire.png" alt="photo de la secrétaire"/>
</div>
<div id="principal">
<h1>"Parlons de votre projet !"</h1>
<p>Vous souhaitez faire une remarque, demander de plus amples précisions ou tout simplement recevoir un devis dans les plus brefs délais ?</p>
<p>N'hésitez pas à nous contacter, vous recevrez une réponse rapide et précise!</p>
<hr>
<?php
//Script écrit par Marc Schaefges pour le site Orangedrink et avec l'aide du site du zéro
$year = date("Y");
if (isset($_POST["nom"]) && !empty($_POST['nom']) && isset($_POST["telephone"]) && !empty($_POST['telephone']) && isset($_POST["adresse_mail"]) && !empty($_POST['adresse_mail']) && isset($_POST["annee"]) && !empty($_POST['annee']) && isset($_POST["commentaire"]) && !empty($_POST['commentaire']) && (($_POST['annee']) == $year))// Contrôle si les variables ne sont pas vides et existantes et si l'année entrée par le client correspond à la date actuelle .
{
$nom = (htmlspecialchars($_POST['nom'])); // On contrôle avec htmlspecialchars que le client ne rentre pas du code html qui pourrait être malveillant .
$telephone = (htmlspecialchars ($_POST['telephone']));
$adresse_mail = (htmlspecialchars ($_POST['adresse_mail']));
$commentaire = (htmlspecialchars ($_POST['commentaire']));
$destinataire = 'xxxx';
// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
$expediteur = 'Orangedrink';
$copie = 'xxxx';
$objet = 'Un nouveau message provenant du site internet !'; // Objet du message
$headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Reply-To: '.$adresse_mail."\n"; // Mail de reponse
$headers .= 'From: "Site internet Orangedrink"<'.$expediteur.'>'."\n"; // Expediteur
$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
$headers .= 'Cc: '.$copie."\n"; // Copie Cc
$sujet = "Nouveau message provenant du site internet";
$message = " Voici ci-dessous les coordonnées et la demande du client :\n\n " ;
$message .= " $nom \n ";
$message .= " $telephone \n " ;
$message .= " $adresse_mail \n\n " ;
$message .= " $commentaire" ;// Contenu du message repris des variables envoyées par le formulaire .
$heure = date("H");
$result = mail( $destinataire, $sujet, $message, $headers);
if( $result == true AND ( $heure >= 7 AND $heure <= 18 ) )
{
echo "<p>Bonjour ! <br/> Merci pour votre message, nous prendrons contact avec vous dans les plus brefs délais </p>"; // Il fait jour , on dit bonjour .
}
elseif ( $result == true AND ( $heure > 18 OR $heure < 7 ))
{
echo "<p>Bonsoir ! <br/> Merci pour votre message, nous prendrons contact avec vous dans les plus brefs délais .</p>"; // Il fait nuit , on dit bonsoir .
}
else
{
echo "<p> Le message n'a pas été envoyé , une erreur est survenue, veuillez svp essayer ultérieurement !</p>" ;
}
}
else // Affichage du formulaire si les variables ne sont pas existantes et/ou vides
{
?>
<form action="contact.php" method="post" >
<label for="nom">
Nom ( ou entreprise ):
</label>
<input type="text" name="nom" id="nom" required title="Un nom est requis!" />
<label for="telephone">
Téléphone :
</label>
<input type="tel" name="telephone" id="telephone" required title="Un numéro de téléphone est requis!" />
<label for="adresse_mail">
Adresse mail :
</label>
<input type="email" name="adresse_mail" id="adresse_mail" required title="Une adresse mail est requise !" />
<label for="annee">
En quelle année sommes-nous ? ( protection anti-spams ) :
</label>
<input id="annee" name="annee" required title="Veuillez svp rentrer l'année en cours!" />
<label for="commentaire">
Votre message :
</label>
<textarea required title="Veuillez svp laisser un message!" name="commentaire" id="commentaire" rows="10" cols="50"></textarea>
<button>Envoyer !</button>
</form>
<?php
}
?>
</div>
</div>
<div id="footer">
<img src="images/footer.png" alt="pied de page montrant des photos d'oranges et une petite fille qui boit avec une paille dans une orange"/>
</div>
</body>
</html>
</code>
Je vous remercie par avance et vous souhaite un excellent week-end.
Cordialement
Marc