Problème d'accès au site pour les visiteurs

Décidément mon problème me cause bien des soucis et malgré toutes les astuces qui m'ont été données, il n'est toujours pas résolu.

Et en plus, c'est un problème majeur et en même temps qui me parait bizarre. Je m'explique.

Mon site est composé de la sorte :

  Une page d'accueil qui se compose d'un menu d'un bandeau d'entete et d'un footer. Cette structure est générale à toutes mes pages. Cette page me permet d'afficher un contenu différent en fonction des variables passées en URL. Lors d'une visite sans passer de variables, la page intégrée dans le corps me renvoie les 5 derniers articles par ordre décroissant de parution. Jusque là rien d'anormal puisque mon menu m'affiche bien mes titres de rubriques et le corps m'affiche bien mes 5 derniers articles.

  Le menu me permet via les liens d'accèder à ma page de rubrique.

  Là où se pose le problème, c'est que lorsque je clique sur un des liens, il me renvoie un message personnalisé m'indiquant que ma rubrique est vide (idem pour l'affichage d'un article). Il considère donc que la boucle est vide.

Et pour ajouter à l'étrangeté de la chose, ce problème n'existe que pour les visiteurs. Car lorsque je me connecte à ma page d'administration ety qu'ensuite le cookie est présent, l'affichage revient à la normale et j'ai accès au contenu de mon site.

Comme je suis un débutant, je me suis pour le moment limité à la création de squelettes sans crée de restrictions d'accès d'aucune sorte.

Je mets en pièces jointes les codes de mes différentes pages afin que vous puissiez juger par vous-même des éventuelles erreurs commises.

Je tiens aussi à préciser que mes codes sont tous situés à la racine du site mais que les noms ne correspondent pas forcément à des pages php... De plus le vidage de cache n'a rien changé (je dis ça pour ceux qui ont déjà plus ou moins étudié mon problème et qui m'ont soumis cette solution).

Merci davance à tous pour votre aide et votre diligence...

Matthieu

P.S.: Tous vos conseils concernant le code de mes pages seront les bienvenus...ainsi que tous ceux concernant la structure du site(emplacement des codes dans le site, paires PHP/HTML...).

style.css (3.6 KB)

accueil.php (1.2 KB)

article.html (1.38 KB)

footer.php (139 Bytes)

menu.html (290 Bytes)

pageaccueil.html (530 Bytes)

rubrique.html (1.88 KB)

Tu peux nous la refaire version texte ? Merci

Josh Parker a écrit :

Tu peux nous la refaire version texte ? Merci

Décidément mon problème me cause bien des soucis et malgré toutes les astuces qui m'ont été données, il n'est toujours pas résolu.

Et en plus, c'est un problème majeur et en même temps qui me parait bizarre. Je m'explique.

Mon site est composé de la sorte :

     Une page d'accueil qui se compose d'un menu d'un bandeau d'entete et d'un footer. Cette structure est générale à toutes mes pages. Cette page me permet d'afficher un contenu différent en fonction des variables passées en URL. Lors d'une visite sans passer de variables, la page intégrée dans le corps me renvoie les 5 derniers articles par ordre décroissant de parution. Jusque là rien d'anormal puisque mon menu m'affiche bien mes titres de rubriques et le corps m'affiche bien mes 5 derniers articles.

     Le menu me permet via les liens d'accèder à ma page de rubrique.

     Là où se pose le problème, c'est que lorsque je clique sur un des liens, il me renvoie un message personnalisé m'indiquant que ma rubrique est vide (idem pour l'affichage d'un article). Il considère donc que la boucle est vide.

Et pour ajouter à l'étrangeté de la chose, ce problème n'existe que pour les visiteurs. Car lorsque je me connecte à ma page d'administration ety qu'ensuite le cookie est présent, l'affichage revient à la normale et j'ai accès au contenu de mon site.

Comme je suis un débutant, je me suis pour le moment limité à la création de squelettes sans crée de restrictions d'accès d'aucune sorte.

Je mets en pièces jointes les codes de mes différentes pages afin que vous puissiez juger par vous-même des éventuelles erreurs commises.

Je tiens aussi à préciser que mes codes sont tous situés à la racine du site mais que les noms ne correspondent pas forcément à des pages php... De plus le vidage de cache n'a rien changé (je dis ça pour ceux qui ont déjà plus ou moins étudié mon problème et qui m'ont soumis cette solution).

Merci davance à tous pour votre aide et votre diligence...

Matthieu

P.S.: Tous vos conseils concernant le code de mes pages seront les bienvenus...ainsi que tous ceux concernant la structure du site(emplacement des codes dans le site, paires PHP/HTML...).

style.css (3.6 KB)

accueil.php (1.2 KB)

article.html (1.38 KB)

footer.php (139 Bytes)

index.php3 (33 Bytes)

menu.html (290 Bytes)

pageaccueil.html (530 Bytes)

rubrique.html (1.88 KB)

Pfff... bien complique tout ca...
Je pense que tes boucles ne recoivent pas le contexte rubrique ou article
leur permettant de remonter du contenu... Trop complique a tester, mais
pour debuguer, faudrait verifier a chaque boucle qu elle recoit bien son
ID
ex :
<BOUCLE_aff_article(ARTICLES){id_article}>
#ID_ARTICLE
    <BOUCLE_en_tete_page_articles(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}>
#ID_RUBRIQUE

Et pour ajouter à l'étrangeté de la chose, ce problème n'existe que pour
les visiteurs. Car lorsque je me connecte à ma page d'administration ety
qu'ensuite le cookie est présent, l'affichage revient à la normale et
j'ai accès au contenu de mon site.

Me semble en effet que l environnemnt #ENV change lorsqu on est loggue...

Josh Parker a écrit :

Tu peux nous la refaire version texte ? Merci

Désolé mais mon client envoie les messages au format HTML quand même (et j'avouerai que j'ai la flemme de modifier le paramétrage encore une fois.) De toute façons, les fichiers sont joints...

Désolé mais mon client envoie les messages au format HTML quand même (et j'avouerai que j'ai la flemme de modifier le paramétrage encore une fois.) De toute façons, les fichiers sont joints...

Pas chez tout le monde... désolé j'aurais peut-être pu t'aider !

Matthieu Chomienne a écrit :
<blahblah>

P.S.: Tous vos conseils concernant le code de mes pages seront les bienvenus...ainsi que tous ceux concernant la structure du site(emplacement des codes dans le site, paires PHP/HTML...).

</blahblah>

Mon conseil est : peux tu simplement envoyer une url de ton site et des pages au lieu de les joindre deux fois à tes mails s'il te plait.
D'autant que pour moi tes messages sont considérés comme des spams...
J'dis ça.. j'dis rien.. hein.

Dorothée

Dorothée a écrit :

Matthieu Chomienne a écrit :
<blahblah>

P.S.: Tous vos conseils concernant le code de mes pages seront les bienvenus...ainsi que tous ceux concernant la structure du site(emplacement des codes dans le site, paires PHP/HTML...).

</blahblah>

Mon conseil est : peux tu simplement envoyer une url de ton site et des pages au lieu de les joindre deux fois à tes mails s'il te plait.
D'autant que pour moi tes messages sont considérés comme des spams...
J'dis ça.. j'dis rien.. hein.

Dorothée

Désolé mais pour le moment le site est en local car il va remplacer un site qui existe déjà. Donc il ne sera disponible online qu'une fois fini...

Josh Parker a écrit :

Désolé mais mon client envoie les messages au format HTML quand même (et j'avouerai que j'ai la flemme de modifier le paramétrage encore une fois.) De toute façons, les fichiers sont joints...

Pas chez tout le monde... désolé j'aurais peut-être pu t'aider !

Bon ben on va reprendre la bonne vieille méthode du copier-coller alors...

La CSS:

body
{
   width:780px;
   margin:10px auto;
   background-color:#f5f8f1;
   background-image:url("Images/fond_ecran.png");
   background-repeat:repeat-y;
   background-position:center;
   font-family:'Comic sans MS',Arial,serif;
   }

.header
{
   height:100px;
   width:780px;
   text-align:center;
   border:2px outset #0d095a;
   margin-bottom:2px;
   background-image:url("Images/banniere5.png");
}

.header2
{
   height:25px;
   width:780px;
   border:2px outset #0d095a;
   background-image:url("Images/sous_banniere2.png");
   margin-bottom:10px;
}

.menu
{
    float: left;
    width: 160px;
    border:2px outset #0d095a;
    padding-top:5px;
    font-size:80%;
    background-color:#0d095a;
    margin-bottom:10px;
}

.menu a
{
   color:#dcc36c;
   text-decoration:none;
}

.menu a:hover
{
   color:#fc3b0c;
   text-decoration:none;
}

.menu ul
{
   list-style-image:url("Images/bouton_005.gif");
}

.menu li
{
   font-size:110%;
}

.menu li li
{
   font-size:100%;
}

.corpus
{
    margin-left: 170px;
    margin-bottom: 10px;
}

.corpus a
{
   color:black;
}

.corpus a:hover
{
   color:#a6bbd4;
   cursor:pointer;
}

.footer
{
   margin-top:20px;
   margin-left:170px;
   padding:10px;
   border:2px outset #0d095a;
   font-size:80%;
   text-align:center;
   color:#dcc36c;
   background-color:#0d095a;
   font-family:'Comic sans MS', Arial, serif;
}

.news_article
{
   padding:10px;
   background-color:#0d095a;
   border:2px outset #0d095a;
   text-align:center;
   color:#dcc36c;
}

.intro_article
{
   margin-top:10px;
   margin-bottom:20px;
   padding:10px;
   border:2px outset #8684ac;
   text-indent:20px;
   color:black;
}

.intro_article p
{
   text-align:right;
   font-size:70%;
}

.descriptif_rubrique
{
   text-align:center;
   font-size:200%;
   text-transform:uppercase;
   font-weight:bold;
   color:#a32020;
   border:2px inset yellow;
   margin-bottom:5px;
}

.pas_article
{
   color:#a32020;
   font-size:150%;
   text-align:center;
   text-transform:uppercase;
   padding:30px;
}

.sous_rubrique
{
   font-weight:bold;
   font-size:120%;
}

.sous_rubrique ul
{
   list-style-type:none;
   list-style-image:url("Images/bouton_009.gif");
}

.sous_rubrique li
{
   font-weight:lighter;
}

.articles
{
   font-weight:bold;
   font-size:120%;
}

.articles ul
{
   list-style-type:none;
   list-style-image:url("Images/bouton_009.gif");
}

.articles li
{
   font-weight:lighter;
}

.titre_article
{
   text-align:center;
   font-size:140%;
   margin-bottom:5px;
}

.sous_titre_article
{
   text-align:right;
   font-style:italic;
   text-decoration:underline;
   font-size:110%;
   text-indent:30px;
   font-weight:bold;
}

.descriptif_article
{

}

.chapo_article
{
   text-indent:50px;
   font-style:italic;
   font-size:100%;
   text-align:justify;
   margin-top:10px;
}

.texte_article
{
   text-indent:20px;
   text-align:justify;
   margin-top:10px;
   font-size:110%;
}

.ps_article
{
   margin-top:20px;
   font-size:90%;
}

.intitule_rubrique
{
   text-align:right;
   text-transform:uppercase;
   font-size:200%;
   margin-bottom:10px;
}

.intitule_rubrique a
{
   text-decoration:none;
   color:black;
}

.intitule_sous_rubrique
{
   text-align:left;
   font-style:italic;
   font-variant:small-caps;
   font-size:160%;
   height:50px;
   margin-bottom:10px;
}

.intitule_sous_rubrique a
{
   text-decoration:none;
   color:black;
}

.mauvaise_url
{
   text-align:center;
   color:red;
   text-transform:uppercase;
   font-size:230%;
   text-decoration:blink;
}

#barre_de_navigation
{
   width:auto;
   height:30px;
   margin-top:10px;
}

#barre_de_navigation ul
{
   list-style-type:none;
   margin:0;
   padding:0;
}

#barre_de_navigation li
{
   padding:5px;
}

li.droite
{
   float:right;
   border:1px dashed black;
}

li.gauche
{
   float:left;
   border:1px dashed black;
}

accueil.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;

<html>

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1" />
<link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="style.css" />
<title>Bienvenue à la MECT</title>
</head>
<body>

<?php
if (isset($_GET["id_rubrique"]))
    $rubrique=$_GET["id_rubrique"];
    else $rubrique="none";

if (isset($_GET["id_article"]))
    $article=$_GET["id_article"];
    else $article="none";

?>
<div class="header">
<a name="haut_de_page"></a>
</div>

<div class="header2">
</div>

<div class="menu">

<?php
$fond="menu";
$delais= 2*3600;
include("inc-public.php3");
?>
</div>

<div class="corpus">

<?php

if ($article=="none" and $rubrique=="none")
    {$fond="pageaccueil";$delais=3600;}
elseif ($rubrique!="none")
    {$fond="rubrique";$delais=3600;}
elseif ($article!="none")
    {$fond="article";$delais=3600;}
else {$fond="pageaccueil";$delais=3600;}

include("inc-public.php3");
?>

</div>

<div class="footer">

<?php
include("footer.php");
?>

</div>

</body>

</html>

pageaccueil.html:

<BOUCLE_accueil(ARTICLES){par date}{inverse}{0,5}>

<div class="news_article">
#TITRE
</div>

<div class="intro_article">

