pb php firefox

Invité
Invité n'ayant pas de compte PHPfrance

04 févr. 2007, 18:49

Bonjour,
j'ai un bout de code qui a un comportement étrange sous firefox.
J'utilise un include pour ajouter des pages.

Dans index.php:
<?php
include('maPage.php');
?>

Dans maPage.php, j'ai un tableau html tout simple...il s'affiche dans ie mais pas firefox!!

Code : Tout sélectionner

<table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </table>
Encore plus étrange, si je rajoute du texte au dessus du tableau, tout apparait correctement

Code : Tout sélectionner

Du texte en début de fichier au dessus du tableau <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </table>
Le texte ajouté apparait, le tableau aussi, comme si ce texte forçait l'affichage du code html.

Quelqu'un aurait il une explication à cela?

ViPHP
AB
ViPHP | 5818 Messages

04 févr. 2007, 19:28

Bonjour,

Tu pourrais peut-être voir ce que donne ta page dans le validateur HTML, cela te mettrais peut-être sur une piste. http://validator.w3.org/detailed.html

Invité
Invité n'ayant pas de compte PHPfrance

04 févr. 2007, 20:00

la seule remarque du validator est que je n'ai pas de délaration d'entête mais c'est normal car ma page est incluse dans un document principal qui lui, a une déclaration d'entête.

Ce qui est étrange, c'est que mon tableau n'est pas affiché sous FF mais il est bien dans le code source!

la page en question:
http://82.227.167.30/libgiard/admin/ind ... catalogues

Faites le test avec ie et FF pour voir la différence, et jetez un oeil au code source sous FF...

Eléphant du PHP | 445 Messages

04 févr. 2007, 20:08

Personnellement, je vois le tableau dont tu parles sur la droite avec Firefox.
Sous IE, pas de soucis, il est bien au milieu.

Tu as du te mélanger un peu les pinceaux avec tes <table>
LLDC
Ulti

Invité
Invité n'ayant pas de compte PHPfrance

04 févr. 2007, 20:17

ha oui effectivement il est complètement à droite. Mais pourquoi est il là bas? j'ai beau vérifier mon tableu, il m'a l'air normal...

ViPHP
AB
ViPHP | 5818 Messages

04 févr. 2007, 21:10

Re Bonjour,

Mets un <div> devant ta première balise <table>
et un </div> après ta dernière balise </table>

Mammouth du PHP | 19672 Messages

04 févr. 2007, 21:36

Pour mémoire : lorsqu'on envoie du contenu dans un navigateur, il est préférable d'envoyer des pages HTML convenablement formées, et surtout complètes, donc incluant par exemple "<html>", "<head>" et "</head>", "<body>" et "</body>"... etc.

En envoyant simplement des bouts de HTML, il faut s'attendre à des interprétations farfelues par certains navigateurs qui ne sont nullement en cause.

J'ajoute enfin que ce n'est pas un problème de PHP mais bien de langage client. PHP n'est pas en cause non plus.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

04 févr. 2007, 22:13

en fait j'ai une page index.php qui contient la déclaration d'entête. Si je la remets dans une page incluse, ça fait pas double déclaration?

Mammouth du PHP | 19672 Messages

04 févr. 2007, 22:15

Le cas échéant, tu n'as alors pas montré le code complet au départ...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 216 Messages

04 févr. 2007, 22:31

Je vois ça en particulier dans ton code source:
<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td><h2>Gestion des catalogues</h2></td>
  </tr>
    <tr>
    <td>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
        <tr>
          <td><a href="index.php?page=listings&action=list_all">Lister tous 
            les produits</a> </td>

          <td><a href="#">Importation globale</a> </td>
        </tr>
      </table></td>
Tu ouvres 2 fois une balise table.

Invité
Invité n'ayant pas de compte PHPfrance

04 févr. 2007, 23:09

c'est des tableaux imbriqués, tu dois pas avoir tout le code.

ViPHP
AB
ViPHP | 5818 Messages

05 févr. 2007, 04:34

Bonjour,

En testant le code source de ta page en local, les affichages sous ie et FF sont identiques et le tableau se positionne sous la table. C'est donc dans ta feuille de style que se trouve le pb.

En faisant

Code : Tout sélectionner

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr'> <head> <title>Prestige Auto</title> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> <style type="text/css"> #header li {display:inline;} </style> </head> <body> <div id="header"> <ul> <li><a href="index.php?page=admin">Accueil</a></li> <li id="current"><a href="index.php?page=site">Site</a></li> <li><a href="index.php?page=catalogues">Catalogues</a></li> <li><a href="index.php?page=commandes">Commandes</a></li> <li><a href="index.php?page=clients">Clients</a></li> <li><a href="index.php?page=clients">Factures</a></li> <li><a href="index.php?page=conges">Cong&eacute;s</a></li> </ul> </div> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><h2>Gestion des catalogues</h2></td> </tr> <tr> <td> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><a href="index.php?page=listings&action=list_all">Lister tous les produits</a> </td> <td><a href="#">Importation globale</a> </td> </tr> </table></td> </tr> <tr> <td><h3>Catalogue s&eacute;lection</h3></td> </tr> <tr> <td><table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><a href="index.php?page=listings&action=list_selection">Lister les produits</a></td> <td><a href="#">Ajouter un produit</a></td> <td><a href="#">Importer des produits</a></td> </tr> </table></td> </tr> <tr> <td><h3>Catalogue g&eacute;n&eacute;ral</h3></td> </tr> <tr> <td><table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><a href="index.php?page=listings&action=list_general">Lister les produits</a></td> <td><a href="#">Ajouter un produit</a></td> <td><a href="#">Importer des produits</a></td> </tr> </table></td> </tr> </table> </body> </html>
L'affichage est identique sous les deux navigateurs