Formulaire php-html

juju974 -  
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai créé un formulaire html et un fichier php de traitement pour envoi.

voici mon code html:


<form id="contact" method="post" action="traitement_formulaire.php">
<p><div style="color: black; font-family: Arial Black;"><p>Nom :<input type="text" name="Nom" id="Nom" value="" size="30" maxlength="20" />
Prenom :<input type="text" name="Prenom" id="renom" value="" size="30" maxlength="20" /></p>
<p>Numero de téléphone :<input type="text" name="numero" id="numero" value="" size="30" maxlength="10" />
<label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p></div>
</fieldset>
<div style="color: black; font-family: Arial Black;"><p>Appartement<input type="radio" name="logement" value="LOCATION APPARTEMENT"/>
Studio <input type="radio" name="logement" value="LOCATION STUDIO"/></p>

<p>Avec Vehicule<input type="radio" name="auto" value="LOCATION AVEC VEHICULE DE LOCATION CATEGORIE O (Véhicule PUB) ou A (selon disponibilité)"/>
Sans Vehicule <input type="radio" name="auto" value="LOCATION SANS VEHICULE"/></p></div>
<p>


<p><div id="adresse" style="color: black; font-family: Arial Black;">PERIODE DE LOCATION SOUHAITEE</p></div>

<center><p>
<label for="jour" style="font-family: Arial Black; margin-left:;">Du</label>
<select name="date de début de période demandée, du" id="jour">

<option value="1">1er</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value=30"1">30</option>
<option value="31">31</option>






<label for="mois"></label>
<select name="" id="mois">

<option value="janvier">janvier</option>
<option value="fevrier">fevrier</option>
<option value="mars">mars</option>
<option value="avril">avril</option>
<option value="mai">mai</option>
<option value="juin">juin</option>
<option value="juillet">juillet</option>
<option value="aout">aout</option>
<option value="septembre">septembre</option>
<option value="octobre">octobre</option>
<option value="novembre">novembre</option>
<option value="decembre">decembre</option>








<select name="" id="année">
<label for="année"></label>


<option value="2009">2009</option>




</select>

<br>
<label for="jours" style="font-family: Arial Black; margin-left: 240px;">Au</label>
<select name="au" id="jour">

<option value="1">1er</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value=30"1">30</option>
<option value="31">31</option>






<label for="mois"></label>
<select name="" id="mois">

<option value="janvier">janvier</option>
<option value="fevrier">fevrier</option>
<option value="mars">mars</option>
<option value="avril">avril</option>
<option value="mai">mai</option>
<option value="juin">juin</option>
<option value="juillet">juillet</option>
<option value="aout">aout</option>
<option value="septembre">septembre</option>
<option value="octobre">octobre</option>
<option value="novembre">novembre</option>
<option value="decembre">decembre</option>









<select name="" id="année">
<label for="année"></label>


<option value="2009">2009</option>
<option value="2009">2010</option>



</center>
</select>

<label for="adresse"><h4><div id="adresse" style="color: black;">VOTRE ADRESSE</div></label><br>
<div id="adresse"><textarea name="adresse" id="adresse" rows="4" cols="30"></textarea></div>

</p>

<div id="adresse"> <h4><div style="color: black;">VOTRE MESSAGE</div>
<div id="adresse" style="color: black;"><p><center><label for="objet"><div style=" color: black;">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></center></p>
<p><center><label for="message"></label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></center></p></div>

<center><input type="submit" name="envoi" value="Envoyer le formulaire !" /></center>

</form>
</div>




et mon fichier php:









<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'vengeur-2b@hotmail.fr';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "le formulaire a bien été envoyé";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer ulterieurement.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"wein'appart_nous_contacter.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.

