Aller au contenu

Rapace15

Actif
  • Compteur de contenus

    13
  • Inscrit(e) le

  • Dernière visite

Messages postés par Rapace15

  1. As-tu testé la requète que je t'ai proposée ?

    NB : A priori, je ne vois aucune nécessité de faire 2 requètes : on peut tout à fait faire 2 jointures de la même table sous 2 alias différents comme dans le code que j'ai montré.

    <{POST_SNAPBACK}>

    Tu as tout à fait raison, il n'y a aucune raison que cela ne marche pas.

    C'est seulement que tu a du répondre pendant que je faisis la mienne et que je ne pense jamais aux alias des tables (et donc je passe quasiment toujours par ce genre de méthode).

    Mais les deux devraient marcher... à dr3amerz de choisir celle qu'il veut ;)

  2. Tu peux, si ton hébergeur le permet (si le flag allow_url_fopen est mis à 'true'), faire l'include en appelant la page avec une url complète (avec http://....)

    Dans ce cas le fichier .htaccess sera lu.

    Dan

    <{POST_SNAPBACK}>

    OK, Merci Dan je vais essayez ceci

  3. Mon problème, c'est que la page à afficher n'est pas forcément dans le même dossier que affiche.php. Voici un exemple d'arborescence de mon site

    | affiche.php (file)

    | .htaccess (file - celui là est lu sans problème)

    | include (directory - contient mes entêtes et pied de pages)

    | | entete.php (file)

    | | pied_page.php (file)

    | | ....

    | annuaire (directory - ne doit être accessible que par toto)

    | | .htaccess (file - celui là n'est pas lu)

    | | annu.php (fichier inclus dans affiche.php)

    c'est bien une méthode pour protéger /annuaire/*.* en acces que je souhaiterais.

  4. Bonjour à tous,

    Je cherche à gérer les accès sur un site intra où la navigation se fait uniquement avec une page.

    En fait je n'appelle à chaque fois qu'une page affiche.php?rubrique=xx&article=yy cette page ayant un include de la page voulue.

    <?php
    //*********************************************************
    //
    // affiche.php
    //
    // Page principale du site intranet
    //
    // Ce script est appelé pour mettre en forme chaque page du site,
    // y inclure les bandeau, barre de menu, colonne de gauche, prendre
    // en compte les différences entre site de travail et site publié,
    // mettre à jour les liens des pages d'informations développées par
    //les webmestres délégués...
    //
    //********************************************************

    $rub = (isset($_GET['rubrique'])) ? $_GET['rubrique'] : 1;
    $art = (isset($_GET['article'])) ? $_GET['article'] : 1;

    // fonction recherchant les variables de la page (lien, titre, données META...)
    $var_page = def_page($rub,$art);

    // Définition des headers de la page html
    echo "<HTML lang=fr>\n";
    echo "<HEAD>\n";
    echo "  <TITLE>MON SITE INTRANET : ".$var_page['Titre']."</TITLE>\n";
    echo "  <META content=\"".$var_page['MotsClefs']."\" name=keywords>\n";
    echo "  <META content=\"".$var_page['Auteur']."\" name=Author>\n";
    echo "  <META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">\n";
    echo "  <LINK href=\"styles/mon_style.css\" type=text/css rel=stylesheet>\n";
    echo "  <LINK media=print href=\"styles/mon_style_print.css\" type=text/css rel=stylesheet>\n";
    echo "</HEAD>\n\n<BODY>\n";

    // include des éléments standards
    echo "<TABLE><tr><td colspan=3>\n";
    include("include/entete.php");
    echo "</td></tr><tr><td>\n";
    include("include/menu_gauche.php");
    echo "     </td><td>\n";
    // Je fais l'include de ma page
    include($var_page['lien']);
    echo "     </td><td>\n";
    include("include/menu_droit.php");
    echo "</td></tr><tr><td colspan=3>\n";
    include("include/pied_page.php");
    echo "</td></tr></table></body></html>\n";
    ?>

    Or avec cette méthode, le fichier .htaccess n'est pas lu.

    Quelqu'un aurait-il une solution ? Par avance Merci

  5. Donc pour faire court tu connais le titre du document :Mamba

    Moi je le traiterais en deux requêtes :

    1/ Je cherche l'id_rubrique correspondant :

    $sql1 = "SELECT rubrique.id_parent FROM rubrique INNER JOIN
    (article INNER JOIN
    (document_article INNER JOIN documents
    ON document_article.id_document=documents.id_document)
    ON articles.id_article=document_article.id_article)
    ON rubrique.id_rubrique = articles.id_rubrique
    WHERE documents.titre ='mamba'";
    $resul_1 = mysql_query($sql1);
    $rub_enfant=mysql_fetch_array($resul_1);

    Tu devrait obtenir un résultat (ici 7) et ensuite tu cherches le titre de ta rubrique parent

    $sql2 = "SELECT  titre FROM rubrique WHERE id_rubrique=".$rub_enfant[0];

    voilà comment je le gèrerais

  6. Je vois un peu mieux effectivement..

    le fait de mettre id_rubrique=id_parent fait qu'il cherche un enregistrement pour lequel Id_rubrique = id_parent (ce qui n'est pas le cas)

    Si j'ai bien compris, au début tu connais l'Id_rubrique parent (dans ton exemple 7)

    donc ta requête serait celle ci

    SELECT documents.titre AS Marque FROM documents INNER JOIN 
    (document_article INNER JOIN
    (articles INNER JOIN rubrique ON articles.id_rubrique=rubrique.id_rubriques)
    ON document_article.id_article=articles.id_article)
    ON documents.id_document=document_article.id_document
    WHERE id_parent = 7

    Petit conseil : essaye de normaliser le nommage des tables, tu risques vite de t'y perdre avec tes noms une fois au pluriel une fois au singulier... ;)

    Bon dev :)

  7. Pardon, il y a une erreur, la parenthèse ouvrante doit être avant la table a :

    SELECT r.titre FROM r
    INNER JOIN  (a INNER JOIN da ON a.id_article=da.id_article)
    ON r.id_rubrique=a.id_rubrique
    WHERE da.id_document=118

  8. SELECT r.titre
    FROM documents_articles da, articles a, rubriques r
    WHERE da.id_document=118
    AND a.id_article=da.id_article
    AND r.id_rubrique=a.id_rubrique
    AND r.id_rubrique=r.id_parent

    <{POST_SNAPBACK}>

    Je ne comprends pas trop ta syntaxe... Si j'ai bien compris tu fais une requête avec des plusieurs tables liées...

    Essaye ceci :

    SELECT r.titre FROM r 
    INNER JOIN  a  (INNER JOIN da ON a.id_article=da.id_article)
    ON r.id_rubrique=a.id_rubrique
    WHERE da.id_document=118

    Par contre, je n'ai pas compris pourquoi tu mets r.id_rubrique=r.id_parent ?

    tu cherche un enregistrement pour lequel ces valeurs sont égales ?

  9. Bonjour,

    Si je ne me trompe pas, c'est ton code.

    echo "<SELECT  name='Taille' id='Taille' >while($compteur <= $result2){echo'<OPTION value='.$tabtaille[$compteur].'>'.$tabtaille[$compteur].'</OPTION>';}";

    <{POST_SNAPBACK}>

    Pour moi une simple erreur dans ton premier echo... (le while est intégré dans le echo chez toi et donc au niveau du navigateur il ne sais pas le traduire)

    essaye ceci :

    $compteur=1;
    echo "<SELECT name='Taille' id='Taille'> \n";
    while($compteur<=$result2)
          {
           echo "<OPTION value='".$tabtaille[$compteur]."'>".$tabtaille[$compteur]."</OPTION> \n";
          $compteur++;  //On incrémente le compteur
          }
    echo "</SELECT> \n";

    La remarque de Light_at_the_end était bien justifiée le seul bémol c'est que la cote de value n'était pas refermée dans son code.

  10. Pour le problème de session PHP, le problème me semble "normal".

    Lorsque tu lances la commande session_start();, le serveur web crée une nouvelle session à moins que tu ne lui indiques la session à utiliser.

    Pour palier à ce problème, avant de lancer une session_start(); récupère ton identifiant de session puis dis lui d'utiliser cette session.

    Dans l'exemple ci-après, l'identifiant de la session est passé dans l'URL :

    <?php
    $id =$_GET['PHPSESSID'];
    session_id($id);
    session_start();
    ....
    ?>

    Ce qui veut dire pour ton problème, chaque fichier PHP contenu dans tes I-Frames doit reprendre les lignes ci-dessus (ou alors tu passes l'identifiant de session via un cookie)

×
×
  • Créer...