Ankündigung

Einklappen
Keine Ankündigung bisher.

exit() & die()

Einklappen

Neue Werbung 2019

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

  • 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?
    .visit » Tolga-Tanik.de
    .visit » TolgaTanikFoto @ Facebook
    .visit » Tolga Tanik Fotografie @ YouTube

  • #2
    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

    Kommentar


    • #3
      öhm, was? das verstehe ich nicht so ganz. kannste mir das evtl. etwas näher (vorallem idotensicher) erklären oder hiflreiche links nennen?
      .visit » Tolga-Tanik.de
      .visit » TolgaTanikFoto @ Facebook
      .visit » Tolga Tanik Fotografie @ YouTube

      Kommentar


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

        Kommentar


        • #5
          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.
          .visit » Tolga-Tanik.de
          .visit » TolgaTanikFoto @ Facebook
          .visit » Tolga Tanik Fotografie @ YouTube

          Kommentar


          • #6
            zeig doch mal das Fehlerverursachende script, bzw den entsprechenden Auszug

            Kommentar


            • #7
              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.
              .visit » Tolga-Tanik.de
              .visit » TolgaTanikFoto @ Facebook
              .visit » Tolga Tanik Fotografie @ YouTube

              Kommentar


              • #8
                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.

                Kommentar


                • #9
                  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

                  Kommentar


                  • #10
                    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.
                    .visit » Tolga-Tanik.de
                    .visit » TolgaTanikFoto @ Facebook
                    .visit » Tolga Tanik Fotografie @ YouTube

                    Kommentar

                    Lädt...
                    X