Formulaire de contact et IE
Résolu
Rodinus
Messages postés
76
Statut
Membre
-
Rodinus Messages postés 76 Statut Membre -
Rodinus Messages postés 76 Statut Membre -
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 .
-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
-
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 ???? -
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 .