Was bringt die exit-Funktion?

  • Guten Abend zusammen,


    ich bin gerade bei folgender Aufgabe: http://www.php-kurs.com/formul…-in-dateien-speichern.htm.


    Es funktioniert alles, aber eines verstehe ich nicht. Was bringt die "exit"-Funktion, die man am Ende setzen soll?


    Laut dem Kommentar, ist die Funktion dazu da, die Datei nicht weiter ausführen zu lassen. Aber irgendwie sehe ich das nicht...


    Denn, wenn ich die Email und den Namen in das Formular schreibe und mir das dann später in der Datei angucke, wird ja alles richtig ausgegeben. Aber wenn ich jetzt wiederum etwas Neues in das Formular eintippe wird das Programm wieder ausgeführt, also wird das von eben überschrieben und ich hab jetzt das in der Datei, was ich beim zweiten Mal eingetragen hatte. Doch das dürfte doch eigentlich gar nicht passieren, oder? Schließlich sagt man doch mit der "exit"-Funktion, dass das Programm nicht mehr ausgeführt werden soll?


    Oder verstehe ich den Sinn von "exit" falsch?


    Schon mal vielen Dank für die Hilfe. :)


    MfG
    JR Cologne

  • exit(); beendet das laufende Script.
    Bsp:


    Dass bei jedem neuen Eintrag im Formular die alten Werte in der Datei überschrieben werden liegt daran,
    dass im Beispiel "w" für "write" genutzt wurde.

    PHP
    $handle = fopen ( "anfragen.txt", "w" );


    Ich denke dort sollte ein "a" für "append" (dt. "anhängen") genutzt werden.


    Liste möglicher Parameter für fopen() => http://php.net/manual/de/function.fopen.php


    Wenn Du das Formular 1 mal absendest - siehst Du dann diesen Text?: "Danke - Ihre Daten wurden speichert"
    und kein Formular?


    Wenn nicht, dann poste mal deinen Code - evtl hat sich ein Fehler eingeschlichen.

  • Achso, alles klar. Vielen Dank. :)


    Dass es bei dem Modus w überschrieben wird, war mir klar. Nur halt nicht der Sinn von "exit". Aber jetzt ist das ja klar. "Exit" macht dann also erst wirklich Sinn, wenn man den Inhalt anhängt und nicht überschreibt, richtig?


    Ich hab das leicht anders gemacht und das Ganze in eine Datei gepackt. Somit wird das Formular bei mir nach dem absenden noch angezeigt, aber es wird auch der Text eingeblendet. Passt also alles.

  • "Exit" macht dann also erst wirklich Sinn, wenn man den Inhalt anhängt und nicht überschreibt, richtig?


    Naja, nein.
    exit() hat nix mit dem Schreiben in die Datei zu tun. Es wird geht bei der Funktion "einfach nur" um das beenden des Scripts.


    Guck mal hier rein: http://php.net/manual/de/function.exit.php (btw eine sehr schöne Doku)


    INFO:
    Man kann der Funktion exit() also auch einen String mitgeben.
    zB

    PHP
    $a = 3 / 10;
    // ... weiterer code ...
    // irgendwo im ablauf muss dann $a unbedingt grösser als 0 sein:
    if($a < 0){
        exit("ERROR: $a ist nicht größer als 0!"); // AB HIER ist ende gelände =) der string "ERROR: $a ist .... " wird ausgegeben und das programm beendet
    }
    echo "$a ist größer als 0";
    // ...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!