Thread Verfasser: Rolly8-HL
Thread ID: 1040
Thread Info
Es gibt 3 Beiträge zu diesem Thema, und es wurde 2111 Mal angesehen.
 Thema drucken
defuse & Co.
Rolly8-HL
Habe mir das gebaut.
Code
if (isset($_GET['defuse']) && isnum($_GET['defuse'])) {
   
      $inf_adminpanel = array("A", "AC");

         $result = dbquery("SELECT user_id, user_rights FROM ".DB_USERS." WHERE user_level>='102'");

         while ($data = dbarray($result)) {

            $user_rights = explode(".", $data['user_rights']);
            if (in_array($inf_adminpanel, $user_rights)) {
               $key = array_search($inf_adminpanel, $user_rights);
               unset($user_rights[$key]);
            }
            
            $result2 = dbquery("UPDATE ".DB_USERS." SET user_rights='".implode(".", $user_rights)."' WHERE user_id='".$data['user_id']."'");
         }
      }


Bekomme aber nur das A weg nicht aber das AC es sollten aber beide gleichzeitig weg genommen werden.

Wo liegt da jetzt der Fehler?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
SuNflOw
Code
if (in_array($inf_adminpanel, $user_rights)) {
  $key = array_search($inf_adminpanel, $user_rights);
  unset($user_rights[$key]);
}

ist das Problem.

Versuche mal:
Code
foreach($inf_adminpane as $right) {
  $key = array_search($right, $user_rights);
  if($key !== false)
    unset($user_rights[$key]);   
}

die '!==' sind hier wichtig da die Funktion array_search 0 oder false zurück geben kann. PHP interpretiert 0 auch als false wenn du nur '!=' verwendest.
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
 
Rolly8-HL
Jeep, ja Danke geht, warst mir eine Große Hilfe.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Springe ins Forum: