Tom's Guide > Forum > Programmation > Formulaire xHTML + PHP non reconnu

Formulaire xHTML + PHP non reconnu

Forum Programmation : Formulaire xHTML + PHP non reconnu

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonsoir,

 

Dans mon site, comme beaucoup j'ai une parti contact... Et dans celle ci j'ai mis un formulaire avec des champs : Regardez IcI

 

Mais le probleme c'est que mon formulaire ce compose d'une partie xHTML et d'un php qui sont deux fichier à part...

 

Et le probleme vient du fichier php qui n'est pas reconnu (cliquez sur envoyer et vous verrez ou Cliquez IcI)

 

Donc voici mon Code qui se nomme contact.html :

 

<code type="html">

 

</code>

 

Et voici mon code PHP qui se nomme email.php :

 
Code :
  1. <?php
  2. if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
  3.     $etat = "erreur"; // On initialise notre etat à erreur, il sera changé à "ok" si la vérification du formulaire est un succès, sinon il reste à erreur
  4.     // On récupère les champs du formulaire, et on arrange leur mise en forme
  5.     if (isset($_POST[""])) $_POST["son_nom"]=trim(stripslashes($_POST["son_nom"])); // trim()  enlève les espaces en début et fin de chaine
  6.     if (isset($_POST["son_email"])) $_POST["son_email"]=trim(stripslashes($_POST["son_email"])); // stripslashes()  retire les backslashes ==> \' devient '
  7.     if (isset($_POST["son_depart"])) $_POST["son_depart"]=trim(stripslashes($_POST["son_depart"]));
  8.     if (isset($_POST["son_objet"])) $_POST["son_objet"]=trim(stripslashes($_POST["son_objet"]));
  9.     if (isset($_POST["son_message"])) $_POST["son_message"]=trim(stripslashes($_POST["son_message"]));
  10.     // Après la mise en forme, on vérifie la validité des champs
  11.     if (empty($_POST["son_nom"])) { // L'utilisateur n'a pas rempli le champ pseudo
  12.         $erreur="Vous n'avez pas entr&eacute; nom..."; // On met dans erreur le message qui sera affiché
  13.         }
  14.         elseif (empty($_POST["son_email"])) { // L'utilisateur n'a pas rempli le champ email
  15.             $erreur="Nous avons besoin de votre e-mail pour vous r&eacute;pondre...";
  16.         }
  17.         elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["son_email"])){ // On vérifie si l'email est bien de la forme messagerie@domaine.tld (cf cours d'expressions régulières)
  18.             $erreur="Votre adresse e-mail n'est pas valide...";
  19.         }
  20.         elseif (empty($_POST["son_objet"])) { // L'utilisateur n'a pas rempli le champ objet
  21.             $erreur="Vous devez entrer l'objet de votre message...";
  22.         }
  23.         elseif (empty($_POST["son_message"])) { // L'utilsateur n'a écrit aucun message
  24.             $erreur="Merci de saisir un message...";
  25.         }
  26.         else { // Si tous les champs sont valides, on change l'état à ok
  27.             $etat="ok";
  28.         }
  29. }
  30. else { // Sinon le formulaire n'a pas été soumis
  31.     $etat="attente"; // On passe donc dans l'état attente
  32. }
  33. if ($etat!="ok" ){ // Le formulaire a été soumis mais il y a des erreurs (etat=erreur) OU le formulaire n'a pas été soumis (etat=attente)
  34.     if ($etat=="erreur" ){ // Cas où le formulaire a été soumis mais il y a des erreurs
  35.         echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n"; // On affiche le message correspondant à l'erreur
  36.     }
  37. ?>
  38. <!-- Formulaire HTML qu'on affiche dans l'état attente ou erreur -->
  39. <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <!-- Les données du formulaire seront récupérée avec la méthode POST, et action correspond à la page contenant le formulaire -->
  40.     <p style="text-align:left">
  41.         <label for="son_nom">Pseudo *</label><br /> <!-- Intitulé du champ pseudo -->
  42.         <input type="text" size="40" name="son_nom" id="son_nom" value="<?php
  43.         if (!empty($_POST["son_nom"])) {
  44.         // le pseudo de l'expéditeur a été saisi --> le réafficher
  45.         echo htmlspecialchars($_POST["son_nom"],ENT_QUOTES); // htmlspecialchars() convertit les caractères spéciaux en leurs code html, exemple : & devient &amp;
  46.         }
  47.         ?>" />
  48.         <br />
  49.         <label for="son_email">E-mail *</label><br /> <!-- Intitulé du champ e-mail -->
  50.         <input type="text" size="40" name="son_email" id="son_email" value="<?php
  51.         if (!empty($_POST["son_email"])) {
  52.         // l'e-mail de l'expéditeur a été saisi --> le réafficher
  53.         echo htmlspecialchars($_POST["son_email"],ENT_QUOTES);
  54.         }
  55.         ?>" />
  56.         <br />
  57.         <label for="son_depart">URL de votre site</label><br /> <!-- Intitulé du champ url (facultatif) -->
  58.         <input type="text" size="40" name="son_depart" id="son_depart" value="<?php
  59.         if (!empty($_POST["son_depart"])) {
  60.         // l'url a été saisi --> la réafficher
  61.         echo htmlspecialchars($_POST["son_depart"],ENT_QUOTES);
  62.         }
  63.         ?>" />
  64.         <br />
  65.         <label for="son_objet">Objet *</label><br /> <!-- Intitulé du champ objet -->
  66.         <input type="text" size="40" name="son_objet" id="son_objet" value="<?php
  67.         if (!empty($_POST["son_objet"])) {
  68.         // l'objet du message a été saisi --> le réafficher
  69.         echo htmlspecialchars($_POST["son_objet"],ENT_QUOTES);
  70.         }
  71.         ?>" />
  72.         <br />
  73.         <label for="son_message">Message *</label><br /> <!-- Intitulé du champ message -->
  74.         <textarea name="son_message" id="son_message" cols="60" rows="25"><?php
  75.         if (isset($_POST["son_message"])) {
  76.         // le message a été saisi --> le réafficher
  77.         echo htmlspecialchars($_POST["son_message"],ENT_QUOTES);
  78.         }
  79.         ?>
  80. </textarea>
  81.         <br />
  82.         <input type="submit" name="envoyer" value="Envoyer" /><input type="reset" name="reset" value="Effacer" />
  83.     </p>
  84. </form>
  85. <!-- FIN du formulaire HTML -->
  86. <?php
  87. }
  88. else { // Sinon l'état est ok donc on envoie le mail
  89.     $son_nom = $_POST["son_nom"]; // On stocke les variables récupérées du formulaire
  90.     $son_email = $_POST["son_email"];
  91.     $son_depart = $_POST["son_depart"];
  92.     $son_objet = $_POST["son_objet"];
  93.     $son_message = $_POST["son_message"];
  94.     $mon_email = "frederic.chavanne@free.fr"; // Mise en forme du message que vous recevrez
  95.     $mon_pseudo = "CDER";
  96.     $mon_url = "http://www.cder-immo.fr";
  97.     $msg_pour_moi = "- Son pseudo : $son_nom \n
  98.     - Son E-mail : $son_email \n
  99.     - Son site : $son_depart \n
  100.     - Objet du message : $son_objet \n
  101.     - Message : \n $son_message \n\n";
  102.     // Mise en forme de l'accusé réception qu'il recevra
  103.     $accuse_pour_lui = "Bonjour $son_nom,\n
  104.     Votre message nous a bien été envoyé et nous tâcherons de vous répondre le plus rapidement possible.\n\n
  105.     - Votre E-mail : $son_email \n
  106.     - Votre site : $son_depart \n
  107.     - L'objet de votre message : $son_objet \n
  108.     - Votre message : \n $son_message \n\n
  109.     Merci et à bientôt sur http://www.cder-immo.fr !";
  110.     // Envoie du mail
  111.     $entete = "From: " . $mon_pseudo . " <" . $mon_email . ">\n"; // On prépare l'entête du message
  112.     $entete .= "MIME-Version: 1.0";
  113.     if (@mail($mon_email,$son_objet,$msg_pour_moi,$entete) && @mail($son_email,$son_objet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
  114.         echo "<p style=\"text-align:center\">Votre message a &eacute;t&eacute; envoy&eacute;, vous recevrez une confirmation par mail.<br /><br />\n"; // On affiche un message de confirmation
  115.         echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n"; // Avec un lien de retour vers l'accueil du site
  116.     }
  117.     else { // Sinon il y a eu une erreur lors de l'envoi
  118.         echo "<p style=\"text-align:center\">Un problème s'est produit lors de l'envoi du message.\n";
  119.         echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p>\n"; // On propose un lien de retour vers le formulaire
  120.     }
  121. }
  122. ?>
 

Merci d'avance de votre aide :)

 


Message édité par OmaR le 07-09-2007 à 10:33:37
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

The page cannot be displayed
La page ne peut pas être montrée


Message édité par Le22 le 06-09-2007 à 20:47:04
Répondre à Le22

Je pense que ca vient de la sécurité pour laquelle on as pas accés au email.php.

Mais dans mon code, je ne vois pas ou se trouve l'erreur :(

Répondre à Kyle_master

Hum..erreur 405.. Qui est ton hébergeur ? Le server semble ne pas autoriser $_POST


Message édité par kikeukoi le 06-09-2007 à 21:09:21
Répondre à kikeukoi
Tom's Guide > Forum > Programmation > Formulaire xHTML + PHP non reconnu
Aller à :

Il y a 2162 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens