include

  • geschlossen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi
    Hab eine kleine allgemeine Frage zum includen.
    Mit Hilfe von _GET Variablen include ich verschiedene Unterseiten.
    Wie könnte ich nun verhindern, dass das Script nur ausgeführt wird, wenn es von der index Seite included wurde.

    Ein kleines Beispiel:
    index.php

    Quellcode

    1. <?
    2. if ($_GET['unterseite'] == "gästebuch") {
    3. include("unterseiten/gästebuch.php");
    4. }
    5. ?>


    Will nun verhindern, dass das das Script von gästebuch.php ausgeführt wird, wenn man es direkt per URL (....unterseiten/gästebuch.php) anfragt.

    Dürfte denk ich mal mit dem header zu tun haben.
    Man koennte natuerlich in gästebuch.php folgendes machen:

    Quellcode

    1. if ($_GET['unterseite'] == "gästebuch") {
    2. ...


    WIll ich aber nich.
    Denk das wird sich auch mit header informationen bewältigen.

    danke schonmal im vorraus.

    ´gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • PHP-Quellcode

    1. <?php
    2. if (!isset($_GET['site'])) { $_GET['site']="news"; }
    3. if (file_exists($_GET['site'].".php")) {
    4. include($_GET['site'].".php");
    5. }
    6. ?>


    versuchs mal damit...

    wenn du dann einen seite öffnen willst musste nur

    HTML-Quellcode

    1. index.php?site=news


    mfg rave
  • Hoi
    danke erstmal fuer die Antwort.
    Dann les mal meinen Post genau durch... da steht genau, dass ich es zwar so machen kann... will es aber nich so : /

    ´gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • Das schreibst du an den Anfang jeder Unterseite:

    PHP-Quellcode

    1. <?php if(!$save) die('Unterseiten können nicht direkt aufgerufen werden!'); ?>


    Und bei der Haupseite must den Code so abändern:

    PHP-Quellcode

    1. <?
    2. $save = 1;
    3. if ($_GET['unterseite'] == "gästebuch") {
    4. include("unterseiten/gästebuch.php");
    5. }
    6. ?>


    Jetzt kann man die Unterseiten nur noch von der Hauptseite aus aufrufen.
  • hi

    das ist eigentlich fast genau die Lösung, die ich vorgeschlagen habe, und die ich nicht benutzten wollte.

    ´gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • Nein ist es ist nicht fast das gleiche. Bei deiner Variante kann man die Unterseite ja trotzdem direkt öffnen in dem man einfach ".../gästebuch.php?unterseite=gästebuch" aufruft.
    Aber es wäre ganz gut, wenn du mal sagen würdest, warum diese Variante für dein Vorhaben nicht so sehr geeignet ist. Dann kann man besser nach Alternativen suchen.
  • Thragg hat recht und zudem ist dies in den meisten fällen so ziemlich die einfachste Lösung.
    wilst du einfach partout an den includeten files nichts ändern?
    dann wirds so viel ich weiss auch mit header informationen schwierig
  • Mein Vorschlag ist, da du ja partou nix mit dem setzten von Variablen tun willst, es über ein weiteres Include zu regeln.

    Falls die Unterseiten z.B. Datenbank-Zugriff brauchen um zu laufen (was die allermeisten PHP-Seiten brauchen aus Erfahrung), include die Datenbank-Verbindung im index-File, die Unterseiten laufen dann nur wenn sie via index included worden sind.

    Bei mir funktioniert das zumindest immer. Falls du keine DB-Connection verwendet, kannst du ja zumindest die Idee adaptieren.

    -purx
    [SIZE=1]"There's no right, there's no wrong, there's only popular opinion." Jeffrey Goines (Brad Pitt) in Twelve Monkeys[/SIZE]

    [SIZE=1]$ killall chico[/SIZE]
  • naja besten dank jedenfalls thragg und purx für die ideen.

    habe die beiden zwar vorhher so in der art im einsatz gehabt, muss ichs wohl weitermachen.
    Eigentlich ja auch nich das große problem, dass ich hatte.

    ´gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]