Formulaire de contact et IE

Résolu/Fermé
Rodinus Messages postés 71 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 7 novembre 2018 - 5 avril 2011 à 11:04
Rodinus Messages postés 71 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 7 novembre 2018 - 17 avril 2011 à 00:03
Bonjour à tous , voici mon problème :
-1 : j'ai fais un formulaire de contact via le site de Rad Zone (merci à Rad pour touts ces infos), je l'ai intégré à un page existante et enregistré en PHP , il s'affiche bien sous Mozilla et G Chrome mais sous IE8 et 9 la page s'affiche sous forme de texte tous simple sur fond blanc (Sans CSS ) ??? Mon site n'est pas encore hébergé sur serveur donc pas de lien à vous proposer .
Après recherche sur ce forum et d'autres je n'ai pas trouver de solution je précise que je suis débutant (il y à 3 semaines je ne connaissais rien à la création de site) .

-2 : Rad conseille de placer le code PHP en tous début de page avant le Doctype mais dans ce cas le formulaire se place à l'horizontal et sort du corps du site donc j'ai placé le code après , est-ce la raison ? Quelqu'un pourrait-il m'éclairer voir me proposer une solution .
Où peut-être y a t-il un module à activer sur IE pour que ce code sous lisible correctement ? Je vous joint le code complet de ma page .

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {


//On commence une session pour enregistrer les variables du formulaire...

session_start();

$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];

//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];

// Définir l\'icone apparaissant en cas d\'erreur...


// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;

// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}

// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {					

// Addresse de réception du formulaire
$email_dest = "dairejeanpaul@gmail.com";
$sujet = "votre message";
$entetes ="MIME-Version: 1.0 \n";
	$entetes .="From: Daire Jean-Paul<dairejeanpaul@gmail.com>\n";
	$entetes .="Return-Path: Daire Jean-Paul<dairejeanpaul@gmail.com>\n";
	$entetes .="Reply-To: Daire Jean-Paul<dairejeanpaul@gmail.com>\n";
	$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
	$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFF>\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Saisissez votre nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">objet du message = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">votre adresse e-mail = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">votre message = " . $_SESSION['zone_texte1'] . "</font><br>\n";
					

					// Fin du message HTML
					$fin = "</body></html>\n\n";
					
					$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;


					// Send the e-mail
					if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
					echo("Envoi du formulaire impossible");
					exit();
					} else {

                    // Rediriger vers la page de remerciement
                    header("Location:www.daire-jeanpaul.com/merci/merci.html");
                    exit();
                  } // Fin else
			    } // Fin du if ($flag_erreur == 0) {
			} // Fin de if POST
?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Contact et liens </title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="description" content="daire jean-paul artiste sculpteur contemporain autodidacte,membre de la fondation taylor,le village champtercier,n'hésitez pas à me contacter,galerie terre des arts,liens amis" />
	   <meta name="keywords" content="daire,jean-paul,artiste,sculpteur,contemporain,autodidacte,sculpture,pierre,portraits,bronze,personnalisez,message,e-mail,ecole,beaux-arts,arts,desing,artmajeur,gyp,matière,liens,galerie,fondation,taylor,facebook" />
	   <meta name="author" content="Daire jean-Paul"/>
	   <link rel="stylesheet" media="screen" type="text/css" title="Desing" href="desing.css"/>
	   <link rel="shortcut icon" href="image/favicon.ico" />
        <link rel="icon" type="image/gif" href="image/animated_favicon1.gif" />
  <script language="JavaScript">


function verifSelection() {


if (document.mail_form.champ1.value == "") {
alert("champ obligatoire")
return false
} 

if (document.mail_form.zone_email1.value == "") {
alert("champ obligatoire")
return false
}

invalidChars = " /:,;'"

for (i=0; i < invalidChars.length; i++) {	// does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (document.mail_form.zone_email1.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
document.mail_form.zone_email1.focus()
return false
}
}

atPos = document.mail_form.zone_email1.value.indexOf("@",1)			// there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (document.mail_form.zone_email1.value.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

periodPos = document.mail_form.zone_email1.value.indexOf(".",atPos)

if (periodPos == -1) {					// and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (periodPos+3 > document.mail_form.zone_email1.value.length)	{		// must be at least 2 characters after the 
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (document.mail_form.zone_texte1.value == "") {
alert("champ obligatoire")
return false
} 

} // Fin de la fonction
</script>

  </head>
 
   <body>
    
   <div id="site">
   <a name="haut"></a>
   <!-- l'en tête -->
   <div id="banniere">
    <img src="image/banniere.png" alt="photo banniere !" />
	 </div>
 
   <!-- les menu -->
    <div id="menu"/>
	<div class="element_menu">

    	<table cellpadding="0" cellspacing="0">
            
            
			
			         <tr>
			        <td width="90"><h2> <a href="index.html" title="retour page d'Accueil">Accueil</a> </h2></td>
					 <td width="130"><h2> <a href="abstraits.html" title="galeries photos">Galerie 1</a> </h2></td>
					 <td width="130"><h2>  <a href="Galerie figuratifs.html" title="galeries photos">Galerie 2</a></h2></td>
					 <td width="130"><h2>  <a href="Galerie portraits.html" title="galeries photos">Galerie 3</a></h2></td>
			         <td width="140"> <h2> <a href="Biographie.html" title="présentation de l'artiste"> Biographie</a> </h2></td>  
                     <td width="140"><h2>  <a href="Expositions et prix.html" title="expositions"> Expositions</a> </h2></td>
			         <td width="120"> <h2> <a href="Agenda.html" title="infos">Agenda</a></h2></td>
					 <td width="120"><h2>  <a href="contact.php" title="email-liens"> Contact </a> </h2></td>
		         </tr>
        </table>
    </div>
	
    <!-- le corps -->
	<div id="contact">
   
   <div class="element_mailto">
 
    <table align='center' border='0' cellpadding='20'>
<tr>
<td width='400px' style='text-align:left;'> <h3>Daire Jean-Paul </h3> 
   <h3>Sculpteur</h3>

<p>Le Village<br /></p>
<p>04660 Champtercier<br /></p>

   <p>Sculptures en argile , pierre , portraits , tirages en bronze .<br />
   Vous souhaitez personnaliser l'entrée en pierre de votre maison , linteaux , piliers , cheminée , 
   je suis à votre écoute pour réaliser votre projet
   n'hésitez pas à me contacter .<br />
   à bientôt</p> 
   
  <form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
  <div align="left"></div><br><table align="left" width="400" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="16"><div align="left">
  <font color="#CC0000" size="2" face="Rondalo, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
	  echo(stripslashes($erreur_champ1));
	  } else {
if ($erreur_champ2) {
	  echo(stripslashes($erreur_champ2));
	  } else {
if ($erreur_email1) {
	  echo(stripslashes($erreur_email1));
	  } else {
if ($erreur_texte1) {
	  echo(stripslashes($erreur_texte1));
	  } else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
    </strong></font>
    </div></td>
      </tr>
    </table>
<p align="left"></p><table width="400" border="0" align="left"><tr>
      <td width="140"><div align="left"><font face="Rondalo" color="white" size="3">-Saisissez votre nom</font></div></td>
	  <td align="left" valign="middle" width="30">
      <?php
	  if ($erreur_champ1) {
	  echo($icone);
	  }
	  ?>
      </td>
      <td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
    </tr></table><table width="400" border="0" align="left"><tr>
      <td width="140"><div align="left"><font face="Rondalo" color="white" size="3">-Objet du message</font></div></td>
	  <td align="left" valign="middle" width="30">
      <?php
	  if ($erreur_champ2) {
	  echo($icone);
	  }
	  ?>
      </td>
      <td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
    </tr></table><table width="400" border="0" align="left"><tr>
      <td width="140"><div align="left"><font face="Rondalo" color="white" size="3">-Votre adresse e-mail</font></div></td>
      <td width="30" align="left" valign="middle">
	  <?php
	  if ($erreur_email1) {
	  echo($icone);
	  }
	  ?>
	  </td>
      <td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
    </tr></table><table width="400" border="0" align="left"><tr>
      <td width="140" valign="top"><div align="left"><font face="Rondalo" color="white" size="3">-votre message</font></div></td>
      <td width="30" align="left" valign="top">
	  <?php
	  if ($erreur_texte1) {
	  echo($icone);
	  }
	  ?>
	  </td>
      <td><textarea name="zone_texte1" cols="45" rows="7"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
    </tr></table><table width="400" border="0" align="left"><tr>
<td valign="top"><div align="center"> 
          <input type="reset" name="Reset" value=" Effacer ">
            
          <input type="submit" name="envoi" value="Envoyer">
        </div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form>
 </div>

  
  <h3>Retrouvez moi sur :</h3>
  <p><a href="https://www.artmajeur.com/dairejeanpaul"target="_blank"><img src="image/artmajeur.jpg" alt="logo artmajeur"/></a></p>
         <p><a href="https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Fhome.php" target="_blank"><img src="image/facebook.jpg" alt="logo facebook"/></a></p></td>
  <td width='600px' style='text-align:auto;'>
         <h1>Liens coups de coeur et amis</h1>
                                           <p><a href="http://www.alainreymond.fr" target="_blank">www.alainreymond.fr</a>.............................Beaux-Arts</p>
     <p><a href="http://www.cc3v.com/index.php?rubrique=252" target="_blank"><img src="image/eba.jpg" alt="logo eba"/></a>.............................Ecole</p>
                   <p><a href="http://www.yvon-kergal.com" target="_blank"><img src="image/yvon.jpg" alt="logo yvon"/></a>.............................Peintre
                    <p><a href="http://www.elsamagrey.com" target="_blank"><img src="image/elsa.jpg" alt="logo elsa"/></a>.............................Elsa Magrey sculpteur</p>
       <p><a href="http://www.celine-creze.fr/ArtSite" target="_blank"><img src="image/celine.jpg" alt="logo celine"/></a>............................Photographiste-Plasticienne</p>
                  <p><a href="http://www.acg-mobilier.com" target="_blank"><img src="image/alex.jpg" alt="logo alex"/></a>.............................Art Design & Création</p>
         <p><a href="http://www.equipement-hotellerie.com" target="_blank"><img src="image/alex.jpg" alt="logo alex"/></a>.............................Art Design & Création</p>
         <p><a href="https://www.alexandredeschaumes.com/" target="_blank"><img src="image/alexD.jpg" alt="logo alexD"/></a>.............................Photographe</p>
   <p><a href="https://www.terredesarts.fr/" target="_blank"><img src="image/terredesarts.jpg" alt="logo terredesarts"/></a>.............................Galerie d'arts</p>
           <p><a href="http://www.fondationtaylor.com" target="_blank"><img src="image/taylor.jpg" alt="logo taylor"/></a>.............................Fondation Taylor</p>
                 <p><a href="http://www.gyp-art-matiere.com" target="_blank"><img src="image/gyp.jpg" alt="logo gyp"/></a>.............................GYP Art et Matière</p>
      </td>
	</tr>
  </table>
  </div>
   
  <!-- le pied de page -->
    <div id="footer">	<!-- Inclusion du Footer -->
	
        	<div style="float: left; margin-left: 210px;"/>
			        <a href="index.html" title="retour page d'Accueil">Accueil</a> |
			        <a href="abstraits.html" title="galeries photos">Galerie 1</a> </h2></td> |
				    <a href="Galerie figuratifs.html" title="galeries photos">Galerie 2</a> |
					<a href="Galerie portraits.html" title="galeries photos">Galerie 3</a> |
			        <a href="Biographie.html" title="présentation de l'artiste"> Biographie</a> |
                    <a href="Expositions et prix.html" title="expositions"> Expositions</a> |
					<a href="photomontages.html" title="montages de photos">Photomontages</a> |
			        <a href="Agenda.html" title="infos">Agenda</a> |
					<a href="contact.php" title="email-liens"> Contact </a> 
    </div>             
	<a href="#haut" title="Revenez en haut et début de page"><img src="image/fleche.jpg" style="float: rigth; margin-rigth: 0px;" alt="flèche bouton de retour vers le début haut de page" /></a>
     <div style="float: right; padding-top: 3px; margin-right: 250px;"/><h4>	.... Copyrigth Jean-Paul Daire 2011 .... <a href="mentions legales.html" title="mentions legales"> Tous droits réservés</a> .... Site crée par Jean-Paul Daire ....</h4></div>
    </body>
</html>




2 réponses

Rodinus Messages postés 71 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 7 novembre 2018 1
5 avril 2011 à 11:20
Re : Formulaire de contact et IE
Je précise que lorsque ma page formulaire est enregistrée en HTML elle s'affiche correctement sous IE le problème se pose seulement avec l'extension PHP ????
0
Rodinus Messages postés 71 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 7 novembre 2018 1
17 avril 2011 à 00:03
Bonsoir mon problème est partiellement résolu , j'ai donc hébergé mon site provisoirement pour le tester chez "RedHeberg.com (gratuit) , l'affichage et le positionnement sont parfait sur FF, IE, GCr, mais l'e-mail ne part pas ; message d'erreur de Google " ce lien semble être rompu !" Et il y a toujours les bouts de code dans les champs , j'ai donc refais 4 formulaires de suite et retenté mais il n'y a rien à faire ça ne fonctionne pas !!!?????
Un type du support m'a dit que cela doit venir du code, normalement ça marche sans problème , donc un peu ras le bol j'ai remplacé avec un autre code plus simple que j'avais sous le coude (je ne sais plus où je l'ai trouvé) et celui-ci marche impec ! Par contre il n'y a pas de redirection vers un page de remerciement qui m'avait intéressé sur celui de Rad et auquel je tiens beaucoup pour mes clients .
Alors est-il possible d'intégrer cette fonction dans le code, j'ai bien essayé plusieurs fois mais je plane !

-Extrait du code de Rad que je voudrais intégrer :
// Rediriger vers la page de remerciement ou ajouter l"adresse du site : ("Location: http://www.monsite.com/merci.html");
header("Location: merci.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST

-Code qui marche :Php

<?php
$champs_obligatoires = array("champ1","email","texte");
$champs_titres = array('champ1' =>'Veuillez saisir votre nom','champ2' =>'Objet de votre message','email' =>'Veuillez saisir votre e-mail','texte' =>'Votre message',);
$destinataire = 'dairejeanpaul@gmail.com';
$headers  = 'From: "Daire Jean-Paul" <dairejeanpaul@gmail.com>'."\n"; 
$headers .= 'Content-Type: text/plain; charset=iso-8859-1';
$sujet = 'votre message';
if (!empty($_POST)){
  $complete = true;
  foreach($champs_obligatoires as $champ){
    if (!isset($_POST[$champ])||trim($_POST[$champ])===''){
      $complete = false; //un champ obligatoire est incomplet
      break;
    }elseif($champ == 'email' && !preg_match('/[.+a-zA-Z0-9-]+@[.a-zA-Z0-9-]+.[a-zA-Z]{2,6}/', $_POST[$champ])){
      $complete = false; //email invalide
      $_POST[$champ] = '';
      break;
    }
  }
  foreach($_POST as $champ=>$valeur){
   	$message .= $champs_titres[$champ].': '.$valeur."\n";
  }
  $sent = $complete && @mail($destinataire,$sujet, $message,$headers);
 }
			
?>


-Code JS :
<script language="JavaScript" type="text/javascript">
<!--
function flash_labels(show) {
	var i = 1;
	while(document.getElementById('field'+i)){
		if (document.getElementById('flabel'+i).style.color == "red"){
			if (show)
				  document.getElementById('flabel'+i).style.visibility = "visible";
			else
				document.getElementById('flabel'+i).style.visibility = "hidden";
		}
		i++;
	}
}

function verifSelection() {
	var i = 1;
	var retour = true;
	while(document.getElementById('field'+i)){
		if (document.getElementById('field'+i).value == ""){
			document.getElementById('flabel'+i).style.color = "red";
			retour = false;
		}else{
			document.getElementById('flabel'+i).style.color = "";
		}
		i++;
	}
	if (!retour) 	alert("Vous devez remplir le formulaire au complet !");
	setTimeout("flash_labels(false)", 100);
	setTimeout("flash_labels(true)", 350);
	setTimeout("flash_labels(false)", 600);
	setTimeout("flash_labels(true)", 850);
	return retour;
}

<?php if (isset($complete) && $complete == false) echo 'onload = function() {verifSelection(); }'; ?>

// -->
</script>


-code Html :
<?php if (!isset($sent) || (isset($complete) && $complete == false)){ ?>
  <!-- Debut formulaire -->
   <form action="" method="post" onsubmit="return verifSelection()">
  
 <table style="margin:0 auto;" width="400" border="0" align="left">/> 
    <tr><td width="140" valign="left"><font face="Rondalo" color="white" size="2"><label id="flabel1" for="field1">Veuillez saisir votre nom <strong>*</strong></label></td><td><input type="text" id="field1" size="25" name="champ1" value="<?php echo @$_POST["champ1"]; ?>" /></td></tr></p>
 <table width="400" border="0" align="left"> 
	<tr><td  width="140" align="left"><font face="Rondalo" color="white" size="2">Objet de votre message</font></td><td><input type="text" size="25" name="champ2" value="<?php echo @$_POST["champ2"]; ?>" /></td></tr>
 <table width="400" border="0" align="left">
	<tr><td width="140" valign="left"><font face="Rondalo" color="white" size="2"><label id="flabel2" for="field2">Veuillez saisir votre e-mail <strong>*</strong></label></td><td><input type="text" name="email" id="field2" size="25" value="<?php echo @$_POST["email"]; ?>" /></td></tr>
 <table width="410" border="0" align="left">
	<tr><td valign="top"> <font face="Rondalo" color="white" size="2"><label id="flabel3" for="field3"> Votre message <strong>*</strong></label></td><td><textarea name="texte" rows="7" id="field3" cols="40"><?php echo @$_POST["texte"]; ?></textarea></td></tr>
    
	<tr><td></td><td style="text-align:right"><input type="submit" value="Envoyer" /></td></tr>
   </table>

   </form>
  <!-- Fin formulaire -->
<?php }elseif(!$sent){ ?>
  <!-- Debut message Erreur -->
     <p style="text-align:left; color: red;">Une erreur serveur est survenue, l'envoi de mail est impossible. Veuillez réessayer plus tard</p>
  <!-- Fin message erreur -->
<?php }else{ ?>
  <!-- Debut message succes -->
     <p style="text-align:left; color: green;">Votre message a été envoyé avec succès, merci!</p>
  <!-- Fin message succes -->
<?php } ?>


Quelqu'un pourra t-il m'aider , merci d'avance .
0