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?
Ankündigung
Einklappen
Keine Ankündigung bisher.
exit() & die()
Einklappen
Neue Werbung 2019
Einklappen
X
-
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.
-
Zitat von Montellese Beitrag anzeigenAlso bei einem öffentlich zugänglichen Script würde ich jedesPHP-Code:or die(mysql_error())
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.
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.
Einen Kommentar schreiben:
-
Also bei einem öffentlich zugänglichen Script würde ich jedesPHP-Code:or die(mysql_error())
Einen Kommentar schreiben:
-
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());
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:
-
zeig doch mal das Fehlerverursachende script, bzw den entsprechenden Auszug
Einen Kommentar schreiben:
-
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:
-
Fange alle Eventualitäten ab, die Fehler verursachen können und behandle die Fehler selbst (mit eigenen Fehlermeldungen oder so).
Einen Kommentar schreiben:
-
ö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:
-
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:
Einen Kommentar schreiben: