phpbar.de logo

Mailinglisten-Archive

[php] Vergleich von zwei Werten

[php] Vergleich von zwei Werten

Steffen Kother steffen.kother at gmx.net
Mit Sep 29 12:05:24 CEST 2004


Hallo Lutz,

>> $Modul    = Pruefe_Modul('fibu');
>> /* ^ Liefert bei true 'fibu', sonst 0 */
>
> $Modul enthaelt hier aber noch den richtigen Wert?

$Modul    = Pruefe_Modul('fibu'); // gibt 'fibu' zurück
$Funktion = $Pruefe_Funktion('zudd_erfassen', $Modul); // sollte 
'zudd_erfassen' zurück geben

Rein vom Ablauf her sind die Funktionen richtig. $Modul erhält den 
richtigen Wert('fibu') zurück und schaut dann in Pruefe_Funktion() eben 
nur nach den Berechtigungen von $_SESSION['cl_Rechte']['fibu'].

> Hast Du Dir den Inhalt von $Rechte nach dieser Operation an dieser 
> Stelle
> ausgeben lassen (z.B. print_r($Rechte))? Ist hier noch alles ok?

Hier mal zwei print_r($Rechte), das erste von User 'Vertrieb',das 
zweite für 'Fibu':

Array([vertrieb] => Array([0] => reklamation [1] => schritt 1))
Array([fibu] => Array([0] => zudd [1] => zudd_erfasssen))

> D.h. es geht eigentlich nicht darum, dass $Funk leer bleibt, sondern
> $Value bzw. dass $Value an dieser Stelle einen falschen Wert 
> enthaelt.

Jawohl! Habe das nächste mal um ein paar Zeilen erweitert:
>>     if (!empty($Rechte[$Modul])) {

           print_r($Rechte[$Modul]));

>>         foreach($Rechte[$Modul] as $Value) {

               echo $Value.' : '.strtolower($Funktion);

>>             if ($Value == strtolower($Funktion) || $Value == "all")
>>                    $Funk = $Funktion;
>>         }
>>     }

Und raus kommt das:

Array ( [0] => zudd [1] => zudd_erfasssen )
zudd : zudd_erfassen
zudd_erfasssen : zudd_erfassen

$_SESSION['Rechte']['all'] ist nciht vorhanden, da dieses nur für mich 
und/oder ROOT ist.

Und nun? Ist guter Rat teuer?

-- 
Mit freundlichen Grüßen / Kind regards

Steffen Kother


php::bar PHP Wiki   -   Listenarchive