phpbar.de logo

Mailinglisten-Archive

[php] Wertrückgabe aus Funktion

[php] Wertrückgabe aus Funktion

Lutz Zetzsche php-liste at vonnies.de
Die Dez 2 12:17:15 CET 2003


Hi Steffen,


Zitat von Steffen Kother <steffen.kother at gmx.net>:

[...]

> Hier die Funktionen: http://nopaste.php-q.net/25918
>
> soll verhindern, dass "falsche" User auf die jeweiligen Skripte und Seiten
> kommen.
> Dazu wird mit jeder Anmeldung eine Session erstellt und in diese die
> entsprechenden Daten hineingepackt.
>
> Beispiel für $_SESSION["cl_Rechte"] = "public, einkauf, vertrieb"
>
> $Funktion sollte eigentlich bei vorhandener Berechtigung 1 sein, aber ich
> erhalte stets "einkauf" zurück. Im einzelnen "case: break;" wird richtig 1
> ausgegeben aber nicht weiter gereicht.
>
> Habe ich da einen Denkfehler oder ist da was falsch gestrickt? Trotz allem
> funktionierts...  Helft mir da mal bitte.

$Funktion ist ja der Parameter, den Du an switch uebergibst:

switch($Funktion) {
  ...
}

Ich vermute mal, das Ganze geraet deswegen durcheinander, weil Du dann in einer
case-Anweisung $Funktion einfach neu belegst:

     case "einkauf":
      if(!empty($_SESSION["cl_Funk_Ein"])
         && (substr_count($_SESSION["cl_Funk_Ein"], $Bereich)
         || substr_count($_SESSION["cl_Funk_Ein"], "all")))
       $Funkion = 1; else $Funktion = 0;
     break;

Angenommen, PHP wuerde Deiner Neubelegung folgen, und den Parameter neu fuellen,
und gleichzeitig wuerdes Du kein break; anwenden, so dass die case-Anweisungen
weiter abgearbeitet werden, dann kaeme ja alles richtig durcheinander.

Von daher musst Du wohl als return-Wert eine andere Variable als den Parameter
waehlen.


Viele Gruesse

Lutz

php::bar PHP Wiki   -   Listenarchive