Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] include Problem

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] include Problem

    Hallo Zusammen,

    ich habe 5 php seiten:

    index.php
    startseite.php
    links.php
    funktionen.php
    pruefung.php

    auf der index.php wird sich angemeldet mit benutzerdaten, wenn es erfolgreich war wird auf die startseite.php geleitet.

    in der funktionen.php habe ich einfach nur funktionen geschrieben die ich öfters brauche und auf die ich zugreifen kann.

    die startseite.php ist somit die eigentliche informationsseite, da ist der inhalt meiner website. doch damit nicht jeder diese startseite ohne anmeldung öffnen kann, gibt es die pruefung.php. diese prüft ob eien datei existiert, wenn ja wird zugriff verweigert. Grob beschrieben!

    in der links.php ist eine html tabelle mit links. aber auch die pruefung.php wird eingebunden/geladen, damit niemand der nicht angemeldet ist die links.php aufrufen kann.

    So folgender schritt:

    1. ich rufe die index.php auf und melde mich an, werde mit der startseite.php verbunden.
    2. beim aufruf der startseite.php wird als aller erstes die pruefung.php eingebunden
    3. in der pruefungs.php wird als aller erstes die funktionen.php eingebunden dann wird geprüft ob eine datei existiert, wenn nicht gehts weiter auf der startseite.php
    4. nun wird auf der startseite.php bisschen html angezeigt und dann die links.php eingebunden.
    5. in der links.php wird jedoch auch wieder als erstes die pruefung.php eingebunden.
    6. in der pruefungs.php wird wieder die funktionen.php eingebunden und dann endschieden ob ich die links.php sehen darf
    7. sollte die links.php angezeigt werden auf der startseite.php

    Allerdings bekomme ich folgende fehlermeldung:

    Code:
    Fatal error: Cannot redeclare config() (previously declared in /var/www/passwort/pruefung.php:25) in /var/www/passwort/pruefung.php on line 30
    Schon von der logik verstehe ich das es nicht funktionieren könnte, weil ich zweimal die selbe php seite einbinde, aber ich weiß nicht wie ich es lösen sollte sonst damit auch einzelne seiten wie links.php nicht angezeigt werden sollen, bei nicht anmeldung.

    Wenn ich bei der links.php die pruefung.php nicht einbinde dann klappt soweit alles, allerdings kann man über dem browser die links.php selbst aufrufen, was ich aber vermeiden möchte.

    Versteht jemand mein Problem? Wie kann ich dies lösen? Mir fällt schon seid stunden nix mehr ein


  • #2
    PHP: include_once - Manual

    ich denke, dass du das suchst....

    Kommentar


    • #3
      Du könntest den Inhalt immer über eine Datei einbinden, welche als Erstes die pruefung included und dann den Inhalt included. Und die Inhaltsseiten wie links.php und so, die lässt du einfach gar nicht direkt öffnen. Das könntest du so machen, in dem in der muster.php Datei einfach eine Variable $beispiel = 1 gesetzt wird und dann in links.php einfach if($beispiel != 1) { die; }


      muster.php
      <?php
      include('pruefung.php');
      $beispiel = 1;
      incluse('links.php');

      links.php
      <?php
      if ($beispiel != 1) { die; }
      echo "Die Links :" ...
      ?> ..

      Kommentar


      • #4
        Edit: zu langsam

        Kommentar


        • #5
          Zitat von Baltasar Beitrag anzeigen
          PHP: include_once - Manual

          ich denke, dass du das suchst....
          Vielen Dank! Gibts doch nicht, so einfach

          ich habe bei beide include zum testen durch include_once ersetzt und tadaaa
          EDIT: Danke für eure schnellen antworten, klappt udn jetzt habe ich es logisch auch verstanden warum

          Kommentar


          • #6
            Zitat von Alecane Beitrag anzeigen
            Vielen Dank! Gibts doch nicht, so einfach

            ich habe bei beide include zum testen durch include_once ersetzt und tadaaa

            Doch kannst du mir auch sagen wo ich immer das include_once und include benutzen sollte, ich weiß es steht auf der seite, aber mei nenglisch reicht wirklich nicht dafür aus.
            Der einzige Unterschied besteht darin, dass include once nur included, wenn es vorher nicht schon included wurde.. Sonst sind die beiden Funktionen komplett identisch

            Kommentar


            • #7
              Zitat von meclovin Beitrag anzeigen
              Der einzige Unterschied besteht darin, dass include once nur included, wenn es vorher nicht schon included wurde.. Sonst sind die beiden Funktionen komplett identisch
              Ja vielen dank, das habe ich mir mit leo.org auch gerade erklären lassen

              Super Forum hier

              Kommentar


              • #8
                Wenn man sauber programmiert, sollte so etwas garnicht auftreten

                Kommentar


                • #9
                  Zitat von ragtek Beitrag anzeigen
                  Wenn man sauber programmiert, sollte so etwas garnicht auftreten
                  Aber wie Programmiere ich so etwas sauber, für mich ist das schon sauber, wüsste gar nicht wie ich es anders lösen sollte

                  Kommentar


                  • #10
                    Zitat von ragtek Beitrag anzeigen
                    Wenn man sauber programmiert, sollte so etwas garnicht auftreten
                    ...wenn man sauber programmiert, brauchen wir dieses und ungefähr 1500 andere support-foren nicht...

                    Kommentar

                    Lädt...
                    X