PHP sous IE

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

PHP sous IE

Message par klaviebel »

Bonjour,
J'essaie désespérément finir mon site internet pour qu'il fonctionne sous IE. (Tout marche à merveille sous Mozilla... mais je me dis que ça devient ridicule de le préciser...)

J'ai trois formulaires sur mon site. Aucun ne fonctionne correctement sous IE. Il me renvoit une partie de mon code html dans ma boîte mail, ce qui en rend le contenu intraitable. De même lorsque mon correspondant le rempli et que le résultat de sa saisi apparait, une partie du code html apparait dans les infos.

Ca fait plusieurs jours que je planche là dessus. Et je n'arrive pas à trouver le pourquoi du comment.

voilà l'un de mes codes php: (fait dans Kpz)

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta
 id="_moz_prolog" content=""><meta id="_moz_prolog" content=""><meta
 id="_moz_prolog" content=""><meta id="_moz_prolog" content=""><meta
 id="_moz_prolog" content=""><meta id="_moz_prolog" content=""><meta
 id="_moz_prolog" content=""><meta id="_moz_prolog" content=""><meta
 id="_moz_prolog" content=""><meta id="_moz_prolog" content=""><meta
 content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>formulairecommande</title></head>
<body><?php $n = htmlentities($_POST['Nom']);
$p = htmlentities($_POST['Prenom']);
$m = htmlentities($_POST['email']);
$a = htmlentities($_POST['Adresse']);
$co = htmlentities($_POST['Codepostal']);
$v = htmlentities($_POST['Ville']);
$pa = htmlentities($_POST['Pays']);
$r1 = htmlentities($_POST['reference1']);
$r2 = htmlentities($_POST['reference2']);
$r3 = htmlentities($_POST['reference3']);
$validation = $_POST['validation'];
if (isset($_POST['oui']))
$mbr = $_POST['oui'];
else
$mbr = "ne repond pas";
echo "Votre nom est $n <br />";
echo "Votre nom est $p <br />";
echo "Votre adresse email est $m <br />";
echo "Votre adresse est $a <br />";
echo "Votre code postal est $co <br />";
echo "Votre ville est $v <br />";
echo "Votre pays est $n <br />";
echo "Votre reference 1 est $r1 <br />";
echo "Votre reference 2 est $r2 <br />";
echo "Votre reference 3 est $r3 <br />";
echo "oui j'accepte les conditions de vente: $oui<br />";
$message .= $n."\n";
$message .= $p."\n";
$message .= $m."\n";
$message .= $a."\n";
$message .= $co."\n";
$message .= $v."\n";
$message .= $pa."\n";
$message .= $r1."\n";
$message .= $r2."\n";
$message .= $r3."\n";
$message .= "validation: $validation \n";
mail ("xxx@xxx.xx", "formulairecommande", $message, "From: $n");
echo "Votre commande vient de m'être envoyée. Je vous contacterai dans les meilleurs délais. Merci de votre confiance.; <br />"; ?></body></html>
et mon code html:(NB: le code php ci-dessus correspond au premier formulaire dans le code html)

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta
 content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>commander</title>
<link rel="stylesheet" type="text/css" href= "design.css">
<style type="text/css">
</style></head><body>
<div id="page">
<div id="logo">
</div>

<div id="entete">
</div>

<div id="menu"> 
	<a href="accueil.html"><img src="boutons%20de%20navigation/accueil.gif" alt"bouton navigation accueil"></a>
	<a href="collections.html"><img src="boutons%20de%20navigation/collections.gif" alt"bouton navigation collections"></a>
	<a href="commander.html"><img src="boutons%20de%20navigation/commander_actif.gif" alt"bouton navigation commander"></a>
	<a href="mailto:keocreations@free.fr"><img src="boutons%20de%20navigation/contact.gif" alt"bouton de navigation contact"></a>
	<a href="portrait.html"><img src="boutons%20de%20navigation/portrait.gif" alt"bouton de navigation portrait"></a>
	<a href="curieuses.html"><img src="boutons%20de%20navigation/curieuses.gif" alt"bouton de navigation curieuses"></a><br>
