Hier ist mein Script zum Verwalten von Benutzern, d.h. ihnen verschiedene Werte(Rechte) zuweißen.
Das Script sieht folgendermaßen aus
Dies ist das Array mit den Rechten
	
So nun die Form mit den Checkboxen
	
So und nun der Teil der die markierten Checkboxen in eine DB einträgt
	
Und zwar geschieht der Fehler an //Neue Rechte
	
es werden jedoch keine Daten in die Datenbank eingetragen, der Teil hingegen //Alte Löschen funktioniert.
Aber wo liegt der Fehler in //Neue Rechte ?
sorry hatte ausversehn den Post schon abgeschickt bevor ich fertig war...
					Das Script sieht folgendermaßen aus
Dies ist das Array mit den Rechten
PHP-Code:
	
	
 $allRights = array();                
        $allRights[] = "Admin";                
        $allRights[] = "Member";                              
        sort($allRights); 
PHP-Code:
	
	
echo "<form ". "action=\"index.php? "method=\"post\" ". "class=\"formular\">\n";
echo "    <ol>\n"; 
echo "            <ul>\n";                
                    foreach($allRights as $value) {                    
                        echo "<li>\n";                    
                        echo "    <input id=\"".$value."\" type=\"checkbox\" name=\"rights[]\"";                    
                        if(in_array($value, $rights)) {                        
                            echo " checked=\"checked\"";                    
                        }                    
                        echo " value=\"".$value."\" />\n";                    
                        echo "    <label for=\"".$value."\">".$value."</label><br />\n";                
                    }               
                    echo "            </ul>\n";                
                    echo "        </li>\n";                
                    echo "        <li>\n";                
                    echo "            <input type=\"submit\" name=\"submit\" value=\"Rechte speichern\" />\n";                
                    echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";                
                    echo "            <input type=\"hidden\" name=\"".session_name()."\" ".                                                            "value=\"".session_id()."\" />\n";                
                    echo "    </ol>\n";                
                    echo "</form>\n";                
                    echo "<p>\n"; 
PHP-Code:
	
	
if(isset($_POST['submit']) AND "Rechte speichern" == $_POST['submit']) {            
                 if(!isset($_POST['rights'])) {                
                    echo "<p class=\"error\">\n";                
                    echo "    Sie müssen mindestens ein Recht angeben.\n";                
                    echo "</p>\n";           
                 } else {  
                     // alte Reche löschen            
                     $sql = "DELETE FROM                            
                                'user_rights'                        
                            WHERE                            
                                'UserID' = '".$_SESSION['uid']."';";                
                    mysql_query($sql) OR die(mysql_error());             
                                  
                    // Neue Rechte                
                    foreach($_POST['rights'] as $right) {                    
                        $sql = "INSERT INTO                                
                                    'user_rights'('UserID', 'Recht')                            
                                VALUES                                
                                    ('".$_SESSION['uid']."',                                 
                                    '".$right."');";                  
                        mysql_query($sql) OR die(mysql_error());                
                    }                
                    echo "<p>\n";                
                    echo "    Die Rechte wurden gespeichert.\n";                
                    echo "</p>\n"; 
PHP-Code:
	
	
// alte Reche löschen            
                     $sql = "DELETE FROM                            
                                `user_rights`                     
                            WHERE                            
                                `UserID` = '".$_SESSION['uid']."';";                
                    mysql_query($sql) OR die(mysql_error()); 
// Neue Rechte                
                    foreach($_POST['rights'] as $right) {                    
                        $sql = "INSERT INTO                                
                                    `user_rights´('UserID', 'Recht')                            
                                VALUES                                
                                    ('".$_SESSION['uid']."',                                 
                                    '".$right."');";                  
                        mysql_query($sql) OR die(mysql_error());                
                    } 
Aber wo liegt der Fehler in //Neue Rechte ?
sorry hatte ausversehn den Post schon abgeschickt bevor ich fertig war...
 
          
Kommentar