Mailinglisten-Archive |
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