Je dois créer un formulaire PHP avec à la validation un envoi par mail mais quand je clique sur valider ça ne traite rien ça m'affiche ceci :
'."\r\n\r\n"; /* Envoi de l'e-mail */ if (mail($to, $sujet, $msg, $headers)) { $alert = 'Votre demande à été 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 votre demande'; } } /* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */ else { unset($_POST); } } ?>
J'ai essayé en local avec easyphp et en ligne (herbergeur : amen.fr), le résultat est le même.
Voici la partie HTML du formulaire :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Solar17 - Demande de devis</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" href="styles/devis.css" />
</head>
<body>
<!-- Balise form spécifique au formulaire -->
<form method="post" action="traitement_devis.php">
<!-- Tout ce qui est à gauche -->
<div id="GAUCHE">
<!-- Les titres de la colonne -->
<div id="coord">
<h2> Coordonnées </h2>
</div>
<!-- CLIENT -->
<div id="client">
<h4> CLIENT </h4>
</div>
<!-- Civilité -->
<div id="civilite" name="civilite"><label> Civilité : </label>
<input type="checkbox" name="civilite" id="case" /> <label for="case">MR</label>
<input type="checkbox" name="civilite" id="case" /> <label for="case">MME</label>
<input type="checkbox" name="civilite" id="case" /> <label for="case">MELLE</label>
</div>
<!-- Nom -->
<div id="nom"><label> Nom : </label>
<input type="text" name="nom"/>
</div>
<!-- Prénom -->
<div id="prenom"><label> Prénom : </label>
<input type="text" name="prenom"/>
</div>
<!-- Adresse -->
<div id="adresse"><label> Adresse : </label>
<input type="text" name="adresse" />
</div>
<!-- CP -->
<div id="cp"><label> Code Postal: </label>
<input type="text" size="5" maxlength="5" name="cp" />
</div>
<!-- Ville -->
<div id="ville"><label> Ville : </label>
<input type="text" name="ville"/>
</div>
<!-- Digicode -->
<div id="digi"><label> Digicode : </label>
<input type="text" name="digi" />
</div>
<!-- Etage -->
<div id="etage"><label> Etage : </label>
<input type="text" size="2" maxlength="2" name="etage" />
</div>
<!-- Porte -->
<div id="porte"><label> Porte : </label>
<input type="text" name="porte" />
</div>
<!-- Tel. Fixe -->
<div id="telfixe"><label> Tél. Fixe : </label>
<input type="text" size="10" maxlength="10" name="telfixe" />
</div>
<!-- Tel. Port -->
<div id="telport"><label> Tél. Portable : </label>
<input type="text" size="10" maxlength="10" name="telport" />
</div>
<!-- email -->
<div id="adressemail"><label> Email : </label>
<input type="text" name="adressemail"/>
</div>
<!-- CHANTIER -->
<div id="chantier">
<h4> CHANTIER </h4>
</div>
<!-- Adresse identique -->
<div id="adressiden" name="adressiden" ><label> Adresse identique : </label>
<input type="checkbox" name="adressiden" id="case" /> <label for="case">Oui</label>
<input type="checkbox" name="adressiden" id="case" /> <label for="case">Non</label>
</div>
<div id="aterisque">
<!-- Astérisque -->
<h5> * Adresse chantier dans les observations complémentaires. </h5>
</div>
<!-- RDV -->
<div id="rdv">
<h4> RENDEZ-VOUS </h4>
</div>
<!-- Quand ? -->
<div id="rdv_quand"><label> Quand préferez vous un rendez-vous ? </label>
<select name="rdvdate">
<option name="rdv_quand" value="choix1">En semaine</option>
<option name="rdv_quand" value="choix2">En weekend</option>
</select>
</div>
<!-- Heure? -->
<div id="rdv_heure"><label> Vers quelle heure préferez vous un rendez-vous ? </label>
<select name="rdvheure">
<option name="rdv_heure" value="choix1">15h</option>
<option name="rdv_heure" value="choix2">18h</option>
</select>
</div>
</div>
<!-- Tout ce qui est à droite -->
<div id="DROITE">
<!-- Préqualification -->
<div id="preq">
<h2> Préqualification </h2>
</div>
<!-- INTERET PRINCIPAL -->
<div id="interetprincipal">
<h4> INTERET PRINCIPAL </h4>
</div>
<!-- Ballon solaire -->
<div id="ballon" name="ballon"><label> Ballon solaire : </label>
<input type="checkbox" name="ballon" id="case" /> <label for="case">Oui</label>
<input type="checkbox" name="ballon" id="case" /> <label for="case">Non</label>
</div>
<!-- Pompe à chaleur -->
<div id="pompe" name="pompe"><label> Pompe à chaleur : </label>
<input type="checkbox" name="pompe" id="case" /> <label for="case">Oui</label>
<input type="checkbox" name="pompe" id="case" /> <label for="case">Non</label>
</div>
<!-- INTERET DU PROJET -->
<div id="interetprojet">
<h4> INTERET DU PROJET </h4>
</div>
<!-- Ecologie -->
<div id="ecol" name="ecol"><label> Ecologie : </label>
<input type="checkbox" name="ecol" id="case" /> <label for="case">Oui</label>
<input type="checkbox" name="ecol" id="case" /> <label for="case">Non</label>
</div>
<!-- Economie -->
<div id="econ" name="econ"><label> Economie : </label>
<input type="checkbox" name="econ" id="case" /> <label for="case">Oui</label>
<input type="checkbox" name="econ" id="case" /> <label for="case">Non</label>
</div>
<!-- LE FOYER -->
<div id="foyer">
<h4> LE FOYER </h4>
</div>
<!-- Case Appartement/Maison -->
<div id="hab" name="hab"><label> Votre habitation : </label>
<input type="checkbox" name="hab" id="case" /> <label for="case">Appartement</label>
<input type="checkbox" name="hab" id="case" /> <label for="case">Maison</label>
</div>
<br></br>
<!-- Proprio depuis quand ? -->
<div id="proprio"><label> Depuis quand êtes-vous propriétaire ? </label>
</div>
<!-- Textbox -->
<textarea name="proprio" rows="5" cols="45">
Rédigez ici...
</textarea>
<!-- LE PROJET -->
<div id="projet">
<h4> LE PROJET </h4>
</div>
<!-- Connaissez vous les energies...-->
<div id="ener_renouv" name="ener_renouv"><label> Connaissez vous les énergies renouvelables : </label>
<input type="checkbox" name="ener_renouv" id="case" /> <label for="case">Oui</label>
<input type="checkbox" name="ener_renouv" id="case" /> <label for="case">Non</label>
</div>
<!-- Depuis quand y songez...-->
<div id="songe"><label> Depuis combien de temps y songez-vous ? </label>
<select name="songez">
<option name="songe" value="choix1">1 mois</option>
<option name="songe" value="choix2">6 mois</option>
<option name="songe" value="choix2">1 ans</option>
<option name="songe" value="choix2">+ 1ans</option>
</select>
</div>
</div>
<!-- Tout ce qui est en bas -->
<div id="BAS">
<!-- Obeservation complémentaire -->
<div id="observ_comp">
<h3> Observations complémentaires : </h3>
</div>
<!-- Textbox -->
<textarea name="observ_comp" rows="6" cols="45">
Rédigez ici...
</textarea>
<br></br>
</div>
<!-- Cliquer sur.... -->
<div id="penseclique">
<h5> (Cliquez sur valider pour envoyer votre formulaire) </h5>
</div>
<!-- Boutons Valid/Reset -->
<div id="buttons">
<input type="submit" value="Valider" name="valider" />
</div>
</form>
</body>
</html>
Et voici la partie PHP :<?php
/* Si le formulaire est envoyé alors on fait les traitements */
if (isset($_POST['valider']))
{
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$civilite = stripslashes(trim($_POST['civilite']));
$nom = stripslashes(trim($_POST['nom']));
$prenom = stripslashes(trim($_POST['prenom']));
$adresse = stripslashes(trim($_POST['adresse']));
$cp = stripslashes(trim($_POST['cp']));
$ville = stripslashes(trim($_POST['ville']));
$digi = stripslashes(trim($_POST['digi']));
$etage = stripslashes(trim($_POST['etage']));
$porte = stripslashes(trim($_POST['porte']));
$telfixe = stripslashes(trim($_POST['telfixe']));
$telport = stripslashes(trim($_POST['telport']));
$adressemail = stripslashes(trim($_POST['adressemail']));
$adressiden = stripslashes(trim($_POST['adressiden']));
$rdvdate = stripslashes(trim($_POST['rdvdate']));
$rdvheure = stripslashes(trim($_POST['rdvheure']));
$ballon = stripslashes(trim($_POST['ballon']));
$pompe = stripslashes(trim($_POST['pompe']));
$ecol = stripslashes(trim($_POST['ecol']));
$econ = stripslashes(trim($_POST['econ']));
$hab = stripslashes(trim($_POST['hab']));
$proprio = stripslashes(trim($_POST['proprio']));
$ener_renouv = stripslashes(trim($_POST['ener_renouv']));
$songez = stripslashes(trim($_POST['songez']));
}
else
{
$civilite = trim($_POST['civilite']);
$nom = trim($_POST['nom']);
$prenom = trim($_POST['prenom']);
$adresse = trim($_POST['adresse']);
$cp = trim($_POST['cp']);
$ville = trim($_POST['ville']);
$digi = trim($_POST['digi']);
$etage = trim($_POST['etage']);
$porte = trim($_POST['porte']);
$telfixe = trim($_POST['telfixe']);
$telport = trim($_POST['telport']);
$adressemail = trim($_POST['adressemail']);
$adressiden = trim($_POST['adressiden']);
$rdvdate = trim($_POST['rdvdate']);
$rdvheure = trim($_POST['rdvheure']);
$ballon = trim($_POST['ballon']);
$pompe = trim($_POST['pompe']);
$ecol = trim($_POST['ecol']);
$econ = trim($_POST['econ']);
$hab = trim($_POST['hab']);
$proprio = trim($_POST['proprio']);
$ener_renouv = trim($_POST['ener_renouv']);
$songez = trim($_POST['songez']);
}
/* 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';
/* Si le formulaire n'est pas posté de notre site on renvoie
* vers la page d'accueil */
if($_SERVER['HTTP_REFERER'] != 'http://www.solar17.fr/traitement_devis.php')
{
header('Location: http://www.solar17.fr');
}
/* On vérifie que tous les champs sont remplis */
elseif (empty($civilite)
|| empty($nom)
|| empty($prenom)
|| empty($adresse)
|| empty($cp)
|| empty($ville)
|| empty($telfixe)
|| empty($adressemail))
{
$alert = 'Tous les champs de la partie CLIENT doivent être renseignés.';
}
/* On vérifie que le format de l'e-mail est correct */
elseif (!preg_match($regex_mail, $adressemail))
{
$alert = 'L\'adresse '.$adressemail.' n\'est pas valide';
}
/* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
/* Mise en page du message */
$message = 'CLIENT : "\r\n"
"\r\n"
Civilité : '.$civilite.' "\r\n"
Nom : '.$nom.' "\r\n"
Prénom : '.$prenom.' "\r\n"
Adresse : '.$adresse.' "\r\n"
Code Postal : '.$cp' "\r\n"
Ville : '.$ville.' "\r\n"
Digicode : '.$digi.' "\r\n"
Etage : '.$etage.' "\r\n"
Porte : '.$porte.' "\r\n"
Tél. Fixe : '.$telfixe.' "\r\n"
Tél. Port : '.$telport' "\r\n"
Email : '.$adressemail.' "\r\n"
"\r\n"
CHANTIER : "\r\n"
Adresse identique : '.$adresseiden.' "\r\n"
"\r\n"
RENDEZ-VOUS
"\r\n"
Quand ? '.$rdv_quand.' "\r\n"
Heure ? '.$rdv_heure.' "\r\n"
"\r\n"
INTERET PRINCIPAL "\r\n"
"\r\n"
Ballon solaire : '.$ballon.' "\r\n"
Pompe à chaleur : '.$pompe.' "\r\n"
"\r\n"
INTERET DU PROJET "\r\n"
"\r\n"
Ecologie : '.$ecol.' "\r\n"
Economie : '.$econ.' "\r\n"
"\r\n"
LE FOYER "\r\n"
"\r\n"
Propriétaire depuis quand ? '.$proprio.' "\r\n"
"\r\n"
LE PROJET : "\r\n"
"\r\n"
Connaissez-vous les énergies renouvelables ? $ener_renouv "\r\n"
Depuis quand y songez vous ? '.$songe.' "\r\n"
"\r\n"
OBSERVATION(S) COMPLEMENTAIRE(S) : '.$observ_comp.' \n
"\r\n"
"\r\n"
CECI EST UN MESSAGE PROVENANT DU FORMULAIRE DE DEMANDE DE DEVIS DE http://www.solar17.fr "\r\n"
"\r\n"
"\r\n"
by HENNEQUIN MORGAN'"\r\n";
elseif (!isset($_COOKIE['sent']))
{
/* Destinataire */
$to = '[email protected]';
/* Definition du sujet (ici tjs le même) */
$sujet = 'DEMANDE DE DEVIS WEB';
/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis http://www.solar17.fr par '.$civilite.' '.$nom."\r\n\r\n";
$msg .= 'Voici ça demande de devis:'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";
/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$adressemail.'>'."\r\n\r\n";
/* Envoi de l'e-mail */
if (mail($to, $sujet, $msg, $headers))
{
$alert = 'Votre demande à été 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 votre demande';
}
}
/* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
else
{
unset($_POST);
}
}
?>
Je remercie d'avance la ou les personne(s) qui m'aideront ! Bon lundi à tous !Morgan.