[php] probleme compatibilité IE/FF/S/M/GC/O
Résolu
maxland
-
maxland Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
maxland Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
comme le titre ne l'indique pas forcement,
j'ai un probleme de compatibilité certes mais avec
6 navigateurs donc Internet Explorer, FireFox, Safari,
Maxthon, Goggle Chrome et Opera.
personnellement je me sers d'opera comme vous pourrez le constatez en bas ...
j'essaie de coder un site mais il ne marche parfaitement qu'avec opera 9, IE7 et maxthon 2
et j'ai juste un probleme de passage de variables apparement avec les autres.
un formulaire passe plusieurs variables d'une page A a une page B, puis C, puis D, etc ...
tout marche avec les 3 premiers navigateurs mais l'operation s'arrete dès la premiere page avec les autres.
en fait c'est un test a la page B qui verifie si tous les champs venant de la page A sont complets (peu importe le contenu) et qui, si ils le sont, affiche une phrase de confirmation.
si ils ne le sont pas tous, il affiche une phrase disant que les infos ne pas completes.
et enfin si il n'y a aucun champs rempli, il n'affiche rien.
je vous met une partie de mon code pour ceux qui ne voient pas ce que je veux dire :
- Page A contenant les infos et les envoyant vers la page B par formulaire
- Page B recevant les infos de la Page A et verifiant les champs et affichant une phrase en conséquence :
et normalement ca se repete sur 3-4 pages mais avec firefox, safari et gchrome ca s'arrete au premier passage de variables et je ne comprends pas pourquoi.
merci d'avance de votre aide
comme le titre ne l'indique pas forcement,
j'ai un probleme de compatibilité certes mais avec
6 navigateurs donc Internet Explorer, FireFox, Safari,
Maxthon, Goggle Chrome et Opera.
personnellement je me sers d'opera comme vous pourrez le constatez en bas ...
j'essaie de coder un site mais il ne marche parfaitement qu'avec opera 9, IE7 et maxthon 2
et j'ai juste un probleme de passage de variables apparement avec les autres.
un formulaire passe plusieurs variables d'une page A a une page B, puis C, puis D, etc ...
tout marche avec les 3 premiers navigateurs mais l'operation s'arrete dès la premiere page avec les autres.
en fait c'est un test a la page B qui verifie si tous les champs venant de la page A sont complets (peu importe le contenu) et qui, si ils le sont, affiche une phrase de confirmation.
si ils ne le sont pas tous, il affiche une phrase disant que les infos ne pas completes.
et enfin si il n'y a aucun champs rempli, il n'affiche rien.
je vous met une partie de mon code pour ceux qui ne voient pas ce que je veux dire :
- Page A contenant les infos et les envoyant vers la page B par formulaire
echo ' <tr><td colspan="2" align="center"><form method="post" action="pageB.php"><br /></td></tr> <tr><td colspan="2" align="center">Adresse de livraison différente </td></tr> <tr><td colspan="2" align="center"> <i>(tous les champs sont obligatoires, sauf le complément d\'adresse)</i> <br /><br /></td></tr> <tr><td colspan="2" align="center">M. <input type="radio" name="liv_civ" value="M"> Mme. <input type="radio" name="liv_civ" value="Mme"> Mlle. <input type="radio" name="liv_civ" value="Mlle"></td></tr> <tr><td colspan="2" align="center">Nom : <input type="text" name="liv_nom"> Prénom : <input type="text" name="liv_pnom"></td></tr> <tr><td colspan="2" align="center">Adresse : <input type="text" name="liv_adr"> Complément d\'adresse : <input type="text" name="liv_adc" size="15"></td></tr> <tr><td colspan="2" align="center">Code postal : <input type="text" name="liv_cp"> Ville : <input type="text" name="liv_ville"></td></tr> <tr> <td align="left"><br /><a href="panier.php"><img name="continuer" SRC="images/navigation/retour-out.jpg" onmouseover=this.src="images/navigation/retour-in.jpg" onmouseout=this.src="images/navigation/retour-out.jpg" border="0" alt="Retour" onclick="panier.php"/></a></td> <td align="right"><br /><a href="livraison.php" ><input type="image" name="continuer" SRC="images/navigation/continuer-out.jpg" onmouseover=this.src="images/navigation/continuer-in.jpg" onmouseout=this.src="images/navigation/continuer-out.jpg" border="0" alt="Continuer" onclick="livraison.php"/></a></td> </tr> </form> </table>';
- Page B recevant les infos de la Page A et verifiant les champs et affichant une phrase en conséquence :
$liv_civ = $_POST['liv_civ']; $liv_nom = $_POST['liv_nom']; $liv_pnom = $_POST['liv_pnom']; $liv_adr = $_POST['liv_adr']; $liv_cp = $_POST['liv_cp']; $liv_ville = $_POST['liv_ville']; $liv_adc = $_POST['liv_adc']; // code html et php \\ ?> <?php // test et affichage \\ if (empty($liv_civ) && empty($liv_nom) && empty($liv_pnom) && empty($liv_adr) && empty($liv_cp) && empty($liv_ville)) {} else if (!empty($liv_civ) && !empty($liv_nom) && !empty($liv_pnom) && !empty($liv_adr) && !empty($liv_cp) && !empty($liv_ville)) echo '<tr><td align="center" colspan="2"> <font color="red"><i>Adresse de livraison alternative prise en compte.</i></font></td></tr>'; else echo '<tr><td align="center" colspan="2"><font color="red"><i> Il manque des informations pour l\'adresse de livraison alternative,<br />l\'adresse de livraison sera donc la même que celle de facturation.</i></font></td></tr>'; ?>
et normalement ca se repete sur 3-4 pages mais avec firefox, safari et gchrome ca s'arrete au premier passage de variables et je ne comprends pas pourquoi.
merci d'avance de votre aide
A voir également:
- [php] probleme compatibilité IE/FF/S/M/GC/O
- Compatibilite windows 11 - Guide
- O&o shutup10 - Télécharger - Confidentialité
- O&o defrag - Télécharger - Optimisation
- Erreur 20 ff free - Astuces et Solutions
- Easy php - Télécharger - Divers Web & Internet
17 réponses
Bon, à mon avis, c'est là qu'il y a un soucis :
Si tu mets ce genre de chose à la place ?
<button type="submit" name="continuer" style="border-style:none; background-color:inherit; padding:0px;"><img src="images/navigation/continuer-out.jpg" onmouseover='this.src="images/navigation/continuer-in.jpg"' onmouseout='this.src="images/navigation/continuer-out.jpg"' title="continuer" alt="continuer" /></button>
<a href="livraison.php" ><input type="image" name="continuer" SRC="images/navigation/continuer-out.jpg" onmouseover=this.src="images/navigation/continuer-in.jpg" onmouseout=this.src="images/navigation/continuer-out.jpg" border="0" alt="Continuer" onclick="livraison.php"/></a>
Si tu mets ce genre de chose à la place ?
<button type="submit" name="continuer" style="border-style:none; background-color:inherit; padding:0px;"><img src="images/navigation/continuer-out.jpg" onmouseover='this.src="images/navigation/continuer-in.jpg"' onmouseout='this.src="images/navigation/continuer-out.jpg"' title="continuer" alt="continuer" /></button>
les onmouseover et onmouseout, c'est pas sur l'image mais sur le bouton :)
exemple :
<button type="submit" onmouseover='document.getElementById("limage").src="images/navigation/continuer-in.jpg"' onmouseout='document.getElementById("limage").src="images/navigation/continuer-out.jpg"' name="continuer" style="border-style:none; background-color:inherit; padding:0px;">
<img src='images/navigation/continuer-out.jpg' id='limage' />
</button>
exemple :
<button type="submit" onmouseover='document.getElementById("limage").src="images/navigation/continuer-in.jpg"' onmouseout='document.getElementById("limage").src="images/navigation/continuer-out.jpg"' name="continuer" style="border-style:none; background-color:inherit; padding:0px;">
<img src='images/navigation/continuer-out.jpg' id='limage' />
</button>
Bonjour,
Normalement, une balise TABLE ne peut pas contenir de balise FORM.
Certains navigateurs sont permissifs, et l'interprètent bien. D'autres s'en tiennent aux règles. Du coup, ton formulaire qui se termine de cette façon : "</tr></form></table>" n'est pas valide pour certains navigateurs.
Il faudrait sortir le <form> du <table> : "</tr></table></form>".
Voir aussi à l'ouverture de ces balises, dont tu n'as pas donné le code, s'il faut aussi inverser. Normalement, <form> s'ouvre avant <table>.
Xavier
Normalement, une balise TABLE ne peut pas contenir de balise FORM.
Certains navigateurs sont permissifs, et l'interprètent bien. D'autres s'en tiennent aux règles. Du coup, ton formulaire qui se termine de cette façon : "</tr></form></table>" n'est pas valide pour certains navigateurs.
Il faudrait sortir le <form> du <table> : "</tr></table></form>".
Voir aussi à l'ouverture de ces balises, dont tu n'as pas donné le code, s'il faut aussi inverser. Normalement, <form> s'ouvre avant <table>.
Xavier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut, merci de ta reponse mais le probleme persiste.
j'ai fais comme tu m'as conseillé et j'ai sorti les balises form
de la <table> mais rien ne change.
y aurait il des regles particulieres a respecter concernant les formulaires
sous chrome safari et firefox ?
j'ai fais comme tu m'as conseillé et j'ai sorti les balises form
de la <table> mais rien ne change.
y aurait il des regles particulieres a respecter concernant les formulaires
sous chrome safari et firefox ?
bien sur, voila ce qui se trouve entre les balises <body> :
<?php if(isset($_SESSION['code'])) { echo ' <form method="post" action="livraison.php"><table align="center" border="0"> <!--<tr><td>Poids total : '.$_SESSION['poids'].'g / Montant total : '.$_SESSION['montant'].'€</td></tr>--> <!-- si il y a au moins une erreur, on affiche la liste en haut du formulaire -->'; echo ' <tr><td align="center" colspan="2" class="titre"><font color="white"><h2>Etape 2 : Vos informations personnelles</h2></font></td></tr> <tr> <td colspan="2" align="center"><br />Votre adresse de facturation : </td> </tr> <tr><td colspan="2" align="center"><font color="red"> <i>(par défaut, l\'adresse de livraison sera celle de facturation) </i></font><br /><br /></td></tr> <tr> <td colspan="2" align="center">Nom et Prénom : '; if($_SESSION['civ'] == "M") {echo 'M.';} if($_SESSION['civ'] == "Mme") {echo 'Mme.';} if($_SESSION['civ'] == "Mlle") {echo 'Mlle.';} echo ' '.$_SESSION['nom'].' '.$_SESSION['prenom'].' </td> </tr> <tr> <td colspan="2" align="center">Adresse : '.$_SESSION['adr1'].'</td> </tr>'; if(isset($_SESSION['adr2'])) { echo ' <tr> <td colspan="2" align="center">Complément d\'adresse : '.$_SESSION['adr2'].'</td> </tr>'; } echo ' <tr> <td colspan="2" align="center">Code Postal et Ville : '.$_SESSION['cpostal'].' '.$_SESSION['ville'].'</td> </tr>'; if(!empty($_SESSION['telf'])) { echo ' <tr> <td colspan="2" align="center">Numéro de téléphone fixe : '.$_SESSION['telf'].'</td> </tr>'; } if(!empty($_SESSION['telp'])) { echo ' <tr> <td colspan="2" align="center">Numéro de téléphone portable : '.$_SESSION['telp'].'</td> </tr>'; } echo ' <tr><td colspan="2" align="center"><br /></td></tr> <tr><td colspan="2" align="center">Adresse de livraison différente </td></tr> <tr><td colspan="2" align="center"> <i>(tous les champs sont obligatoires, sauf le complément d\'adresse)</i> <br /><br /></td></tr> <tr><td colspan="2" align="center">M. <input type="radio" name="liv_civ" value="M"> Mme. <input type="radio" name="liv_civ" value="Mme"> Mlle. <input type="radio" name="liv_civ" value="Mlle"></td></tr> <tr><td colspan="2" align="center">Nom : <input type="text" name="liv_nom"> Prénom : <input type="text" name="liv_pnom"></td></tr> <tr><td colspan="2" align="center">Adresse : <input type="text" name="liv_adr"> Complément d\'adresse : <input type="text" name="liv_adc" size="15"></td></tr> <tr><td colspan="2" align="center">Code postal : <input type="text" name="liv_cp"> Ville : <input type="text" name="liv_ville"></td></tr> <tr> <td align="left"><br /><a href="panier.php"><img name="continuer" SRC="images/navigation/retour-out.jpg" onmouseover=this.src="images/navigation/retour-in.jpg" onmouseout=this.src="images/navigation/retour-out.jpg" border="0" alt="Retour" onclick="panier.php"/></a></td> <td align="right"><br /><a href="livraison.php" ><input type="image" name="continuer" SRC="images/navigation/continuer-out.jpg" onmouseover=this.src="images/navigation/continuer-in.jpg" onmouseout=this.src="images/navigation/continuer-out.jpg" border="0" alt="Continuer" onclick="livraison.php"/></a></td> </tr> </table></form>'; } else echo '<table border="1" align="center"> <tr> <td> <table> <tr> <td><h3 align=center><font color="black">Si vous n\' êtes pas encore client(e), <br />vous pouvez vous inscrire <a href="inscription.php" style="color:#A91101;">ICI</a></font></h3></td> </tr> </table> </td> <td><h3 align=center><font color="black">Sinon si vous êtes déjà inscrit(e), <br>veuillez vous identifiez à coté --></font></h3></td> </tr> </table>'; ?>
merci mais ca ne fonctionne toujours pas,
serait-ce a cause du this.src où je ne met pas de quote ni de guillemets ?
j'ai testé avec les guillemets ca fais rien, pour les quote je ne sais
pas comment faire la concatenation avec un echo ' ';
en tout cas encore merci de ton aide
serait-ce a cause du this.src où je ne met pas de quote ni de guillemets ?
j'ai testé avec les guillemets ca fais rien, pour les quote je ne sais
pas comment faire la concatenation avec un echo ' ';
en tout cas encore merci de ton aide
Est-ce que W3C ne fait pas en sorte à ce que les erreurs qu'il trouve, c'est pour que le site s'adapte sur toutes les plateformes ?
Toutes... Non parce que certains navigateurs (IE pour ne citer que lui) ne respectent pas obligatoirement les standars, mais la plupart oui.
Essaye de passer le code html de des pages de ton site au validateur http://validator.w3.org/ et de corriger ce qui ne respecte pas les standards...
Essaye de passer le code html de des pages de ton site au validateur http://validator.w3.org/ et de corriger ce qui ne respecte pas les standards...
un grand merci jeangilles ca marche parfaitement :)
merci a toi aussi Reivax962, mais c'est bizarre que ta solution, qui ressemble
a celle de jeangilles, ne fonctionnait pas ...
et en ce qui concerne heryu, deja je ne comprends pas ta phrase
et en plus w3c ne m'a jamais aidé a part a remplacer mes align=center par align="center" ...
en tout cas merci de votre aide a tous
merci a toi aussi Reivax962, mais c'est bizarre que ta solution, qui ressemble
a celle de jeangilles, ne fonctionnait pas ...
et en ce qui concerne heryu, deja je ne comprends pas ta phrase
et en plus w3c ne m'a jamais aidé a part a remplacer mes align=center par align="center" ...
en tout cas merci de votre aide a tous
et en plus w3c ne m'a jamais aidé a part a remplacer mes align=center par align="center"
ben si, justement, ca te permet d'être sur que ton codemarche sur tous les navigateurs sans avoir forcément besoin de tester sur tous ! (enfin pour la partie HTML et CSS tout du moins)
et c'a marchera aussi normalement, sauf gros bouleversement, sur les prochaines versions des navigateurs si les normes sont correctement respectées
ben si, justement, ca te permet d'être sur que ton codemarche sur tous les navigateurs sans avoir forcément besoin de tester sur tous ! (enfin pour la partie HTML et CSS tout du moins)
et c'a marchera aussi normalement, sauf gros bouleversement, sur les prochaines versions des navigateurs si les normes sont correctement respectées
ouais d'accord mais si c'est juste des oublis de guillemets ca va pas
empecher le site de fonctionner quoi.
au fait Archeus01, d'apres w3c justement, sur la page en ligne (donc non corrigée puisque je travaille en local)
j'ai seulement 14 erreurs du type "center" ou <br> au lieu de <br />, que j'ai corrigé dans la nouvelle
version donc ...
empecher le site de fonctionner quoi.
au fait Archeus01, d'apres w3c justement, sur la page en ligne (donc non corrigée puisque je travaille en local)
j'ai seulement 14 erreurs du type "center" ou <br> au lieu de <br />, que j'ai corrigé dans la nouvelle
version donc ...
hum ...
c'est encore moi et oui :)
le code de jeangilles marche parfaitement, sauf que dans IE et Maxthon ca me fait un vilain
bouton gris plus grand que mon image avec mon image par dessus ...
j'aimerais savoir si ce serait possible de rendre transparent uniquement le bouton
en arriere plan et laisser l'image par dessus visible,
j'ai testé opacity:0.0; filter:alpha(opacity=0); mais ca rend la case completement transparente ...
désolé de vous embeter encore une fois ;)
au cas ou vous vous demandez oui j'ai chercher dans le forum et dans google, apres si je suis aveugle c'est pas ma faute hein :)
c'est encore moi et oui :)
le code de jeangilles marche parfaitement, sauf que dans IE et Maxthon ca me fait un vilain
bouton gris plus grand que mon image avec mon image par dessus ...
j'aimerais savoir si ce serait possible de rendre transparent uniquement le bouton
en arriere plan et laisser l'image par dessus visible,
j'ai testé opacity:0.0; filter:alpha(opacity=0); mais ca rend la case completement transparente ...
désolé de vous embeter encore une fois ;)
au cas ou vous vous demandez oui j'ai chercher dans le forum et dans google, apres si je suis aveugle c'est pas ma faute hein :)
je me repond moi meme lol :)
j'ai resolu tout le probleme finalement, et c'etait une erreur quelque peu invisible
etant donné que vous etes passé a coté :) :)
l'erreur venait du lien a href associé au bouton, fallait tout simplement
enlever le a href et maintenant ca marche sans button type submit ...
je met le code du bouton au cas ou :
<td align="right"><br /><input type="image" name="continuer" SRC="images/navigation/continuer-out.jpg" onmouseover=this.src="images/navigation/continuer-in.jpg" onmouseout=this.src="images/navigation/continuer-out.jpg" border="0" alt="Continuer" onclick="livraison.php"/></td>
c'est juste ma ligne de code du debut mais sans <a href="paiement.php"> </a> c'est tout
merci de votre aide les gars
j'ai resolu tout le probleme finalement, et c'etait une erreur quelque peu invisible
etant donné que vous etes passé a coté :) :)
l'erreur venait du lien a href associé au bouton, fallait tout simplement
enlever le a href et maintenant ca marche sans button type submit ...
je met le code du bouton au cas ou :
<td align="right"><br /><input type="image" name="continuer" SRC="images/navigation/continuer-out.jpg" onmouseover=this.src="images/navigation/continuer-in.jpg" onmouseout=this.src="images/navigation/continuer-out.jpg" border="0" alt="Continuer" onclick="livraison.php"/></td>
c'est juste ma ligne de code du debut mais sans <a href="paiement.php"> </a> c'est tout
merci de votre aide les gars