• User

    aiuto su php login multiutente

    Buona sera a tutti,
    ho un problema con questo codice PHP, riesco ad effettuare il login con utenti diversi, ognuno in una pagina diversa...
    Il problema che trovo è che voglio implementare in questo codice una funzione che mi fa inserire un utente di nome ADMIN che solo lui può entrare in tutte le pagine degli altri utenti.
    Grazie anticipatamente per l'aiuto...;)

    Vi posto i files che uso:

    1. "login.php"
      [INDENT]code: <?
      if (isset($_COOKIE[session_name()])) setcookie(session_name(), '', time() - 90000);
      ?>
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Login</title>

    </head>

    <body>
    <?
    function check($user,$password){
    include("_private/utenti.php");

    foreach($utenti as $user_ => $password_){
    if (($user==$user_) AND ($password==$password_)) {
    return true;
    }
    }

    return false;
    }

    function form_login(){
    ?>
    <form id="login" action="<?=$PHP_SELF?>" method="post">
    <div style="text-align:center;margin-left:auto;margin-right:auto;">NON RISULTI LOGGATO!!!
    <br />
    Utente:<br>
    <input type="text" name="utente" size="20" maxlength="255"><br>
    Password:<br>
    <input type="password" name="password" size="20" maxlength="255"><br><br>
    <input type="submit" value=" OK ">
    </div>
    </form>
    <?
    echo "<br>\n"; #creo una nuova linea
    echo "L'ID di sessione è: ";
    echo session_id(); #visualizza l'id di sessione
    echo "<br>\n";
    ?>
    <? }

    if(isset($_POST["utente"])){
    if (check($_POST["utente"],$_POST["password"])){
    session_start();
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    if($_POST["utente"] == "pippo"){include("_private/pippo.php");}
    if($_POST["utente"] == "pepo"){include("_private/pepo.php");}
    }else{
    form_login();
    }
    }else{
    form_login();
    }
    ?>

    </body>
    </html>
    [/INDENT]2) "logout.php"
    [INDENT]code: <?
    // Unset dell'array $_SESSION
    $_SESSION = array();
    // Elimina il cookie del sessionID
    if (isset($_COOKIE[session_name()])) setcookie(session_name(), '', time() - 86400);
    // Distruggi i dati di sessione
    session_destroy();
    header("Location: login.php");
    ?>
    [/INDENT]3) "pepo.php"
    [INDENT]code: <?
    session_start();
    if (!isset($_SESSION['utente']) && !isset($_SESSION['passwd'])){
    include("login.php");
    die();
    }
    if ($_SESSION["utente"] != "pepo") {
    include("login.php");
    die();
    }
    ?>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <p>Ciao pepo,questa è la pagina "pepo.php"
    <a href="logout.php">LOGOUT </a></p>
    <?
    echo "<br>\n"; una nuova linea
    echo "L'ID di sessione è: ";
    echo session_id(); l'id di sessione
    echo "<br>\n";
    ?>
    </body>
    </html>
    [/INDENT]4) "utenti.php"
    [INDENT]code: <?
    /*
    Per aggiungere un nuovo utente scrivere:
    $utenti["nome_utente"] = "password";
    Ad esempio, se si vuole aggiungere l'utente mario con password rossi, scrivere:
    $utenti["mario"] = "rossi";
    */

    $utenti["pippo"] = "pippo";
    $utenti["pepo"] = "pepo";
    ?>
    [/INDENT]