phpbar.de logo

Mailinglisten-Archive

[php] Vergleich von zwei Werten

[php] Vergleich von zwei Werten

Sebastian Mendel lists at sebastianmendel.de
Mit Sep 29 11:35:26 CEST 2004


Steffen Kother schrieb:

> $Modul    = Pruefe_Modul('fibu');
> /* ^ Liefert bei true 'fibu', sonst 0 */
> $Funktion = Pruefe_Funktion('zudd_erfassen', $Modul);
> /* ^ Liefert bei true die Funktion sonst 0 */
> 
> Der User hat in seiner Session die Berechtigung f=A8r 'zudd_erfasen',
> aber irgendwie will er den Vergleich von $Value mit
> strtolower($Funktion) nicht, denn $Funk bleibt leer. Schreibe ich vor
> den Vergleich $Value='zudd_erfassen' hart rein, dann gehts.

das ist wirklich schwer zu sagen mach doch mal ein print_r() an dieser 
stelle, und ist der Funktionsname auch wirklich klein geschrieben in der DB?

...
wieso dieses 'serialize' ? und diese vielen foreach?

//[1] - Schreiben in $_SESSION['cl_Rechte'] -
/**
  * vorher werden alle m=F7glichen Rechte f=A8r den User ermittelt
  * und die Abfrage zu Modulen und Funktionen erledigt
  */
if ( ! empty($SELECT) )
{
     /* Die Module und Funktionen auslesen */
     $ERG      = mysql_fetch_assoc($SELECT) or $ERG = '';
     $Modul    = $ERG['bezeichnung_modul'];
     $Funktion = $ERG['bezeichnung_funktion'];

     /* Je Modul ein Array (Modul => Funktion) */
     $_SESSION['cl_Rechte'][$Modul][] = $Funktion;
}

/* ... */

//[3] - Abgleichen der Berechtigungen -
/**
  * Funktion zum Pr=A8fen des Modul
  */
function Pruefe_Modul( $Modul )
{
     if ( array_key_exists( $Modul, $_SESSION['cl_Rechte'] ) )
         return $Modul;
     else
         return 0;
}

/**
  * Funktion zum Pr=A8fen der Funktion
  */
function Pruefe_Funktion( $Funktion, $Modul )
{
     $rechte = array();

     if ( isset($_SESSION['cl_Rechte'][$Modul]) )
         $rechte = $_SESSION['cl_Rechte'][$Modul];

     if ( isset($_SESSION['cl_Rechte']['all']) )
         $rechte = array_merge( $rechte, $_SESSION['cl_Rechte']['all'] );

     if ( in_array( strtolower($Funktion), $rechte )
         || isset($rechte['all']) )
         return $Funktion;
     else
         return 0;
}

-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive