Champs obligatoires dans un formulaire sur IE

pascale17487 Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   -  
Ysabe_l Messages postés 12717 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


A voir également:

4 réponses

gardiendelanuit Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
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
pascale17487 Messages postés 48 Date d'inscription   Statut Membre Dernière intervention  
 
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
tryan44 Messages postés 1288 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
Ysabe_l Messages postés 12717 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