Ankündigung

Einklappen
Keine Ankündigung bisher.

datei auf jeden fall einbinden

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema datei auf jeden fall einbinden.

    datei auf jeden fall einbinden

    hi,
    wie kann man eine datei unabhängig von der programmlogik einbinden?
    früher konnte man ja require benutzen, welches aber bei php versionen höher als 4.0.3 (glaub ich) nicht mehr geht... gibts dagür irgendeine ersatz funktion?

  • Gast-Avatar
    Ein Gast antwortete
    Code:
    // wenn variable leer, dann gib fehlermeldung aus und brech script ab
    if (trim($_POST['art_name']) == "") {
        die(error_design($de['art_name']));
    }
    //wenn obige bedingung true ist, dann soll das formular trotzdem noch eingebunden werden
    require_trotzdem "formular.php";
    Die Semantik des Befehles die() ist nunmal, dass das Programm danach beendet wird. Da kann man nix drehen und das macht auch keinen Sinn. Genau so einleuchtend wäre es, von dem Befehl echo zu verlangen, dass er *keine* Bildschirmausgabe bewirkt, aber das Programm abbricht. Also Schwachsinn.

    Außerdem ist dein Problem auf mind. 10 anderen Wegen ohne großen mehraufwand lösbar.

    Code:
    // wenn variable leer, dann gib fehlermeldung aus und brech script ab
    if (trim($_POST['art_name']) == "") {
        echo error_design($de['art_name']);
        require "formular.php";
        exit;
    }
    //wenn obige bedingung true ist, dann soll das formular trotzdem noch eingebunden werden
    require "formular.php";

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Warum? Na damit man (hier du) sauberer programmiert.

    Du musst die Formularprüfung eben einfach nach oben setzen ^^

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Bräuchte das aus Design Gründen... hier z.b.

    man gibt über ein formular daten ein. wenn die daten nicht korrekt eingegeben wurden, soll die fehlermeldung auf der seite OBEN erscheinen und DARUNTER dann das Formular.

    Code:
    // wenn variable leer, dann gib fehlermeldung aus und brech script ab
    if (trim($_POST['art_name']) == "") {
        die(error_design($de['art_name']));
    }
    //wenn obige bedingung true ist, dann soll das formular trotzdem noch eingebunden werden
    require_trotzdem "formular.php";
    klar könnte ich auch echo() statt die() nehmen, dann wär alles in butter, aber ich wollte nur wissen ob es auch irgendwie mit die() geht. hab auch ka warum die php crew das geändert hat... war doch ne nützliche funktion...

    Einen Kommentar schreiben:


  • HStev
    antwortet
    naja trotzdem will mir der Sinn ned einleuchten warum man das brauchen könnte

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Nein eine solche Funktion gibt es nicht.
    Ist sowieso schlechter Stil. Wenn eine Datei auf jeden Fall eingebunden werden soll, dann macht es keinen Sinn, sie in eine Anweisung zu packen, dann gehört sie entweder ganz nach oben oder an die Stelle wo sie gebraucht wird. Und wenn du sie nur in der Schleife brauchst, muss sie auch nicht auf jeden Fall eingebunden werden.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    halbrichtig, weil das error-handling nicht immer der einzige unterschied war.

    "Anmerkung: Für frühere Versionen als PHP 4.0.2 gilt folgendes: require() wird immer versuchen die Zieldatei zu lesen, selbst wenn die Zeile in der die Anweisung steht, nie ausgeführt wird. Eine bedingte Anweisung hat keine Auswirkungen auf require(). Wenn jedoch die Zeile in der require() steht, nie ausgeführt wird, wird auch der Code der Zieldatei nie ausgeführt werden. Ähnliches gilt für Schleifenstrukturen, diese beeinflussen das Verhalten von require() nicht. Obwohl der Code, der in der Zieldatei enthalten ist, zur Schleife gehört, wird require() selbst nur einmal ausgeführt. "

    Quelle:
    http://de3.php.net/require

    Einen Kommentar schreiben:


  • HStev
    antwortet
    Re: datei auf jeden fall einbinden

    die Logik die dahinter steckt will mir nicht einleuchten

    Zitat von ingol
    früher konnte man ja require benutzen, welches aber bei php versionen höher als 4.0.3 (glaub ich) nicht mehr geht...
    hä? der einzigste Unterschied zwischen require und include is doch der das wenn ne Datei nicht gefunden wurde require n Fehler wirft und das Script abbricht während include blos ein warning bringt...das war meines Wissens schon immer so gewesen und ist auch noch weiterhin so.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    @Bruchpilot
    ne require() wurde nicht entfernt. nur vor php 4.0.3 hat require() dateien unabhängig von der programmlogik eingebunden, was nu net mehr geht.

    @Zergling
    Ja, genauso mein ich das. gibt es da irgendeine ersatzfunktion ?

    require_trotzdem() funktioniert bei mir leider auch net

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Re: datei auf jeden fall einbinden

    Zitat von ingol
    wie kann man eine datei unabhängig von der programmlogik einbinden?
    Wie meinst du das?

    PHP-Code:
    <?php
    if (false) {
      
    require_trotzdem 'datei.php';
    }
    ?>
    ??

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    require wurde aus php entfernt?
    Das solltest Du mal das Doku-Team wissen lassen.
    http://de3.php.net/require

    Einen Kommentar schreiben:


  • md5hash
    antwortet
    include?

    Einen Kommentar schreiben:

Lädt...
X