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

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire de contact PHP

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire de contact PHP

n°1793229
lolothep
Posté le 29-09-2008 à 10:30:07  profilanswer
 

Bonjour,
 
Débutant complet en PHP, j'ai voulu créer moi meme la gestion de mon formulaire de contact en PHP (formulaire qui se trouve sur une page HTML). Que je faisais avant grace à un fichier Javascript (qui vérifiait la saisie des champs) et un Perl (qui traitait l'envoi du formulaire).
Aprés plusieurs heures, j'ai réussi enfin à construire ce fichier PHP "tout en un", trés basic certes.
 
Il marche trés bien, mais j'ai un petit soucis.... Lorsqu'il ouvre une popup (un Alert en javascript), pour avertir l'internaute d'une erreur de saisie ou du bon envoi du mail, celle-ci apparait devant une page blanche. Fort heureusement, lorsqu'on clic sur cette popup on revient à notre page de formulaire (history.go-1).
 
N'y aurait 'il aucun moyen pour que ces popup s'ouvre par dessus ma page de formulaire ?
 
Voici mon code :
 
 
<?php
$email = $_POST['email'];  
$check = preg_match("!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,5}$!", $email);  
if (!$check) {
  echo '<script language="Javascript">
  alert ("Adresse E-mail non valide !" )
  history.go(-1)
  </script>';
  exit();
}  
if(isset($_POST) && isset($_POST['email']) && isset($_POST['message'])){
   extract($_POST);
   if(!empty($email) && !empty($message)){
  $message=str_replace("\'","'",$message);
  $message=stripslashes($message);
  $destinataire="moi@monsite.com";
  $sujet="Formulaire de contact";
  $date=date("Y-m-d H:i" );
  $message="Un nouveau message du formulaire en ligne est arrivé :\n\n
  Date : $date \n
  Nom : $nom \n
  Societe : $societe \n
  Adresse : $adresse \n
  Email : $email \n
  Telephone : $telephone \n
  Message: $message";
  $entete="From: $email";
  mail($destinataire,$sujet,$message,$entete);
  echo '<script language="Javascript">
  alert ("Mail envoyé ..." )
  history.go(-1)
  </script>';
   }
   else{
  echo '<script language="Javascript">
  alert ("Remplissez les champs obligatoires marqués par *" )
  history.go(-1)
  </script>';
   }
}
?>

mood
Publicité
Posté le 29-09-2008 à 10:30:07  profilanswer
 

n°1793343
CyberDenix
Posté le 29-09-2008 à 14:12:18  profilanswer
 

C'est normal, tu déclenches le javascript dans ta page de vérification au lieu de le déclencher dans la page contenant le formulaire.
 
Il faut donc faire ta vérification javascript dans la page du formulaire (dans le champ qui fait la soumission, tu mets l'attribut onsubmit=ma_fonction_de_verification_javascript() et dans ma_fonction_de_verification_javascript() tu fais tes verifs), et au cas où le client a désactivé le javascript, tu fais une seconde vérification coté serveur (donc en php) dans une page de vérification.


Message édité par CyberDenix le 29-09-2008 à 14:14:44

---------------
Directeur Technique (CTO)
n°1793344
lolothep
Posté le 29-09-2008 à 14:13:43  profilanswer
 

Oui j'en avais fais la meme déduction, je pensais (dans un élan d'utopie) qu'il y avait peut etre une solution miracle...


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

  Formulaire de contact PHP

 

Sujets relatifs
aide pour modéle de News avec PHP-Nukeprobleme verification formulaire
confirmation avant d'envoi par email d'un formulairePHP, MySQL, et HTML avec visual web developper ?
Tableau PHP en tableau javascript : ProblemePhp Usort Array
[PHP+SHELL][PHP][SMARTY] Construire un nom de variable à la volé avec eval et cat
recuperation piece jointe formulaireBalise <form> qui ne renvoie rien à mon script PHP
Plus de sujets relatifs à : Formulaire de contact PHP


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