kostenloser Webspace werbefrei: lima-city


Login Script und Admin zugriff

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    Also ich habe ein Problem.

    Ich habe ein loginscript geschrieben es l?uft auch soweit nur m?chte ich nun dort ihrgendwie einen admin zugriff machen

    was ich bis jetzt gemacht habe:

    login
    auslog
    register
    userliste (ausgelesen aus der datenbank)

    was ich jetzt noch brauche

    eine abfrage um einen admin auf einen gesch?tzen bereich lassen und einen user auf einen anderen.

    damit ich dort f?r den admin eine admin.php anzeigen lassen kann







    login.php

    <?

    include 'sessionhelpers.inc.php';
    if (isset($_POST['login']))
    {
    $userid=check_user($_POST['username'], $_POST['userpass']);
    if ($userid!=false)
    login($userid);
    else
    echo 'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!logged_in())
    echo '<form method="post" action="index.php?site=member/login">

    <table >
    <tr>
    <td><label>Benutzername:</label> </td>
    <td> <input name="username" type="text"><br></td>
    </tr>
    <tr>
    <td><label>Passwort: </label> </td>
    <td><input name="userpass" type="password" id="userpass"><br></td>
    </tr>
    <tr>
    <td><input name="login" type="submit" id="login" value="Einloggen"> </td>

    </tr>
    </table>

    </form>';
    else
    echo '<a href="index.php?site=member/logout">Ausloggen</a>';
    echo '<p /><a href="index.php?site=member/logged_in">Check</a>';
    ?>





    sessionhelpers.inc.php
    <?

    function connect()
    {
    include("config.php");
    $con= mysql_connect("$dbhost","$mysqlname","$dbpass") or die(mysql_error());
    mysql_select_db("$dbname",$con) or die(mysql_error());


    /*$con= mysql_connect('localhost','root','') or die(mysql_error());
    mysql_select_db('login',$con) or die(mysql_error());*/
    }

    function check_user($name, $pass)
    {
    $sql="SELECT UserId
    FROM us_blacksoul
    WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
    LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    if ( mysql_num_rows($result)==1)
    {
    $user=mysql_fetch_assoc($result);
    return $user['UserId'];
    }
    else
    return false;
    }

    function login($userid)
    {
    $sql="UPDATE us_blacksoul
    SET UserSession='".session_id()."'
    WHERE UserId=".$userid;
    mysql_query($sql);
    }

    function logged_in()
    {
    $sql="SELECT UserId
    FROM us_blacksoul
    WHERE UserSession='".session_id()."'
    LIMIT 1";
    $result= mysql_query($sql);
    return ( mysql_num_rows($result)==1);
    }

    function logout()
    {
    $sql="UPDATE us_blacksoul
    SET UserSession=NULL
    WHERE UserSession='".session_id()."'";
    mysql_query($sql);
    }

    connect();
    ?>






    hoffe ihr k?nnt mir helfen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hi,
    also ich w?rde es so machen (ist jedoch aufwendiger)
    du gibst dem user der sich anmeldet einen Status zb User und die Admins haben halt status Admin

    <?
    //hier das script zur datenbank connect
    $sql = "SELECT * FROM users WHERE Nickname='$nick';";
    $result = mysql_query($sql);
    $data = mysql_fetch_assoc($result);
    $status = $data['Status'];
    if ($status == "Admin") {
    //adminseite
    }
    else {
    //userseite
    }
    ?>
    naja bedeutet leider mehr code is aber ganz simpel

    mfg gigaman
  4. c*********c

    Du k?nntest den Status (oder woran auch immer man erkennen kann, zu welchem Typ der User geh?rt) mit der return-Anweisung der Funktion check_user zur?ckgeben.

    Beispiel:

    // Funktion: check_user
    function check_user($name, $pass)
    {
    $sql = "SELECT UserId, typ FROM us_blacksoul
    WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
    LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    // --------------------------
    $row = mysql_fetch_assoc($result);
    $typ = $row['typ'];
    $userid = $row['UserId'];
    $array = array($typ, $userid);
    // --------------------------
    
    if (mysql_num_rows($result) > 1)
    {
    return $array;
    }
    else
    {
    return FALSE;
    }
    
    
    }



    // login.php
    include 'sessionhelpers.inc.php';
    if (isset($_POST['login']))
    {
    $array = array();
    $array = check_user($_POST['username'], $_POST['userpass']);
    
    if ($array[0] == "Administrator" AND isset($array[1]))
    {
    // Dieser Code wird ausgef?hrt, wenn sich der Admin eingeloggt hat
    }
    elseif($array[0] == "User" AND isset($array[1]))
    {
    // Wenn sich ein User eingeloggt hat, dann ...
    }
    else
    {
    print("<b>Fehler:</b> Das Einloggen schlug fehl!");
    
    // restlicher Code



  5. ich hab es so. Ich wei? nicht ob das hilft

    if(!isset($_SESSION["username"])) 
       { 
       echo "Bitte erst <a href=\"error.html\">einloggen"; 
       exit; 
       }


    Haupt wenn man if oder so ne anweisung hat und falsch ist (das wird n?mlich bei mir includet auf jeder seite) muss man exit einsetzen damit die seite net weiter aufgebaut wird

    EDIT: Ubs Hab da was falsch gelesen.. du willst zwei teilen ... Entschuldigung

    Beitrag ge?ndert am 9.08.2005 02:43 von bilo
  6. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    vielen dank f?r eure hilfe ich werde es gleich ma testen:cool:
  7. m**l

    was bilo hat ist nur ob der User bereits eine Session hat. Das hat gar nichts mit dem Problem zutun.

    ich w?rde es wie compactdisc machen ist die beste L?sung...
  8. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    compactdisc


    k?nntest du mir deinen code mal in meinen eingebaut zeigen weis nix damit anzufangen ihrgendwie.
    und wie sieht man ob man admin ist, die arrays sind doch bei user und admin alle gleich
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!