$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$numero = (isset($_POST['numero'])) ? Rec($_POST['numero']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="wein'appart_nous_contacter.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>





le probleme c'est que uand je clique sur envoyer le formulaire sur la page html il me demende si je veux enregistrer le fichier php ou l'ouvrir...

merci de preter attention a mon probleme et de m'aider.
A voir également:

5 réponses

vincent170186 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   52
 
salut juju !

bon alors pas de panique c'est le pb de base . php est un language qui necessite u_n serveur donc tu auras besoin de wampserver ou easy php
voici ou trouver wamps:
https://www.commentcamarche.net/telecharger/
ou encore:
http://www.clubic.com/telecharger/windows/cat=telecharger&textrecherche=wampserver&idsea
rch=0&go.x=16&go.y=8&go=Lancer+la+recherche
viola deja pour le seveur ensuite il faut que tu installe wamps (ou easyphp) que tu mette ta page html et ta page php dans le dossier nommer WWW .
si ça t'interesse jai fait un petit tuto (bourrée de faute d'ortographe) pour les gens de ma classe qui explique comment utiliser wampserver donc si ça t'interesse dis moi ou te l'envoyer !

voila !
0
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
Bonjour.
Ton fichier php contient pas mal d'erreurs. Voici déjà les quelques corrections que tu peut y faire.

$message = str_replace(""",'"',$message);


Il faut protéger le caractère " même si il est entre "". La ligne juste est:
$message = str_replace("\"",'"',$message);


echo '<p>'.$message_formulaire_invalide.' <a href="wein'appart_nous_contacter.html">Retour au formulaire</a></p>'."\n"; 


J'ai pas bien saisi le pourquoi de la syntaxe, mais j'espère pour toi que tu n'a pas mis de ' dans un nom de page html. La syntaxe corrigée que je propose est:
echo "<p>".$message_formulaire_invalide." <a href='weinappart_nous_contacter.html'>Retour au formulaire</a></p>\n";


Même chose ici (désolé je n'ai pas fait dans l'ordre )
$message_erreur_formulaire = "Vous devez d'abord <a href=\"wein'appart_nous_contacter.html\">envoyer le formulaire</a>."; 


Ligne corrigée (selon moi):
$message_erreur_formulaire = "Vous devez d'abord <a href='weinappart_nous_contacter.html'>envoyer le formulaire</a>.";


Si tu décide d'adopter mes corrections, il faudra changer le nom de page pour que sa corresponde.

Tous les ; après les } sont inutiles aussi.

Bon, et j'ai pas encore fini. Mais déjà rien que sa, et sa ira mieux.
Ensuite, ton fichier html est on ne peu plus mal structuré, et du coup, tu t'es emmelé les pinceaux dans les fermetures de balises. Pis là, sur ce coup là, je peut pas t'aider trop, c'est a toi de faire le nécessaire pour bien fermer ce qui est ouvert. Entre autre:
quelques select sans leurs </select>
quelques div sans leurs </div>
quelques h4 sans leurs </h4>

Y a aussi un endroit ou une propriété (margin-left) n'a pas de valeur (margin-left:) => margin-left:0 si tu n'en veut pas.

Toutes ces petites erreurs cumulées peuvent entrainer un refus d'exécuter le code. Pis, c'est mieux quand y en a pas ;)
0
juju974
 
merci beaucoups
Vincent, a propos de wampserveur ou easyphp, je n'arrive a rien donc je veux bien de ton tuto^^ (envoi à vengeur-2b@hotmail.fr)

et pour ce qui est du php, je n'arrive pas a corriger ce que tu m'as indiqué freto, si tu pouvais m'indiquer ce que je dois mettre à la place de balises a certaines lignes...bref, si tu trouve le temp de m'aider en m'indiquant les lignes que je dois changer ce serais sympa merci.

vous l'avez peut etre remarqué mais ce qui concerne le php, je suis allé le pompé sur un site(je ne me souviens plus exactement lequel...)

merci de vos reponses
0
vincent170186 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   52
 
voila ! le tuto et dans ta boite mail ! mede je vien de me rendre compte que j'ai pas mis de sujet je recommence avec le sujet ! tutophp !
voila !
0

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

Posez votre question
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
Bah pour le php je t'ai indiqué a chaque fois en premier la ligne qui pose problème, puis la correction. Donc a moins que tu ne code sur papier, fait Ctrl + F ou utilise la fonction rechercher de ton éditeur de texte/ de code pour trouver la ligne qui va pas, et corrige là ensuite avec les miennes.

J'ai essayé le code en le corrigeant avec tout ce que j'ai indiqué, sa ne fonctionne pas, mais y a un peu de mieux.
0