Klaus: Externe PHP-Abfrage includen

Hallo Leute,

habe ein CMS aufgesetzt. Habe nun mehrere Rubriken (Pflanzen, Mode, Tiere usw.).

Nun will ich, dass die Artikel unter Mode auch nur Modeartikel, die unter Pflanzen auch nur Pflanzen sind und nicht die gesamte Artikelauswahl darstellen. Also müsste ich aus dem CMS heraus praktisch ja nicht die einfache php-Seite includen, sondern die Abfrage für die einzelnen Rubriken:

<?php
include("?set_filter=Pflanzen");
?>

Tja, und hier klappt es natürlich nicht. Im Original wäre es so:

<?php
include("ff_article");
?>

Aber dann bekomme ich alle Rubriken auf der pflanzen.php bzw. mode.php.

So:

<?php
include("?set_filter=Pflanzen");
?>

bleibt die Seite weiß - schneeweiß.

Hat jemand nen Tipp?

Grüße Klaus

PS: Mein Server arbeitet im save-mode, naturbedingt sind in der php.ini einige Funktionen deaktiviert.

  1. Hallo Klaus,

    habe ein CMS aufgesetzt. Habe nun mehrere Rubriken (Pflanzen, Mode, Tiere usw.).

    freundlicherweise verschweigst Du uns, welches CMS, netterweise zeigst Du auch keinen sinnvollen Code.

    Nun will ich, dass die Artikel unter Mode auch nur Modeartikel, die unter Pflanzen auch nur Pflanzen sind und nicht die gesamte Artikelauswahl darstellen.

    Ja, Dein Wunsch hört sich sinnvoll an. Unterstützt Dein CMS dieses Feature.

    Also müsste ich aus dem CMS heraus praktisch ja nicht die einfache php-Seite includen, sondern die Abfrage für die einzelnen Rubriken:

    Diesen Satz verstehe ich nicht. Deswegen sage ich einfach: Nein, das was Du da schreibst, dürfte falsch sein. Dein CMS sollte eine Logik enthalten, die dafür sorgt, dass nur die entsprechenden Artikel erscheinen.

    <?php
    include("?set_filter=Pflanzen");

    Du versuchst also eine Datei mit dem Namen "?set_filter=Pflanzen" einzubinden. Gibt es eine solche Datei in Deinem CMS? Vermutlich nicht.

    ?>

    Dieser Code produziert keine Fehlermeldung? Wirklich nicht. Setze doch bitte zu Beginn

    error_reporting(E_ALL);

    Ohne die verarbeitende Logik zu kennen, kann man Dir nicht helfen.

    Freundliche Grüße

    Vinzenz

  2. Hallo,

    include("?set_filter=Pflanzen");

    Was bitteschön soll denn diese Funktion deiner Meinung nach dabei machen? Konkret macht sie nämlich folgendes:

    1. Sie guckt im aktuellen Verzeichnis (z.B. /home/web351552/htdocs/scripte/?set_filter=Pflanzen) nach einer datei mit dem namen ?set_filter=Pflanzen, diese findet sie dort aber nicht, weil kein Normaler Mensch eine Datei so benennen würde.

    2. Sie schaut in allen include Pfaden (z.B. /www/?set_filter=Pflanzen und /www/includes/?set_filter=Pflanzen) nach, ob sie diese Datei vielleicht dort findet, aber auch dort wird sie natürlrich höchstwarscheinlich nicht gefunden.

    3. Da nichts gefunden wurde wird eine Warnung ausgegeben und das Script normal weiterverarbeitet.

    Wenn du kein Warning im Browser siehst, dann ist bei dir die Fehlerausgabe falsch eingestellt.

    Du kannst keine GET Parameter mit Include übergeben. Allerdings, wie du in der Beschreibung lesen kannst:

    Steht include im aufrufenden Skript innerhalb einer Funktion, verhält sich der gesamte Code der aufgerufenen Datei genau so, als ob Sie diesen Code innerhalb dieser Funktion definiert hätten. Aus diesem Grund hat dieser Code den Geltungsbereich der Variablen dieser Funktion.

    Grüße
    Jeena Paradies