Logo - MyWebsolution.de
User gesamt  :  2370018
User online  :  4
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Workshops » Nur admin darf user erstellen

Seite: 1 Posts pro Seite: 5 10 20
Autor Thread
01.10.2008 22:44 Uhr Nur admin darf user erstellen
Sleepers
User
 
registriert 01.10.2008
wohnt in
Beiträge 1
Hallo,
folgendes Problem:
ich will das nur der admin user erstellen darf. die user bekommen vom admin name und passwort zugeteilt und können sich damit nur auf die user seite einloggen.
über dasselbe loginformular soll sich der admin anmelden und in den adminbereich gelangen, wo er user anlegen, bearbeiten und löschen kann.
habe die tabellen "user" und "user_rechte" erstellt und einen admin angelegt. "eine login.php" angelegt mit dem formular zum einloggen.
PHP:

<?php
    error_reporting
(E_ALL);

    
$MYSQL_HOST 'localhost';
    
$MYSQL_USER '';
    
$MYSQL_PASS '';
    
$MYSQL_DATA '';

    
$connid = @mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS) OR die("Error: ".mysql_error());
    
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());

    
// liefert die Rechte eines Users ..
    
function getRights()
    {
        
$rights = array();
        
// .. indem die Rechte eines User aus der Datenbank ausgewählt werden..
        
if(isset($_SESSION['UserID'])){
            
$sql "SELECT
                            Recht
                    FROM
                            User_Rechte
                    WHERE
                            UserID = '"
.$_SESSION['UserID']."'
                   "
;
            
$result mysql_query($sql) OR die ("<pre>\n".$sql."</pre>\n".mysql_error());
            
$rights = array();
            
// .. und als array zurückgegeben werden
            
while($row mysql_fetch_assoc($result))
                    
$rights[] = $row['Recht'];
        }
        return 
$rights;
    }

    
// Loggt einen User ein, ..
    
function doLogin($ID)
    {
        
// .. indem die aktuelle Session ID in der Datenbank gespeichert wird
        
$sql "UPDATE
                        User
                SET
                        SessionID = '"
.mysql_real_escape_string(session_id())."',
                        IP = '"
.$_SERVER['REMOTE_ADDR']."'
                WHERE
                        ID = '"
.$ID."'
                "
;
        
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());

        
// Daten des Users in der Session speichern
        
$sql "SELECT
                        Nickname
                FROM
                        User
                WHERE
                        ID = '"
.$ID."'
               "
;
        
$result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());

        
$row mysql_fetch_assoc($result);
        
$_SESSION['UserID'] = $ID;
        
$_SESSION['Nickname'] = $row['Nickname'];
        
// Rechte in der Session speichern
        
$_SESSION['Rechte'] = getRights();
    }

    
// Session starten
    
session_start();

    if(isset(
$_POST['submit']) AND $_POST['submit']=='Einloggen'){
        
// Falls der Nickname und das Passwort übereinstimmen..
        
$sql "SELECT
                        ID
                FROM
                        User
                WHERE
                        Nickname = '"
.mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                        Passwort = '"
.md5(trim($_POST['Passwort']))."'
               "
;
        
$result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        
// wird die ID des Users geholt und der User damit eingeloggt
        
$row mysql_fetch_assoc($result);
        
// Prüft, ob wirklich genau ein Datensatz gefunden wurde
        
if (mysql_num_rows($result)==1){
             
doLogin($row['ID']);
             echo 
"<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
             echo 
"Sie wurden erfolgreich eingeloggt.<br>\n".
                  
"Zur <a href=\"index.php\">Startseite</a>\n";
        }
        else{
             echo 
"Sie konnten nicht eingeloggt werden.<br>\n".
                  
"Nickname oder Passwort fehlerhaft.<br>\n".
                  
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
        }
    }
    else{
        echo 
"<form ".
             
" name=\"Login\" ".
             
" action=\"".$_SERVER['PHP_SELF']."\" ".
             
" method=\"post\" ".
             
" accept-charset=\"ISO-8859-1\">\n";
        echo 
"Nickname :\n";
        echo 
"<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
        echo 
"<br>\n";
        echo 
"Passwort :\n";
        echo 
"<input type=\"password\" name=\"Passwort\">\n";
        echo 
"<br>\n";
        echo 
"<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
        echo 
"<br>\n";
        echo 
"<a href=\"passwort.php\">Passwort vergessen</a>\n";
        echo 
"</form>\n";
    }
?> 


ich guck da jetzt seit stunden drauf und stehe voll aufm schlauch.
wie kann ich denn die rechte beim login abfragen? so das der admin in den adminbereich und die user nur in den userbereich kommen?
Profil ansehen
01.10.2008 23:21 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
PHP:
<?php
if(isset($_SESSION['Rechte']) AND in_array("Admin"$_SESSION['Rechter'])){
//Admin seite anzeigen
}
else{
echo 
"Sry, keine Rechte :(";
}
?>



Profil ansehen Mail senden
Seite: 1 no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik