Ankündigung

Einklappen
Keine Ankündigung bisher.

exit() & die()

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

  • TeazY
    hat ein Thema erstellt exit() & die().

    exit() & die()

    Ihc hab ein problem mit exit() & die(). Und zwar kann ich die 2 befehle nciht nutzen da sonst meine page nciht mehr richtig angezeigt wird. Sprich, die ganze rechte navigation wird nciht mehr angezeigt da die code verarbeitung durch die() oder exit() vorzeitig beendet wird. ich dachte das php bei nutzung dieser befehle nur die aktuelle datei verarbeitung abbricht, sprich in dem fall den content.

    ich ahbe eine index.php und die unterseiten(contents) werden per index.php?section=datei aufgerufen. Wenn ich zum beispiel die intern.php aufrufe per index.php?section=intern und dort dann etwas passiert was den die() oder exit() befehl ausführen lässt, so erscheint dann die fehlereldung und der rest der page (die rechte navi etc.) werden nciht mehr angezeigt. Wie kann ich das vermeiden? Oder wie kann ich ein script abbrechen ohne das andere scripte (index.php) davon betroffen sind? Also nur die aktuelle datei abbrechen und das wars. Geht sowas? Oder wie soll ich das handhaben?

  • TeazY
    antwortet
    Ne, das ist jetzt ein beispil aus dem adminbereich. Aber trotzdem danke. ich werd mal schauen wie ich das alles umformuliere. Melde mich bei neuen problemen.

    Einen Kommentar schreiben:


  • drieling
    antwortet
    Zitat von Montellese Beitrag anzeigen
    Also bei einem öffentlich zugänglichen Script würde ich jedes
    PHP-Code:
    or die(mysql_error()) 
    vermeiden, weil man daraus Informationen über die Datenbank-Struktur lesen kann.
    TeazY: siehe Oben (Sicherheit)

    Zitat von Montellese Beitrag anzeigen
    Überprüf lieber danach, ob in $result false drin steht oder nicht, dann weisst du auch, ob ein Fehler aufgetreten ist oder nicht.
    Teazy: siehe oben (Fehlerbehandlung)

    Zitat von Montellese Beitrag anzeigen
    ... Wenn man den Code klug gliedert, kann man praktisch an jeder Stelle unterbrechen, wenn es sein muss und das ohne die() oder exit() zu benützen.
    full ack

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    Also bei einem öffentlich zugänglichen Script würde ich jedes
    PHP-Code:
    or die(mysql_error()) 
    vermeiden, weil man daraus Informationen über die Datenbank-Struktur lesen kann. Überprüf lieber danach, ob in $result false drin steht oder nicht, dann weisst du auch, ob ein Fehler aufgetreten ist oder nicht. Verstehe nicht ganz, warum du unbedingt die() bzw exit() brauchst. Wenn man den Code klug gliedert, kann man praktisch an jeder Stelle unterbrechen, wenn es sein muss und das ohne die() oder exit() zu benützen.

    Einen Kommentar schreiben:


  • TeazY
    antwortet
    Das wäre dann dieser Teil:
    PHP-Code:
    $sql "SELECT
    `ID`,
    `Nick`
    FROM
    `users`
    ORDER BY
    `Nick` ASC;"
    ;
    $result mysql_query($sql) OR die(mysql_error()); 
    Das ist ein auszug aus der admin.php
    Ich benutze das die() und/oder exit() eigetnlich nur bei diesen fällen (sql) oder bei sessions um eben aus sicherheitsgründen das script vorzeitig zu beenden.

    Einen Kommentar schreiben:


  • drieling
    antwortet
    zeig doch mal das Fehlerverursachende script, bzw den entsprechenden Auszug

    Einen Kommentar schreiben:


  • TeazY
    antwortet
    Ja, das ist ja ok, doch wie kann ich das aktuelle script dann trotzdem vorzeitig beenden ohne das mein design darunter leidet, sprich die rechte navi trotzdem angezeigt wird? Die Fehlerausgabe ist ja kein problem, dennoch möchte ich das script an der fehler-verursachenden stelle vorzeitig abbrechen.

    in #php/#php.de @ Quaknet wurde mir return() empfohlen. doch leider hab ich das nciht ganz verstanden wie ich mit return() die befehle exit()/die() ersetzten kann oder wie das funktionieren soll. Deshalb besteht mein problem noch weiterhin.

    Einen Kommentar schreiben:


  • drieling
    antwortet
    Fange alle Eventualitäten ab, die Fehler verursachen können und behandle die Fehler selbst (mit eigenen Fehlermeldungen oder so).

    Einen Kommentar schreiben:


  • TeazY
    antwortet
    öhm, was? das verstehe ich nicht so ganz. kannste mir das evtl. etwas näher (vorallem idotensicher) erklären oder hiflreiche links nennen?

    Einen Kommentar schreiben:


  • drieling
    antwortet
    Dein Zauberwort heißt "Fehlerbehandlung". Fange eventuelle Fehler auf und entwickle eigene Fehlerroutinen. Das ist 100x Sicherher und Schöner als sich da auf den PHP Parser zu verlassen

    Einen Kommentar schreiben:

Lädt...
X