Einfache Fehlerausgabe

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

  • Einfache Fehlerausgabe

    Hallo

    ich steh wiedermal auf dem Schlauch. Vermutlich will ich immer zu einfach machen.

    Habe eine Funktion gemacht, die als Rückgabewert entweder 1 für Erfolg oder eine Fehlermeldung in Textform zurückgibt. Jetzt will ich bei Fehler die Meldung auslesen ohne die Funktion ein zweites mal aufzurufen. Das sollte doch gehen.

    PHP-Code:
    function verzeichniserstellen($pfad,$chmod) {
        
    $fehler '';
        if (
    is_dir($pfad)) {
            
    //pmsg($pfad .' exisitiert - Ok.');
        
    } else {
            if (
    mkdir($pfad)) {
                
    //pmsg($pfad.' erstellt - OK.');
                
    if (chmod($pfad$chmod)) {
                    
    //pmsg($pfad.' chmod '. $chmod .' - OK.');
                
    } else {
                    
    $fehler $fehler ' '$pfad.' chmod ' $chmod ' - Fehler.');
                }
            } else {
                
    $fehler $fehler ' '$pfad.' nicht erstellt - Fehler.');
            }
        }
        if (
    $fehler) {
            return(
    $fehler)
        } else {
            return(
    1);
        }
    }

    //Funktionsaufruf
    if (verzeichniserstellen('objekte','0775') == 1) {
        echo (
    ' Ok.');
    } else {
       echo( 
    hier möchte ich direkt den fehler ausgeben ohne zusätzliche variable hier ????

    Hat jemand eine elegante Idee?

    Schöne Ostern wünscht Markus

  • #2
    Weise den Rückgabewert der Funktion einer Variablen zu. Und schau dir mal Exceptions an.

    Kommentar


    • #3
      Zitat von mermshaus Beitrag anzeigen
      Weise den Rückgabewert der Funktion einer Variablen zu. Und schau dir mal Exceptions an.
      Danke mermshaus für den Tipp.

      Habe jetzt eine Exception gebastelt und die tut was sie sollte, auser dass sie mir jetzt das Skript abbricht mit der Meldung:

      Fatal error: Uncaught exception 'Exception' with message 'Sie haben keine Berechtigung für diese Funktion.' in E:\xampp\htdocs\cms_markus\funktionen.php:114 Stack trace: #0 E:\xampp\htdocs\cms_markus\seite_login.php(55): checkpermission('loginform') #1 {main} thrown in E:\xampp\htdocs\cms_markus\funktionen.php on line 114

      PHP-Code:
      function checkpermission($seitenid) {
        if ((
      $_SESSION['user'] == 'guest') or ($_SESSION['user'] == 'admin')) {
            return(
      1);
        } else { 
            throw new 
      Exception('Sie haben keine Berechtigung für diese Funktion.');
        }
      }


      try {
          
      checkpermission('loginform');
          } catch (
      Exception $e) {
              echo 
      'Exception abgefangen: ',  $e->getMessage(), "\n";
          } 
      obwohl ich meinte die Exception abgefangen zu haben

      Kommentar


      • #4
        Problem gelöst!!

        Hallo mermshaus

        Sorry - das war eine Falschmeldung. Ich hatte noch redundanten Code in meinen Skript ohne Catch!!!!

        Läuft jetzt prima!!!

        Kommentar

        Lädt...
        X