Formulaire de contact PHP

Formulaire de contact PHP - PHP - Programmation

Marsh Posté le 29-09-2008 à 10:30:07    

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>';
   }
}
?>

Reply

Marsh Posté le 29-09-2008 à 10:30:07   

Reply

Marsh Posté le 29-09-2008 à 14:12:18    

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)
Reply

Marsh Posté le 29-09-2008 à 14:13:43    

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...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed