Page 1 sur 1

pb php firefox

Posté : 04 févr. 2007, 18:49
par Invité
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?

Posté : 04 févr. 2007, 19:28
par AB
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

Posté : 04 févr. 2007, 20:00
par Invité
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...

Posté : 04 févr. 2007, 20:08
par Ultim4T0m
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>

Posté : 04 févr. 2007, 20:17
par Invité
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...

Posté : 04 févr. 2007, 21:10
par AB
Re Bonjour,

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

Posté : 04 févr. 2007, 21:36
par Cyrano
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.

Posté : 04 févr. 2007, 22:13
par Invité
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?

Posté : 04 févr. 2007, 22:15
par Cyrano
Le cas échéant, tu n'as alors pas montré le code complet au départ...

Posté : 04 févr. 2007, 22:31
par lord.anonymous
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.

Posté : 04 févr. 2007, 23:09
par Invité
c'est des tableaux imbriqués, tu dois pas avoir tout le code.

Posté : 05 févr. 2007, 04:34
par AB
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