<p>
Le [(#DATE|affdate)] à [(#DATE|affdate{'H:i'})].
</p>
#INTRODUCTION
<p>
<a href="?id_article=#ID_ARTICLE">Lire l'article...</a>
</p>

</div>

</BOUCLE_accueil>
<div id="barre_de_navigation">
<ul>
<li class="gauche"><a href="http://127.0.0.1/Aumonerie/&quot;&gt;Retour à l'accueil</a></li>
<li class="droite"><a href="?id_article=#ID_ARTICLE">Retour en haut de page</a></li>
</ul>
</div>

menu.html:

<ul>
<BOUCLE_menu_rubrique(RUBRIQUES){racine}>
<li><a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a><ul>
<BOUCLE_menu_sous_rubrique(RUBRIQUES){id_parent=#ID_RUBRIQUE}>
<li><a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a></li>
</BOUCLE_menu_sous_rubrique>
</ul></li>
</BOUCLE_menu_rubrique>
</ul>

article.php:

<BOUCLE_aff_article(ARTICLES){id_article}>

     <BOUCLE_en_tete_page_articles(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}>

         <B_test_parent>
         <BOUCLE_test_parent(RUBRIQUES){id_enfant}>
         <div class="intitule_rubrique">
              [(#LOGO_RUBRIQUE|left|?id_rubrique=#ID_RUBRIQUE)]<a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>
         </div>
         </BOUCLE_test_parent>
         <div class="intitule_sous_rubrique">
              [(#LOGO_RUBRIQUE|right|?id_rubrique=#ID_RUBRIQUE)]<a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>
         </div>
         </B_test_parent>
         <div class="intitule_rubrique">
              [(#LOGO_RUBRIQUE|left|?id_rubrique=#ID_RUBRIQUE)]<a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>
         </div>
         <//B_test_parent>

     </BOUCLE_en_tete_page_articles>

<div class="titre_article">
#TITRE
</div>

<div class="sous_titre_article">
#SOUSTITRE
</div>

<div class="chapo_article">
#CHAPO
</div>

<div class="texte_article">
#TEXTE
</div>

<div class="ps_article">
#PS
</div>

<div id="barre_de_navigation">
<ul>
<li class="gauche"><a href="http://127.0.0.1/Aumonerie/&quot;&gt;Retour à l'accueil</a></li>
<li class="droite"><a href="?id_article=#ID_ARTICLE">Retour en haut de page</a></li>
</ul>
</div>

</BOUCLE_aff_article>

<div class="mauvaise_url">
Il n'y a rien à cette adresse !
</div>
<//B_aff_article>

rubrique.html:

<B_rubrique>
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>

     <BOUCLE_en_tete_page_rubrique(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}>

         <B_test_niveau_superieur>
         <BOUCLE_test_niveau_superieur(RUBRIQUES){id_enfant}>
         <div class="intitule_rubrique">
              [(#LOGO_RUBRIQUE|left|?id_rubrique=#ID_RUBRIQUE)]<a name="haut_de_page" href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>
         </div>
         </BOUCLE_test_niveau_superieur>
         <div class="intitule_sous_rubrique">
              [(#LOGO_RUBRIQUE|right|?id_rubrique=#ID_RUBRIQUE)]<a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>
         </div>
         </B_test_niveau_superieur>
         <div class="intitule_rubrique">
              [(#LOGO_RUBRIQUE|left|?id_rubrique=#ID_RUBRIQUE)]<a name="haut_de_page" href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>
         </div>
         <//B_test_niveau_superieur>

     </BOUCLE_en_tete_page_rubrique>

<div class="sous_rubrique">

      <B_sous_rubriques>
      Vous pouvez consulter les sous-rubriques correspondantes :
      <ul>
      <BOUCLE_sous_rubriques(RUBRIQUES){id_parent=#ID_RUBRIQUE}>
      <li><a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a></li>
      </BOUCLE_sous_rubriques>
      </ul>
      </B_sous_rubriques>

</div>

<div class="articles">

      <B_articles>
      Vous pouvez consulter les articles de cette rubrique :
      <ul>
      <BOUCLE_articles(ARTICLES){id_rubrique}>
      <li><a href="?id_article=#ID_ARTICLE">#TITRE</a></li>
      </BOUCLE_articles>
      </ul>
      </B_articles>

</div>

<div id="barre_de_navigation">
<ul>
<li class="gauche"><a href="http://127.0.0.1/Aumonerie/&quot;&gt;Retour à l'accueil</a></li>
<li class="droite"><a href="?id_article=#ID_ARTICLE">Retour en haut de page</a></li>
</ul>
</div>

</BOUCLE_rubrique>

</B_rubrique>
<div class="mauvaise_url">
Il n'y a rien à cette adresse !
</div>

<//B_rubrique>

footer.php:

Nous sommes aujourd'hui le <? print( Date("d/m/Y ")); ?>
et il est <? print(Date("H:i:s")); ?><br />
Webmaster : Matthieu Chomienne 2006.

Bon ben j'espère que dans ce cas ça va être plus facile pour certains...

Matthieu

Matthieu Chomienne a écrit :

Décidément mon problème me cause bien des soucis et malgré toutes les astuces qui m'ont été données, il n'est toujours pas résolu.

(...)

Moi en jetant un oeil à ta page menu.html, je ne comprends pas pourquoi tu marques :<a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>

Pourquoi ne pas coder comme ça :

<a href="#URL_RUBRIQUE">[(#TITRE)]</a>

?

Dorothée a écrit :

Matthieu Chomienne a écrit :

Décidément mon problème me cause bien des soucis et malgré toutes les astuces qui m'ont été données, il n'est toujours pas résolu.

(...)

Moi en jetant un oeil à ta page menu.html, je ne comprends pas pourquoi tu marques :<a href="?id_rubrique=#ID_RUBRIQUE">#TITRE</a>

Pourquoi ne pas coder comme ça :

<a href="#URL_RUBRIQUE">[(#TITRE)]</a>

?

Parce que à la base, j'avais pas modifié le index.php3 pour qu'il me renvoie sur ma page accueil.php et que du coup l'URL était pas bonne... Mais je vais tester ta solution...

Et voilà la fin de mon problème ! En fait le problème venait d'une incompatibilité entre l'architecture de mon site et l'utilisation des squelettes. Merci à Dorothée qui m'a mis sur la voie pour résoudre le problème tout seul. Comme je ne respectais pas les paires article.php3/article.html et rubrique.php3/rubrique.html, les variables que je passais en URL ne donnais rien. Il reste toujours la question de savoir pourquoi le site fonctionnait avec le cookie mais pas sans...

Bref le problèmeest résolu...

Merci à tous pour votre aide !

Matthieu