Prob de requete formulaire php

simsgodzilla Messages postés 24 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 25 juin 2006 - 10 juin 2006 à 18:31
simsgodzilla Messages postés 24 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 25 juin 2006 - 11 juin 2006 à 13:08
Bonjour!

J'ai crée un formulaire et je lui ai demandé d'affiché une mess d'erreur si l'envoi ne peut se faire, et ça n'apparait pas; je lui ai demandé de dire aussi à l'internaute sil avait oublié de remplir un champ...mais il ne lui dit pas!
Tout ce quil fait c envoyer (souvent, meme si l'adresse n'a meme pas de @) ou pas (sinon sans rien marquer que la date et retour accueil)

voilà mon code (résultat page formulaire) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php


// Interface PHP pour mail()
function sendMail($mFrom,$mTo,$sujet,$body) {
 // l'émetteur
 $tete = 'From: '.$mFrom."\n";
 $tete .= 'Reply-To: '.$mFrom."\n";
 
 // si erreur d'émission
 return mail($mTo,$sujet,$body,$tete);
}


?>
<html>
<head>
<title>Confirmation d'envoi liée au formulaire de messagerie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function mmLoadMenus() {
  if (window.mm_menu_0527162929_0) return;
  window.mm_menu_0527162929_0 = new Menu("root",121,18,"Arial, Helvetica, sans-serif",12,"#FF9900","#FFFFFF","#000000","#000000","left","middle",0,0,1000,-5,7,true,false,true,0,true,true);
  mm_menu_0527162929_0.addMenuItem("Présentation","window.open('index.htm', '_blank');");
   mm_menu_0527162929_0.fontWeight="bold";
   mm_menu_0527162929_0.hideOnMouseOut=true;
   mm_menu_0527162929_0.bgColor='#555555';
   mm_menu_0527162929_0.menuBorder=1;
   mm_menu_0527162929_0.menuLiteBgColor='#FFFFFF';
   mm_menu_0527162929_0.menuBorderBgColor='#777777';
  window.mm_menu_0602162213_0 = new Menu("root",394,24,"Georgia, Times New Roman, Times, serif",18,"#FF9900","#FFFFFF","#000000","#000000","left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
  mm_menu_0602162213_0.addMenuItem("Banque&nbsp;/&nbsp;Immobilier","window.open('clientele_banque_immobilier.php', '_blank');");
  mm_menu_0602162213_0.addMenuItem("Collectivités","window.open('clientele_collectivites.php', '_blank');");
  mm_menu_0602162213_0.addMenuItem("Grande&nbsp;distribution","window.open('clientele_grande_distribution.php', '_blank');");
  mm_menu_0602162213_0.addMenuItem("Industrie&nbsp;/&nbsp;Produits&nbsp;industriels","window.open('clientele_industrie_produits_industriels.php', '_blank');");
  mm_menu_0602162213_0.addMenuItem("Restauration&nbsp;/&nbsp;Cafés&nbsp;/&nbsp;Boisson&nbsp;/&nbsp;Alimentation","window.open('clientele_restauration_cafes_boisson_alimentation.php', '_blank');");
  mm_menu_0602162213_0.addMenuItem("Sports&nbsp;Auto&nbsp;/&nbsp;Moto","window.open('clientele_sports_auto_moto.php', '_blank');");
  mm_menu_0602162213_0.addMenuItem("Tourisme&nbsp;/&nbsp;Loisirs","window.open('clientele_tourisme_loisirs.php', '_blank');");
   mm_menu_0602162213_0.hideOnMouseOut=true;
   mm_menu_0602162213_0.bgColor='#555555';
   mm_menu_0602162213_0.menuBorder=0;
   mm_menu_0602162213_0.menuLiteBgColor='#FFFFFF';
   mm_menu_0602162213_0.menuBorderBgColor='#666666';
  window.mm_menu_0602162947_0 = new Menu("root",254,24,"Georgia, Times New Roman, Times, serif",18,"#FF9900","#FFFFFF","#000000","#000000","left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
  mm_menu_0602162947_0.addMenuItem("Coordonnées&nbsp;/&nbsp;Plan&nbsp;d'accès","window.open('contacts.php', '_blank');");
  mm_menu_0602162947_0.addMenuItem("Formulaire&nbsp;de&nbsp;messagerie","window.open('contacts_formulaire_messagerie.php', '_blank');");
   mm_menu_0602162947_0.hideOnMouseOut=true;
   mm_menu_0602162947_0.bgColor='#555555';
   mm_menu_0602162947_0.menuBorder=0;
   mm_menu_0602162947_0.menuLiteBgColor='#FFFFFF';
   mm_menu_0602162947_0.menuBorderBgColor='#666666';
window.mm_menu_0602163252_0 = new Menu("root",179,24,"Georgia, Times New Roman, Times, serif",18,"#FF9900","#FFFFFF","#000000","#000000","left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
  mm_menu_0602163252_0.addMenuItem("Produits&nbsp;proposés","window.open('produits.php', '_blank');");
  mm_menu_0602163252_0.addMenuItem("Liste&nbsp;de&nbsp;produits","window.open('Liste_produits.pdf', '_blank');");
   mm_menu_0602163252_0.hideOnMouseOut=true;
   mm_menu_0602163252_0.bgColor='#555555';
   mm_menu_0602163252_0.menuBorder=0;
   mm_menu_0602163252_0.menuLiteBgColor='#FFFFFF';
   mm_menu_0602163252_0.menuBorderBgColor='#666666';
  window.mm_menu_0602163722_0 = new Menu("root",182,24,"Georgia, Times New Roman, Times, serif",18,"#FF9900","#FFFFFF","#000000","#000000","left","middle",3,0,1000,-5,7,true,false,true,0,true,true);
  mm_menu_0602163722_0.addMenuItem("Services&nbsp;proposés","window.open('services.php', '_blank');");
  mm_menu_0602163722_0.addMenuItem("Matériel&nbsp;utilisé","window.open('Liste_materiel.pdf', '_blank');");
   mm_menu_0602163722_0.hideOnMouseOut=true;
   mm_menu_0602163722_0.bgColor='#555555';
   mm_menu_0602163722_0.menuBorder=0;
   mm_menu_0602163722_0.menuLiteBgColor='#FFFFFF';
   mm_menu_0602163722_0.menuBorderBgColor='#666666';


mm_menu_0602163722_0.writeMenus();
} // mmLoadMenus()


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i[liens.css
<link href="titres.css" rel="stylesheet" type="text/css">
<link href="paragraphe.css" rel="stylesheet" type="text/css">
<link href="rubriques.css" rel="stylesheet" type="text/css">
<link href="exception.css" rel="stylesheet" type="text/css">
</head>



<script language="JavaScript1.2">mmLoadMenus();</script>
  ----

    ]

   ,
         

          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="800" height="160">
           
           
            http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="800" height="160">
          </object>
     

   ,
 
  ----

    ,
 
  ----

         
 

   

         

         

         

       

       

      <?php
$heure = date("H\hi");?>

Il est
<?php echo $heure; ?>,
          ...confirmation d'envoi
            de votre message...(si
            aucun message n'apparaît,  considérez que votre requête n'a
      pu aboutir)

      &nbsp;

      &nbsp;

  

  
   <?php // SI LE FORM A ETE POSTE
if(!empty($_POST['Email'])) {

 // Récupère les éléments du form
 $temp='';
 while (list($truc, $val) = each($_POST))
  $temp .= $truc.' : '.$val."\n\n";
 // Caractères spéciaux
 $temp = stripslashes($temp);

 // Envoie le message
 if(@sendmail($_POST['Email'], 'mon.nom@wanadoo.fr', 'Message venant du site', $temp)) {
  // Affiche un message de confirmation
  echo 'Votre message a bien été envoyé à ','mon.nom@wanadoo.fr',' ,';
 } else {
  // ou un message d'erreur
  echo 'Impossible d\'envoyer le formulaire !';
 }
 
// SINON AFFICHAGE DU FORM
} else { ?>
  
   <script language="text/JavaScript">
  // Teste si le mail a une forme correcte
  function checkmail(Email) {
   var (reg= '/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/')
   return (reg.exec(Email)!=null)
  }
  // Teste le contenu des champs du form avant submit
  function test(Nom,Email) {
   if(Nom.value=='') {
    alert('Indiquez votre nom !'); Nom.focus(); return false;
   } else if(!checkmail(Email.value)) {
    alert('Email incorrect !'); Email.focus(); return false;
   }
   return true;
  }
 </script>
 

        <?php }
 echo ' le :', Date (' d / M / Y'); ?>

   Retour vers le site Com et Dia Azur

  

   ,
 
  ----

           

     

   ,
       ,
    &nbsp; ,
    ,
 

</html>

Merci!!!!

4 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
11 juin 2006 à 10:48
Salut?
Et.... ?

Enfin, je veux dire, quelle est l'erreur précise? Pcq on va pas décortiquer tout ton code!
De plus, si tu peuxm essaie de l'alléger avant de le poster (par exemple le code JavaScript inutile).... :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
simsgodzilla Messages postés 24 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 25 juin 2006
11 juin 2006 à 10:55
Bonjour !

Ba je l'ai dit mon problème... :

J'ai crée un formulaire et je lui ai demandé d'affiché une mess d'erreur si l'envoi ne peut se faire, et ça n'apparait pas; je lui ai demandé de dire aussi à l'internaute sil avait oublié de remplir un champ...mais il ne lui dit pas!
Tout ce quil fait c envoyer (souvent, meme si l'adresse n'a meme pas de @) ou pas (sinon sans rien marquer que la date et retour accueil)

ça doit venir de ce bout de code...mais je vois pas où :

<?php // SI LE FORM A ETE POSTE
if(!empty($_POST['Email'])) {


 // Récupère les éléments du form
 $temp= '';
 while (list($truc, $val) = each($_POST))
  $temp .= $truc.' : '.$val."\n\n";
 // Caractères spéciaux
 $temp = stripslashes($temp);


 // Envoie le message
 if(@sendmail($_POST['Email'], [mailto:'mon.nom@wanadoo.fr' 'mon.nom@wanadoo.fr'], 'Message venant du site', $temp)) {
  // Affiche un message de confirmation
  echo 'Votre message a bien été envoyé à ','mon.nom@wanadoo.fr',' ,';
 } else {
  // ou un message d'erreur
  echo 'Impossible d\'envoyer le formulaire !';
 }
 
// SINON AFFICHAGE DU FORM
} else { ?>
  
   <script language ="text/JavaScript">
  // Teste si le mail a une forme correcte
  function checkmail(Email) {
   var (reg= '/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/')
   return (reg.exec(Email)!=null)
  }
  // Teste le contenu des champs du form avant submit
  function test(Nom,Email) {
   if(Nom.value=='') {
    alert('Indiquez votre nom !'); Nom.focus(); return false;
   } else if(!checkmail(Email.value)) {
    alert('Email incorrect !'); Email.focus(); return false;
   }
   return true;
  }
 </script>
 
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
11 juin 2006 à 11:50
Y'a un truc bizarre:
if(!empty($_POST['Email']))
{
  ...
}
else
{
}

Tu devrais faire la vérification sur l'email dans le if (càd si email n'est pas vide). Je vois des fonctions que dans le else... De plus tu mélanges javascript et php, c'est pas conseillà on s'y perd vite, après.

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
simsgodzilla Messages postés 24 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 25 juin 2006
11 juin 2006 à 13:08
ok, merci du conseil!
0
Rejoignez-nous