01net    Web


Actuellement en ligne : 762 Utilisateurs dont 18 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Formulaire PHP non reconnu
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
mac 40
  
   
      ?   @     Posté le 06/09/2007 20:46:22  
Voter pour ce message
Bonsoir,

Dans mon site, comme beaucoup j'ai une parti contact... Et dans celle ci j'ai mis un formulaire avec des champs : "http://www.cder-immo.fr/contact.html"

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 <lien url="http://www.cder-immo.fr/email.php">Cliquez IcI</lien>)

J'ai un code Xhtml qui se nomme contact.html

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


<?php
if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
$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

// On récupère les champs du formulaire, et on arrange leur mise en forme
if (isset($_POST[""])) $_POST["son_nom"]=trim(stripslashes($_POST["son_nom"])); // trim() enlève les espaces en début et fin de chaine

if (isset($_POST["son_email"])) $_POST["son_email"]=trim(stripslashes($_POST["son_email"])); // stripslashes() retire les backslashes ==> \' devient '

if (isset($_POST["son_depart"])) $_POST["son_depart"]=trim(stripslashes($_POST["son_depart"]));

if (isset($_POST["son_objet"])) $_POST["son_objet"]=trim(stripslashes($_POST["son_objet"]));

if (isset($_POST["son_message"])) $_POST["son_message"]=trim(stripslashes($_POST["son_message"]));

// Après la mise en forme, on vérifie la validité des champs
if (empty($_POST["son_nom"])) { // L'utilisateur n'a pas rempli le champ pseudo
$erreur="Vous n'avez pas entré nom..."; // On met dans erreur le message qui sera affiché
}
elseif (empty($_POST["son_email"])) { // L'utilisateur n'a pas rempli le champ email
$erreur="Nous avons besoin de votre e-mail pour vous répondre...";
}
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)
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["son_objet"])) { // L'utilisateur n'a pas rempli le champ objet
$erreur="Vous devez entrer l'objet de votre message...";
}
elseif (empty($_POST["son_message"])) { // L'utilsateur n'a écrit aucun message
$erreur="Merci de saisir un message...";
}
else { // Si tous les champs sont valides, on change l'état à ok
$etat="ok";
}
}
else { // Sinon le formulaire n'a pas été soumis
$etat="attente"; // On passe donc dans l'état attente
}

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)
if ($etat=="erreur"){ // Cas où le formulaire a été soumis mais il y a des erreurs
echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n"; // On affiche le message correspondant à l'erreur
}
?>

<!-- Formulaire HTML qu'on affiche dans l'état attente ou erreur -->
<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 -->
<p style="text-align:left">
<label for="son_nom">Pseudo *</label><br /> <!-- Intitulé du champ pseudo -->
<input type="text" size="40" name="son_nom" id="son_nom" value="<?php
if (!empty($_POST["son_nom"])) {
// le pseudo de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_nom"],ENT_QUOTES); // htmlspecialchars() convertit les caractères spéciaux en leurs code html, exemple : & devient &
}
?>" />

<br />

<label for="son_email">E-mail *</label><br /> <!-- Intitulé du champ e-mail -->
<input type="text" size="40" name="son_email" id="son_email" value="<?php
if (!empty($_POST["son_email"])) {
// l'e-mail de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_email"],ENT_QUOTES);
}
?>" />

<br />

<label for="son_depart">URL de votre site</label><br /> <!-- Intitulé du champ url (facultatif) -->
<input type="text" size="40" name="son_depart" id="son_depart" value="<?php
if (!empty($_POST["son_depart"])) {
// l'url a été saisi --> la réafficher
echo htmlspecialchars($_POST["son_depart"],ENT_QUOTES);
}
?>" />

<br />

<label for="son_objet">Objet *</label><br /> <!-- Intitulé du champ objet -->
<input type="text" size="40" name="son_objet" id="son_objet" value="<?php
if (!empty($_POST["son_objet"])) {
// l'objet du message a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_objet"],ENT_QUOTES);
}
?>" />

<br />

<label for="son_message">Message *</label><br /> <!-- Intitulé du champ message -->
<textarea name="son_message" id="son_message" cols="60" rows="25"><?php
if (isset($_POST["son_message"])) {
// le message a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_message"],ENT_QUOTES);
}
?>


Merci de votre aide :D

-->Message édité par mac 40 le 06/09/2007 20:48:08<--
Pc_eXPert
  Yosh !
   
      ?   @     Posté le 06/09/2007 21:04:41  
Voter pour ce message
Le fichier doit avoir l'extension *.php.
mac 40
  
   
      ?   @     Posté le 06/09/2007 21:56:34  
Voter pour ce message
j'ai deux fichier :

- Contact.html
- Email.php

Ca ne va pas ?
NoCrash
  
   
      ?   @     Posté le 07/09/2007 14:36:46  
Voter pour ce message
Salut mac 40,

A la place de cette ligne

<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">


essaye tous simplement ça

<form method="post" action="Email.php">

Certains hébergeur ont du mal avec les variables $_SERVER

<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Formulaire PHP non reconnu

Aller à :

Page générée en : 0.118s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Cinéma

Les films d'horreur attirent les spectateurs en masse. Quelles sont les raisons de ce succès ?
Jeux
Nouveauté : Partez pour les antipodes, à Sydney en Australie, pour vivre la grande aventure.