Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1327 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème formulaire

n°1431636
moutonton
Posté le 25-08-2006 à 21:54:11  profilanswer
 

Bonjour, j'ai quelques soucis avec un formulaire PHP.
Mon formulaire comprends "3 pages" : l'une avec le formulaire même, l'une avec les fonctions pour envoyer sur l'e-mail du destinaire et la dernière qui est une page de confirmation de l'envoi qui retourne automatiquement sur le formulaire après 3 secondes.
 
Voici le code de la page du formulaire
 
contact.php
 
<form method="post" action="Envoyer_Email.php">
 
<table width="100%" border="0">
  <tr>
    <td width="15%" valign="top"><font size="2">Nom : </font></td>
    <td width="85%"><font size="2">
      <input type="text" name="v_nom" id="v_nom" size="20">
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">Prénom : </font></td>
    <td><font size="2">
      <input type="text" name="v_prenom" id="v_prenom2" size="20">
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">Adresse : </font></td>
    <td><font size="2">
      <input type="text" name="v_adresse" id="v_adresse2" size="30">
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">NPA : </font></td>
    <td><font size="2">
      <input type="text" name="v_npa" id="v_npa2" size="10">
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">Localité : </font></td>
    <td><font size="2">
      <input type="text" name="v_localite" id="v_localite2" size="30">
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">Adresse e-mail : </font></td>
    <td><font size="2">
      <input type="text" name="v_adresse_email" id="v_adresse_email2" size="30">
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">Remarque : </font></td>
    <td><font size="2">
      <textarea name="v_remarque" id="textarea" cols=40 rows=7></textarea>
    </font></td>
  </tr>
  <tr>
    <td valign="top"><font size="2">&nbsp;</font></td>
    <td><font size="2">
      <input name="submit" type="submit" value="Envoyer">
    </font></td>
  </tr>
</table>
  </form>
 
Envoyer_Email.php
 
<?
function validate_email($Adresse_email){
 $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
 if(eregi($exp,$Adresse_email)){
   if(checkdnsrr(array_pop(explode("@",$Adresse_email)),"MX" )){
     return true;
   }else{
     return false;
   }
 }else{
   return false;
 }    
}
$Nom=$HTTP_POST_VARS['v_nom'];
$Prénom=$HTTP_POST_VARS['v_prenom'];
$Adresse=$HTTP_POST_VARS['v_adresse'];
$Npa=$HTTP_POST_VARS['v_npa'];
$Localité=$HTTP_POST_VARS['v_localite'];
if (isset($HTTP_POST_VARS['v_adresse_email']) and validate_email($Adresse_email))
{
  $Adresse_email=$HTTP_POST_VARS['v_adresse_email'];
}
else
{
  $Adresse_email=null;
}
$Remarque=$HTTP_POST_VARS['v_remarque'];
$contenu="demande d'information de la part de\n";
$contenu.= "nom : ".$Nom."\n";
$contenu.= "prenom : ".$Prénom."\n";
$contenu.= "adresse : ".$Adresse."\n";
$contenu.= "npa : ".$Npa."\n";
$contenu.= "localite : ".$Localité."\n";
$contenu.= "adresse_email : ".$Adresse_email."\n";
$contenu.= "remarque : ".$Remarque."\n";
   $headers  = "MIME-Version: 1.0\n";
   $headers .= "Content-type: text/plain; charset=iso-8859-1\n";
   $headers .= "X-Priority: 3\n";
   $headers .= "X-MSMail-Priority: Normal\n";
   $headers .= "X-Mailer: php\n";
   $headers .= "From: \"".$Adresse_email."\" <".$Adresse_email.">\n \r\n\r\n";
mail("monemail@hotmail.com", "demande d'information", $contenu, $headers);
echo "mail ok";
header("Location: envoyer.php" );
?>
 
envoyer.php
 
<script language="JavaScript">
function redirect() {
 window.location="../page/formreservation2.php"
}
setTimeout("redirect()",3000); // delai en millisecondes
</script>
L'email a bien &eacute;t&eacute; envoy&eacute;.
<p>Retour &agrave; la page de r&eacute;servation</p>
 
 
 
 
Lors de l'envoi du formulaire, voici ce que m'affiche le navigateur :
 
Notice: Undefined variable: Adresse_email in c:\program files\easyphp1-8\www\page\envoyer_email.php on line 51
mail ok
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\page\envoyer_email.php:51) in c:\program files\easyphp1-8\www\page\envoyer_email.php on line 111

 
les lignes bleues sont les lignes "qui posent problème".
 
Please, help me !

mood
Publicité
Posté le 25-08-2006 à 21:54:11  profilanswer
 

n°1431640
subtil
Posté le 25-08-2006 à 22:15:43  profilanswer
 

ça ressemble a du copier coller pris sur un tuto douteux  :)  

 

if (isset($HTTP_POST_VARS['v_adresse_email']) and validate_email($Adresse_email))
=> if (isset($HTTP_POST_VARS['v_adresse_email']) and validate_email($HTTP_POST_VARS['v_adresse_email']) )

 


echo "mail ok";
header("Location: envoyer.php" );
=> tu vires le echo  
 
et maintenant on utilise $_POST et pas $HTTP_POST_VARS

Message cité 1 fois
Message édité par subtil le 25-08-2006 à 22:18:03
n°1431641
moutonton
Posté le 25-08-2006 à 22:21:07  profilanswer
 

subtil a écrit :

ça ressemble a du copier coller pris sur un tuto douteux  :)  


 
Perso je l'ai pas pris sur un tuto spécial, c'est une source qu'il y avait à l'école (possible Dreamweaver !)  :)

n°1431653
axelazerty
Posté le 25-08-2006 à 22:59:30  profilanswer
 

isset($HTTP_POST_VARS['v_adresse_email']) and validate_email($Adresse_email)
 
normal, quand tu appelles validate_email(), $adresse_email n'est pas encore défini. Tu dois appeler validate_email() sur $HTTP_POST_VARS['v_adresse_email']

Message cité 1 fois
Message édité par axelazerty le 25-08-2006 à 22:59:43
n°1431666
moutonton
Posté le 25-08-2006 à 23:28:42  profilanswer
 

axelazerty a écrit :

isset($HTTP_POST_VARS['v_adresse_email']) and validate_email($Adresse_email)
 
normal, quand tu appelles validate_email(), $adresse_email n'est pas encore défini. Tu dois appeler validate_email() sur $HTTP_POST_VARS['v_adresse_email']


 
Désolé, je suis pas très fort en PHP et je ne comprends pas vraiment ce que tu veux dire par là (ouais je sais je suis "noob" lol). Pourrais-tu m'expliquer un peu autrement stp.
 
A subtil : après avoir mis ta ligne, il y a une autre erreur  
 
Fatal error: Call to undefined function: checkdnsrr() in c:\program files\easyphp1-8\www\page\envoyer_email.php on line 13

n°1431668
axelazerty
Posté le 25-08-2006 à 23:33:36  profilanswer
 

dans ton if() tu appelles validate_email(). Le paramètre est $Adresse_email. Or, cette variable $Adresse_email n'est définie qu'à la ligne suivante! donc forcément, tu appelles validate_email() sur une variable qui n'existe pas encore.
 
pour : checkdnsrr(), danhs le script envoyer_email.php, cette fonction est appelé, mais elle n'a pas l'air d'exister.

n°1432909
jojozekil
Woohoo !
Posté le 29-08-2006 à 10:09:13  profilanswer
 

pareil, pas besoin de mettre tes douze pages de code.
Commence par expliquer ton besoin, on essayera de te guider, pas de faire ton script à ta place.
Et si tu as vraiment besoin d'afficher du code, utilise les bonnes balises, ça  évitera d'avoir un gros pâté illisible ;)


---------------
Le topic de mon feedback ici - Je suis rarement connecté le WE - Mes ventes sont également sur d'autres sites/forums

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème formulaire

 

Sujets relatifs
[Access]Problème de requete dans un formulaireprobleme de formulaire
Problème formulaire de contactProbléme de chargement d'image avec GD et Formulaire
[MySQL/PHP] problème d'encodage à l'insertion via formulaireproblème avec mon formulaire perl/cgi (debutant)
[HTML / PHP] Problème de formulaire entre 2 pagesproblème de variable en boucle arrivant d'un formulaire
[PHP]Problème de formulaire[HTML] problème FORM dans formulaire
Plus de sujets relatifs à : Problème formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR