Champs obligatoires dans un formulaire sur IE

pascale17487 Messages postés 48 Statut Membre -  
Ysabe_l Messages postés 11937 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai crée un formulaire en mettant des champs obligatoires ils fonctionnent bien sur Firefox mais pas sur IE.
Voici le code :

<?php
$adresse = "informations@empuriabrava.fr";
$site = "www.empuriabrava.fr";

$TO = $adresse;

$head = "From: ".$adresse."\n";
$head .= "X-Sender: <".$adresse.">\n";
$head .= "X-Mailer: PHP\n";
$head .= "Return-Path: <".$adresse.">\n";
$head .= "Content-Type: text/plain; charset=iso-8859-1\n";

$sujet = "Formulaire de contact";

$informations = "
Nom: ".$_POST['nom']." \r\n
Email du formulaire: ".$_POST['email']." \r\n
Type : ".$_POST['choix']."\r\n
Nombre de chambres : ".$_POST['number']."\r\n
Amarre : ".$_POST['choix1']." \r\n
Piscine : ".$_POST['choix2']." \r\n
Budget : ".$_POST['number1']."\r\n
Message: ".$_POST['message']." \r\n
";

$res = mail($TO, $sujet ,$informations, $head);

if (true == $res) {
Header("Location: http://".$site."/accuse.htm" );
} else {
Header("Location: http://".$site."/accuse.htm" );
}
?>

Merci de votre aide.
Pascale

4 réponses

  1. gardiendelanuit Messages postés 1772 Date d'inscription   Statut Membre Dernière intervention   267
     
    Bonjour,

    Que veux-tu dire par "il ne marche pas sous IE"? Ca n'envoie pas le mail? Normalement c'est coté serveur donc le navigateur n'entre pas (ou très rarement) en ligne de compte.
    Vérifie toutes tes variables.

    Merci de mettre "Résolu" quand le problème est réglé!
    La connaissance c'est comme la confiture: moins on en a et plus on l'étale.
    0
  2. pascale17487 Messages postés 48 Statut Membre
     
    non les champs de sont pas obligatoires. l'envoi du fonctionne bien.
    Il arrive très fréquemment que mes visiteurs IE omettent de renseigner leur email donc impossible de leur répondre.
    Merci
    0
  3. tryan44 Messages postés 1289 Date d'inscription   Statut Membre Dernière intervention   220
     
    C'est normal puisque vous n'avez aucun contrôle au niveau de votre formulaire.
    <?php
    	//action de valider le formulaire
    	if(isset($_POST["Valider"]))
    	{	
    		//le champ mail est t'il vide
    		if(empty($_POST['email'])){
    			echo 'Le champ "Email" est vide.';
    		}
    		//l'email est il valide
    		elseif (!preg_match("$[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST['email']))
    		{ 
    			echo 'Votre email semble ne pas être valide.';
    		} 	
    		//tout est ok
    		else{
    			//ici l'envoi du mail
    		}
    	}
    ?>
    0
  4. Ysabe_l Messages postés 11937 Date d'inscription   Statut Contributeur Dernière intervention   277
     
    Bonjour,

    Comment déclares-tu que les champs sont obligatoires ?

    A priori sur la page du formulaire avant son envoi définitif je ferais un truc du genre
    if ((isset($_POST['nom']) && $_POST['nom'] != NULL) 
    { 
         ((isset($_POST['email']) && $_POST['email'] != NULL) 
         { 
              envoi du formulaire 
         } 
         else 
         { 
              message signalant qu'il manque le mail 
         } 
    } 
    else 
    { 
         message signalant qu'il manque le nom 
    } 
    


    en rajoutant bien sur tous les champs obligatoires.

    Sinon plus simple et plus joli (mais qui ne marche pas avec les anciens IE) : https://www.alsacreations.com/tuto/lire/1391-formulaire-html5-placeholder-required-pattern.html
    0