Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    65

    Login ripetuta 2 volte per entrare nell'admin

    Ciao a tutti vi spiego il mio problema:
    Sto facendo un area riservata con unico accesso per un sito di inserimento gallerie. Ho strutturato il Database e creato tutte le pagine comprese quelle dell'Admin.
    Ora andando a fare il Login inserendo user e passw invece di accedere all'"index" del pannello mi riporta dinuovo sulla pagina di login... reinserendo user e passw mi parte l'index.
    Non riesco a capire come mai prima di entrare devo loggare due volte.
    Da premettere che lo stesso DB e le stesse pagine con lo stesso codice in un altro sito funziona correttamente.

    Qualcuno può indicarmi se nel codice ci sono degli errori che mi fanno ripetere l'operazione di login?

    di seguito riporto il codice sia della pagina di Login che dell'index che si dovrebbe aprire:

    Pagina LOGIN

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <style type="text/css">
    <!--
    body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: #232741;
    }

    .messaggi{
    color:#FF0000;
    font-weight:bold;
    }
    -->
    </style>
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>

    <body>
    <?
    include("../sistema/configurazione.php");
    include("../sistema/funzioni.php");

    if ((isset($_GET["act"]))AND($_GET["act"] == "logout")){
    logout();
    }

    if(isset($_POST["act"]) AND ($_POST["act"] == "login")){

    $user = format_stringa($_POST["username"]);
    $pass = format_stringa($_POST["password"]);

    apriDB();
    login($user, $pass);
    chiudiDB();
    }else{

    ?>
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td align="center"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center" valign="middle" background="../img/sf_login.gif">[img]../img/logo_login.gif[/img]</td>
    </tr>
    <tr>
    <td align="center" valign="middle" bgcolor="232741"><form name="form1" method="post" action="">
    <table width="320" border="0" cellspacing="2" cellpadding="0">
    <tr>
    <td width="38%" align="right"></td>
    <td width="62%"><label></label></td>
    </tr>
    <tr>
    <td align="right">[img]../img/user.gif[/img]</td>
    <td><label>
    <input name="username" type="text" class="small" id="username" size="30">
    </label></td>
    </tr>
    <tr>
    <td align="right">[img]../img/pass.gif[/img]</td>
    <td><input name="password" type="password" class="small" id="password" size="30"></td>
    </tr>
    <tr>
    <td></td>
    <td align="right"><div align="right">
    <label>
    <input name="act" type="hidden" id="act" value="login">
    <input name="entra" type="image" id="entra" src="../img/entra2.gif">
    </label>
    </div></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table></td>
    </tr>
    </table>
    <?
    }
    ?>
    </body>
    </html>


    Pagina INDEX

    <?
    session_start();
    include("../sistema/configurazione.php");
    include("../sistema/funzioni.php");
    check();
    apriDB();
    ?>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Fotografo Napoli | Marco Barbaro - AREA RISERVATA -</title>
    <style type="text/css">
    <!--
    body {
    background-color: #232741;
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    }
    a:link {
    color: #CC9900;
    text-decoration: none;
    }
    a:visited {
    text-decoration: none;
    color: #CC9900;
    }
    a:hover {
    text-decoration: none;
    color: #FFFFFF;
    }
    a:active {
    text-decoration: none;
    color: #CC9900;
    }
    a {
    font-size: 10px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    }
    .Stile1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #FFFFFF;
    }
    -->
    </style></head>

    <body>
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td align="center" valign="top"><table width="750" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center" valign="middle">[img]../img/testa_pannello.gif[/img]</td>
    </tr>
    <tr>
    <td><table width="100%" border="0" cellspacing="2" cellpadding="0">
    <tr>
    <td width="150" valign="top" bgcolor="#3F4361"><table width="100%" border="0" cellspacing="2" cellpadding="0">
    <tr>
    <td bgcolor="#232741">Album Pubblicati</td>
    </tr>
    <tr>
    <td bgcolor="#232741">Nuovo Album </td>
    </tr>
    <tr>
    <td bgcolor="#232741">Esci</td>
    </tr>
    </table></td>
    <td height="200" align="center" valign="top" bgcolor="#3F4361">

    <table width="550" border="0" cellspacing="2" cellpadding="0">
    <tr>
    <td bgcolor="#232741"><p class="Stile1">Benvenuto nell pannello di amministrazione
    <p class="Stile1">Per effettuare delle modifica o aggiungere informazioni puoi scegliere l'area di interessa dal men&ugrave; posto nella barra laterale di fianco.















    </p></td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </body>
    </html>
    <?
    chiudiDB();
    ?>

    Grazie a chi voglia rispondermi....

  2. #2
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    la funzione login() cosa fa? Da qualche parte dovrai dire di andare a finire da login.php a index.php se l'autenticazione è stata verificata

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    65
    Questo è il codice della funzione LOGIN che ho inserito:

    function login($user,$pwd){

    $sql = "SELECT utenti.id,utenti.username,utenti.password,utenti_r uoli.id_ruolo
    FROM utenti inner join utenti_ruoli
    ON utenti.id = utenti_ruoli.id
    WHERE utenti.username='$user' AND utenti.password='$pwd' and utenti_ruoli.id_ruolo = 1
    LIMIT 1";

    //echo $sql;
    $log = rs($sql);

    if (mysql_num_rows($log) > 0 ){
    session_start();

    $utente = mysql_fetch_array($log);

    $_SESSION["id_utente"] = $utente["id_utente"];
    $_SESSION["sessione_utente"] = "attiva";

    echo "<script>self.location.href='index.php'</script>";
    }else{
    echo stampa_msg("Accesso Negato..

    Riprovare");
    }
    }

    function logout() {
    session_start();
    $_SESSION["id_utente"] = "";
    $_SESSION["sessione_utente"] = "";
    session_destroy();
    echo "<script>self.location.href='login.php'</script>";
    }

    function check(){
    if (isset($_SESSION["sessione_utente"])){
    if ($_SESSION["sessione_utente"]!== "attiva" ){
    echo "<script>self.location.href='login.php'</script>";
    }
    }else{
    echo "<script>self.location.href='login.php'</script>";
    }
    }

    In pratica è solo la prima volta che inserisco la user e passw che mi ritorna alla login... la seconda volta che le rinserisco mi parte e funziona tutto.
    Dal pannello dell'idex poi quando faccio il logout mi ritorna sulla pagina di login. Se non chiudo il browser e rinserisco user e passw mi accede all'index alla prima volta, invece se chiudo il browser e lo riapro alla pagina di login devo, per accedere all'index devo rifare per 2 volte il login prima che parta. Sto impazzendo e non capisco l'errore dove sta!!!!

    Grazie per le risposte...

  4. #4
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Non so se sia esattamente questo il problema, però non capisco questo:


    function check(){
    if (isset($_SESSION["sessione_utente"])){
    if ($_SESSION["sessione_utente"]!== "attiva" ){
    echo "<script>self.location.href='login.php'</script>";
    }
    }else{
    echo "<script>self.location.href='login.php'</script>";
    }
    }

    Sia che la sessione sia "attiva" sia che no, rimandi sempre a login.php?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.