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