</div>
	
<div id="contenu">
	<h2>Conditions générales de vente :</h2><a href="conditions_de_vente.html" title="Cliquer pour accéder aux conditions de vente"/>cliquer ici</a> pour y accéder.</span><br>
	<p class="indent">En remplissant ci-dessous le bon de commande, vous reconnaissez avoir pris connaissance des conditions générales de vente <a
 href="conditions_de_vente.html" title="Cliquer pour accéder aux conditions de vente"/>ici</a> et les accepter sans aucune réserve.</p>
	<p class="indent">Les frais d'envoi vous sont offerts en FRANCE METROPOLITAINE. Pour des envois vers d'autres
destinations, n'hésitez pas à me contacter <a href="mailto:keocreations@free.fr" title="Cliquer pour m'envoyer un email"/>ici</a> pour le supplément.</p>
	<p class="indent">Nous souhaitons attirer votre attention sur le fait que certains bijoux peuvent potentiellement avoir une légère différence de couleurs
comparativement à la photo que vous découvrez sur ce site internet pour
des raisons intrinsèques à la photographie numérique.</p>
	<p class="indent">Vous recevrez votre ou vos bijoux dans des jolis emballages à s'offrir ou à offrir (dans ce dernier cas vous
recevrez une photographie numérique par messagerie du ou des bijoux dans leurs emaballages que recevra le destinataire).</p><br><br> 
	
	<table>
		<tr>
		<th>Bon de commande :</th>
		<th>Il s'agit d'un cadeau :</th>
		</tr>
		<td>
		<p><p class="indent">Tous les champs marqués avec un * sont à remplir OBLIGATOIREMENT. Merci de votre compréhension.</p></p><br><br>
		<form method="post" action="formulairecommande.php" name="FormulaireCommande">
			<fieldset>
				<legend>Vos coordonnées</legend> 
				<p><p class="different">Nom* :<input type="text" name="Nom"/></p></p>
				<p><p class="different">Prénom*:<input type="text" name="Prenom"/></p></p>
				<p><p class="different">E-mail*:<input type="text" name="email"/></p></p>
				<label><p class="different">Adresse*:<textarea name="Adresse" cols="12" rows="3"</textarea></p></label>
				<p><p class="different">Code Postal* :<input type="text" name="Codepostal"/></p></p>
				<p><p class="different">Ville* :<input type="text" name="Ville"/></p></p>
				<p><p class="different">Pays* :<input type="text" name="Pays"/></p></p>
			</fieldset>
			<fieldset>
			<legend>Référence des Bijoux :</legend> 
				<p><p class="different">Référence bijou 1:<input type="text" name="reference1"/></p></p>
				<p><p class="different">Référence bijou 2:<input type="text" name="reference2"/></p></p>
				<p><p class="different">Référence bijou 3:<input type="text" name="reference3"/></p></p>
			</fieldset>
			<fieldset>
			<legend>Confirmation de vente :</legend> 
				<p>J'ai lu et j'accepte les conditions de vente* : 
				<label><input type="radio" name="Cdvente" value="oui" /> Oui</label><br /></p>
			</fieldset>
			<p><input name="Envoyer" value="Envoyer" type="submit"/> <input name="annuler" value="Annuler" type="reset"/></p>
			</p>
		</form>
		</td>
				
		<td>
		<p><p class="indent">Vous souhaitez offrir un ou des bijoux à une personne et préférez qu'elle le reçoive directement alors remplissez les champs du
formulaire de vos coordonnées personnelles au préalable, puis compléter le formulaire ci-dessous.<br>Tous les champs marqués avec un * sont à remplir
OBLIGATOIREMENT. Merci de votre compréhension.</p></p><br><br>
		<form method="post" action="commandecadeau.php" name="FormulaireCadeau">
			<fieldset>
				<legend>Les coordonnées du destinataire:</legend> 
				<p><p class="different">Nom* :<input type="text" name="NomDestinataire"/></p></p>
				<p><p class="different">Prénom* :<input type="text" name="PrenomDestinataire"/></p></p>
				<p><p class="different">Prénom* :<input type="text" name="PrenomDestinataire"/></p></p>
				<label><p class="different">Adresse d'envoi* :<textarea name="adresse"cols="12" rows="3"</textarea></p></label>
				<p><p class="different">Code postal* :<input type="text" name="codepostal"/></p></p>
				<p><p class="different">Ville* :<input type="text" name="ville"/></p></p>
				<p><p class="different">Pays* :<input type="text" name="Pays"/></p></p>
			</fieldset>
			<fieldset>
				<legend>Réference des bijoux à offrir :</legend>
				<p><p class="different">Référence bijou 1:<input type="text" name="reference1"/></p></p>
				<p><p class="different">Référence bijou 2:<input type="text" name="reference2"/></p></p>
				<p><p class="different">Référence bijou 3:<input type="text" name="reference3"/></p></p>
				<label><p class="different">Message pour accompagner l'envoi :<br>
                <textarea name="message" rows="10" cols="33"></textarea>
				</p></label>
			</fieldset>
			<fieldset>
			<legend>Confirmation de vente :</legend> 
				<p>J'ai lu et j'accepte les conditions de vente* : 
				<label><input type="radio" name="Cdvente" value="oui" /> Oui</label><br /></p>
			</fieldset>
			<p><input name="Envoyer" value="Envoyer" type="submit"/> <input name="annuler" value="Annuler" type="reset"/></p>
			</p>
			</form>
			</td>
		</tr>
	</table><br><br>
	<p>Vous recevrez un message de confirmation par e-mail très rapidement.<br>Si vous ne recevez pas de confirmation de ma part c'est qu'un problème est survenu. N'hésitez pas alors à me recontacter.<br>Merci de votre confiance.</p>
	<h4>Pour faire connaître le site de Keo à vos ami(e)s cliquez <a href="faire_connaitre.html">ici</a><img src="boutons%20de%20navigation/mailbox%20RED.png"></h4></br>
	<br></div>

<div id="menu">
	<a href="accueil.html"><img src="boutons%20de%20navigation/accueil.gif" alt"bouton navigation accueil"></a>
	<a href="collections.html"><img src="boutons%20de%20navigation/collections.gif" alt"bouton navigation collections"></a>
	<a href="commander.html"><img src="boutons%20de%20navigation/commander_actif.gif" alt"bouton navigation commander"></a>
	<a href="mailto:keocreations@free.fr"><img src="boutons%20de%20navigation/contact.gif" alt"bouton de navigation contact"></a>
	<a href="portrait.html"><img src="boutons%20de%20navigation/portrait.gif" alt"bouton de navigation portrait"></a>
	<a href="curieuses.html"><img src="boutons%20de%20navigation/curieuses.gif" alt"bouton de navigation curieuses"></a><br>
</div>
</div>

</body></html>
merci de votre aide

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Avatar de l’utilisateur
pascal
Administrateur
Messages : 1515
Inscription : 28 juil. 2003, 15:13

Message par pascal »

le php n'est pas correct, il manque les accolades du if :

Code : Tout sélectionner

if (isset($_POST['oui'])) 
{
 $mbr = $_POST['oui'];
} else
{
$mbr = "ne repond pas"; 
}
par ailleurs, avant de rajouter du contenu à $message, il faut le créer donc :

Code : Tout sélectionner

$message = $n."\n";
$message .= $p."\n"; 
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Mes opinions n'engagent que moi et pas mon employeur
Administrateur technique bénévole
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

pascal a écrit :le php n'est pas correct, il manque les accolades du if
Heu, tu es sûr d'être bien réveillé ? Il n'a qu'une seule instruction dans son if a priori :)
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Avatar de l’utilisateur
pascal
Administrateur
Messages : 1515
Inscription : 28 juil. 2003, 15:13

Message par pascal »

Mais il en a plusieurs dans son else.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Mes opinions n'engagent que moi et pas mon employeur
Administrateur technique bénévole
Invité

Message par Invité »

Mais il en a plusieurs dans son else.
Non, je n'ai qu'une instruction: "ne répond pas"...

Est-ce que vous connaitriez un bon tuto pour comprendre le php? (comme je le disais plus haut, je l'ai fait avec Kpz et donc, je l'ai laissé faire...)

En tous les cas, mon code ne marche pas, et sous IE c'est une complète catastrophe... :oops:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

Google est ton ami!
http://www.phpdebutant.org/ (particulièrement la colonne de droite)
http://www.phpfrance.com/
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Deux choses :
  1. echo est ton ami. N'hésite pas à afficher les variables à tous les stades pour voir ce qu'elles contiennent, et trouver à quel stade ça coince. Pense aussi à error_reporting pendant le développement ! (n'oublie pas de le supprimer après).
  2. Un peu hs : attention aux entêtes !
    Tu as mis une entête "From: $n", c'est bien, mais si un utilisateur malveillant ajoute un retour à la ligne dans $n ? Il peut alors injecter ce qu'il veut dans tes entêtes (bon, il y a probablement quelques protections, mais fais quand-même gaffe ;-)
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

Message par klaviebel »

:D merci Chinon37! :wink:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

Message par klaviebel »

merci Calimo! :D :wink:
echo est ton ami.
chouette! enfin! :lol:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

Message par klaviebel »

voilà, je lis des tutos sur php et une question me taraude: quelle est la différence entre :
echo "Mon chiffre favoris est ". $mon_chiffre (trouver dans un tuto)
et
echo "Votre nom est $n <br />"; (mon code fait sous Kpz)

Est-ce que l'un pourrait fonctionner sous IE et pas l'autre?
(puisque j'essaie toujours de comprendre pourquoi mes php fonctionnent parfaitement sous mozilla mais bugs totalement sous IE)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

klaviebel a écrit :voilà, je lis des tutos sur php et une question me taraude: quelle est la différence entre :
echo "Mon chiffre favoris est ". $mon_chiffre (trouver dans un tuto)
et
echo "Votre nom est $n <br />"; (mon code fait sous Kpz)

Est-ce que l'un pourrait fonctionner sous IE et pas l'autre?
Il faut bien voir que le php n'est pas interprété par le navigateur (IE, Mozilla) mais interprété sur le serveur. Donc IE ne reçoit que le code HTML généré. Normalement, il n'y a donc pas d'influence du navigateur sur ce plan là.
La différence est à chercher soit sur la manière dont le navigateur interprète le code reçu, soit sur la façon dont il envoie les données...

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

Edit : une explication bien faite : http://www.siteduzero.com/tuto-3-20-1-i ... #ss_part_2 (le seul point qu'on peut lui reprocher c'est de faire une différence avant/maintenant)
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

Message par klaviebel »

Merci Calimo.
J'avais fait de grosses erreurs de codage html pour mes formulaires (j'avais notamment oublié les <label for=""> </label> et autre id="". Ce qui fait qu'une partie de mes formulaires était ignorée par IE. Et j'imagine que cela avait des conséquences sur le traitement de PHP sous IE. (alors que tout fonctionnait bien sous Mozilla).
J'ai presque fini de tout corriger. Je vais remettre ça en ligne et voir si cela dysfonctionne toujours sous IE.
Et le cas échéant revoir tout ça.


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

klaviebel a écrit :Et j'imagine que cela avait des conséquences sur le traitement de PHP sous IE.
Non, plutôt sur les données envoyées par IE au serveur. Encore une fois, lis le lien que je t'ai donné juste au-dessus pour bien comprendre où intervient php :wink:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

Message par klaviebel »

Merci Calimo. je l'avais déjà regardé (je me suis beaucoup servi du site du zéro :wink: pour html et css). Mais je "replanche" dessus!

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
klaviebel
Lézard vert
Messages : 160
Inscription : 06 mars 2007, 13:20

Message par klaviebel »

Voilà, j'ai reconfiguré mon fichier php.ini, mais je ne comprends pas comment pas comment ça marche. J'ai pourtant fait une recherche sur google pour savoir comment utiliser la fonction de "error-reporting" mais je n'ai comme résultat que les erreurs qu'elle met en avant...
D'où mon post.
Bref, comment ça marche? :roll:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités