Aide - Recherche - Membres - Calendrier
Version complète : Probléme Insoluble D'affichage Dans Ie
La Communauté TitaXium > Service Communication > Espace Developpement
Nate
Salut salut les zamis !

Je suis en train de m'arracher pour la première fois depuis longtemps les cheveux sur un probléme de compatibilité de design sous IE.

J'ai ce site :
www.beaumont-ac.com
J'ai une page home.php avec un include, qui affiche la page ?page=article.

Il marche très bien sous FF, mais sous IE c'est la mer**.

J'ai bricolé un script pour afficher les articles par page, et depuis, sa n'affiche plus comme il faut, mais je voit pas du tout pourquoi. J'ai peur que mon code soit pas du tout propre, mais je voit pas en quoi sa influe sur mon include.

Si je pouvais avoir vos lumiéres ...

Home.php (je vous ait épargné quel portions html et meta...):

Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta> [...] </meta>

<title>[...]</title>
<?
require "conf.php3"; //Commme d'ab

mysql_connect("$sql_serveur","$sql_login","$sql_pass");
mysql_select_db("$sql_bdd"); //Comme d'ab
?>
<style type="text/css">
<!--
body {
    background-image: url(img/font.jpg);
    background-color: #121848;
    margin-bottom: 0px;
}
--!>
</style>
<link href="img/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="700" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="3" bgcolor="#FFFFFF"><img src="img/ban.jpg" width="100%" height="209" /></td>
  </tr>
  <tr>
    <td align="left" valign="top" bgcolor="#FFFFFF"><img src="img/cadrehaut.jpg" width="157" height="18" /></td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td align="left" valign="top" bgcolor="#FFFFFF"><img src="img/cadrehautd.jpg" width="157" height="18" /></td>
  </tr>
  <tr>
    <td width="157" align="left" valign="top" background="img/cadreg.jpg" bgcolor="#FFFFFF"><p><span class="Style5">&gt; Liens</span><br />
            <br />
            <span class="Style7">-</span><a href="http://www.beaumont-ac.com">- Accueil</a><br />
            <br />
            <span class="Style7">-</span><a href="home.php?page=galeries">- Galeries </a><br />
        <br />
            <span class="Style7">-</span><a href="http://forum.beaumont-ac.com">- Forum du Bac</a> <br />
        <br />
            <span class="Style7">-</span><a href="http://www.foulees-beaumont.info">- Les foulees du <br />
            <span class="Style7">--</span>chemin vert</a> <br />
        </p>
      <p><br />
        <br />
        <br />
        <br />
    </p>
    </td>
    <td width="386" bgcolor="#FFFFFF"><p align="center">
    <? // Debut du script d'include par url
      
        if ( !isset($_GET['page']) ) $page = 'accueil'; else $page = addslashes($_GET['page']);
        if ( file_exists('./'.$page.'.php') ) include_once('./'.$page.'.php');
        else include_once('articles');
          
          ?>
    </p>
        <center>
        <p>&nbsp;</p>
    
      <p>&nbsp;</p></td>
    <td width="157" align="left" valign="top" background="img/cadred.jpg" bgcolor="#FFFFFF"><div align="center">
      <p align="right"><span class="Style5"> 5 Derni&eacute;res &lt; <br />
        Galeries Photos         </span><br />
        <a href="home.php?page=galeries">Voir toutes les Galeries -</a><br />
        <br />
</p>
      <p>
        <?
        // affichage des galeries
        
        $recherche = mysql_query ("SELECT * FROM blog_photos GROUP BY gal ORDER BY id DESC LIMIT 5");
      
        while ($var3 = mysql_fetch_array ($recherche))
        {
        $url1 = $var3['url'];
        $id1 = $var3['id'];
        $gal1 = $var3['gal'];
                          
            ?>
        <a href="home.php?gal=<? echo $gal1; ?>&id=<? echo $id1; ?>&page=affi-img"><img src="<? echo $url1; ?>" alt="" width="100" border="0"></a></p>
      <table width="105" height="20" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td><div align="center"><a href="home.php?gal=<? echo $gal1; ?>&id=<? echo $id1; ?>&page=affi-img" target="afa"><? echo $gal1; ?></a></div></td>
        </tr>
      </table>
      <p><a href="home.php?page=affi-img&<? echo $gal1; ?>&id=<? echo $id1; ?>">_____________<br />
        </a><a href="affi-img.php?gal=fun_films&id=<? echo $id1; ?>"><br />
        </a></p>
      <? } ?></div></td>
  </tr>
  <tr>
    <td align="left" valign="top" background="img/cadreg.jpg" bgcolor="#EFEFEF">&nbsp;</td>
    <td bgcolor="#FFFFFF"><div align="center">
      <p><span class="Style3"><span class="Style4">| &copy;Beaumont-ac.com  2006 | Disign et Codage by <a href="http://www.nategame.net">&copy;NateGame.net</a> | |Copyright | Toute reproduction est ill&eacute;gal </span>| <a href="http://www.beaumont-ac.com/admini/">Administration</a> | </span><br />
            <br />
            <br />
      </p>
    </div></td>
    <td align="left" background="img/cadred.jpg" valign="top" bgcolor="#EFEFEF">&nbsp;</td>
  </tr>
</table>
</body>
</html>


Articles.php :

Code
    <?php

    $query12 = mysql_query("SELECT * FROM blog_articles ORDER BY id DESC");
    $nb_art = mysql_num_rows($query12);//cmt le nb d'articles ds la BDD
    $nb_pg_brut = $nb_art/5; // trouve le nb de page
    $nb_pg = ceil("$nb_pg_brut");// arrondie le nb d'article à l'entier suppérieur    

if(empty($_GET["lim"]))
{
$lim_def = "0,5";
}
else
{
$lim_def = $_GET["lim"];
}
/* On peut recuperer plus d'info si besoin */

?>
<script language="Javascript">

<!-- code popup

function ouvreFenetre(page, largeur, hauteur) {
  window.open(page, "", "scrollbars=yes,menubar=no,toolbar=no,resizable=no,width="
              + largeur + ",height=" + hauteur);
}
// -->
</script>


<style type="text/css">
<!--
.Style6 {
    font-size: 18px;
    color: #0099FF;
}
.Style8 {font-size: 10px}
a {
    font-size: 10px;
    color: #0000CC;
}
a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #0000CC;
}
a:hover {
    text-decoration: none;
    color: #0099FF;
}
a:active {
    text-decoration: none;
    color: #0000CC;
}
.Style9 {font-size: 16px}
-->
</style>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#EFEFEF"><div align="center">
      <p>Page : <?
    
// Premier numéro de page :    
$num_pg = 1;
// debut et fin de séléction BDD
$lim_dep = 0;
$lim_fin = 5;
// nb d'articles par page
$art_par_pg = 5;

    while($num_pg <= $nb_pg)
    {
        // listage des pages
        echo '<a href="home.php?page=articles&lim=' . $lim_dep . ',' . $lim_fin . '">' . $num_pg . '</a> ';        
        //incrémentation des valeurs
        $num_pg++;
        $lim_dep = $lim_dep+$art_par_pg;
        $lim_fin = $lim_fin+$art_par_pg;
    }
        
    ?>    
        </p>
      </div></td>
  </tr>
</table>
<?

//boucle d'affichage des articles trouvés
    
    $recherche2 = mysql_query("SELECT * FROM blog_articles ORDER BY id DESC LIMIT $lim_def");
    
        while ($var2 = mysql_fetch_array($recherche2))    
        {
            $id = $var2['id'];
            $date = $var2['date'];
            $heure = $var2['heure'];
            $sujet = $var2['sujet'];
            $texte = $var2['texte'];
            $posteur = $var2['posteur'];
            $urlimg = $var2['img'];    
            
    // script nb coms            
    $query = "SELECT * FROM blog_commentaire WHERE article='$id'";
    $res = mysql_query($query);
    $nb_com = mysql_num_rows($res);

?>
<br />
<span class="Style6">&gt; <? echo $sujet; ?></span><br />
<span class="Style5 Style8">Le <? echo $date; ?> &agrave; <? echo $heure; ?> par <? echo $posteur; ?>    </span><br />
<br />
<div align="center" class="Style1"></div>
<?
    //acffiche ou pas l'image
    if ($urlimg == NULL){}
    else
    {
?>
<a href="<? echo $urlimg; ?>" target="afa"><img src="<? echo $urlimg; ?>" width="125" hspace="7" border="0" align="left" border-color="#FFFFFF" /></a>

<?
    }//affiche l'image : else fermeture
echo html_entity_decode($texte); ?><br>
<p align="left"><a href="java script:ouvreFenetre('coms.php?id=<? echo $id; ?>', 340, 500)"><? echo $nb_com; ?> commentaire</a> | <a href = "java script:ouvreFenetre('adcom1.php?id=<? echo $id; ?>', 320, 387)">Ajouter un Commentaire</a></p>
<p align="left">&nbsp;</p>
<p>&nbsp;</p>
<p>
  
  <br />
<?
}
?>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#EFEFEF"><div align="center">
    Page :
    <?
    
// Premier numéro de page :    
$num_pg = 1;
// debut et fin de séléction BDD
$lim_dep = 0;
$lim_fin = 5;
// nb d'articles par page
$art_par_pg = 5;

    while($num_pg <= $nb_pg)
    {
        // listage des pages
        echo '<a href="home.php?page=articles&lim=' . $lim_dep . ',' . $lim_fin . '">' . $num_pg . '</a> ';        
        //incrémentation des valeurs
        $num_pg++;
        $lim_dep = $lim_dep + $art_par_pg;
        $lim_fin = $lim_fin + $art_par_pg;
    }
        
    ?>    
    
    </div></td>
  </tr>
</table>
<p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>


Voilà voilà ... Mes commentaires sont peu être pas toujours trés pertinants pour tout le monde ...
N'usez pas vos clavier pour me dire qui faut que j'arréte les tableau, j'ai pas encore envis, et je prétant pas fair des sites proféssionel, mais des site qui marche ... :pinch:

En espérant avoir étais claire, et de me pas trop faire fâcher pour mon code ... ^^

D'avance merci à vous !
Fantome
dans une page certaine balise ne peuvent exister qu'une seul fois c'est le cas de html, body, head, doctype; or tu les re-déclares au début de ton fichier article.php, ce qui est inutile puisque il est inclue dans le fichier home.php qui lui créer déjà les balises home, body...
Ce qui faut bien comprendre avec les include c'est que le code généré par le fichier article.php vas être inséré au milieu du code html du fichier home.php et du point de vue du navigateur c'est une seul et unique page.
Nate
Merci bien de ton rappel Fantome, jle savait, mais j'avais pas fait gaffe ...

Mais (et oui, il y à un mais ...) sa marche quand même pas ...

J'ai essayé :
- de supprimer toutes les balises répétée (html, doc type, head, body ...) ==> marche pas
- de courcircuiter des portions de code ==> marche pas
- de mettre la page qu'il y avait avant (affichage par mois et non par page) ==> marche pas
- de prendre la source du code reçu par IE, de la collée dans dans DW, et il m'interpréte le code comme il faut.
- une autre page sur le site (http://www.beaumont-ac.com/home.php?page=galeries)==> marche pas

Je suis dans le noir total là ...

Je viens de migrer mes sites vers un nouveau pack chez 1and1. Tous les autres sites, dont BBdjs.fr et foulees-beaumont.fr, qui marchent sur le même principe d'include marche pourtant bien.

Mes conclusion sous IE sont (elles valent se qu'elles valent ...):
- le problème viens pas de home.php
- le problème viens pas du système d'include
- le problème viens pas du mon script de séparation par page
- ma mise en page CSS est pas prise en compte (police et style non respectés)
- mon script java pour le popup des commentaire ne marche pas

Sous FF :
TOUT MARCHE

No coments ...
Help ! crying.gif
Fantome
au debut remplace
Code
<style type="text/css">
<!--
body {
    background-image: url(img/font.jpg);
    background-color: #121848;
    margin-bottom: 0px;

</style>

par
Code
<style type="text/css">
<!--
body {
    background-image: url(img/font.jpg);
    background-color: #121848;
    margin-bottom: 0px;
-->
</style>


Il manquait la fermeture du commentaire c'est pour ça que IE supprimé toute une partie du code html.

Au passage il teste encore 2 balises title dans l'entète, et 2 meta content-type.
Nate
Wi, désolé, j'avais oublier d'éditer le post, mais j'avais vu l'erreur, sa à rien changé.
J'ai remis à jour le code ...

Encore merci, mais c'est toujours pas ça ...
Fantome
Code
<!--
body {
    background-image: url(img/font.jpg);
    background-color: #121848;
    margin-bottom: 0px;
}
--!>


tu t'es trompé dans ta correction, il y a un point d'exclamation en trop à la fin.
Nate
Désolé, j'ai étais pas mal occupé, et j'ai pas reçus de notification par mail.

Alors ce soir, je m'y suis re-penché, histoire de, mais pas moyen.
Par acquis de continence, je repasse par là, voit ta réponses, essaye et .... sa marche !
T'est célibataire non ? :wub:

Putain, pour un petit "!" ...

Certes !
Je te remercie beaucoup, j'lavais pas vu celui là, et c'est pas faute d'avoir cherché ...

@+ !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2010 Invision Power Services, Inc.