Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [PHP] aiuto sull' accesso a pagine riservate con login

    ciao a tutti... sapete dirmi come posso fare dopo il log in ad accedere a pagine protette?? Per esempio io ho creato un codice, che poi vi allegherò, da inserire ai capi di ogni pagina protetta, quindi dopo il login è possibile accederci, ma questo in parte non accade: dopo il login, ho impostato di renderizzare l' utente ad una pagina protetta chiamata home.php, fino a qui tutto bene, solo che quando dalla pagina home.php passo alla pagina inserisci.php (è una pagina protetta) mi reinderizza alla pagina di login!!! come posso fare per passare alle pagine protette una volta effettuato il login senza rifarlo ogni volta?? Ecco il codice che inserisco all' inizio di ogni pagina protetta:
    codice:
    <?php
    session_start();
    
    if(empty($_SESSION['mail']) || empty($_SESSION['password'])) {
    $errore_pagina = "Devi accedere o registrarti al sito per accedere alla pagina.";
    header("location:accedi.php?errore=606&606=accesso_non_consentito&return_accedi=$errore_pagina");
    exit;
    }
    
    ?>
    Grazie in anticipo

  2. #2
    Guaedando semplicemente il codice, se ti fa il redirect vuol dire che entra nell'if per cui una o entrambe le condizioni sono vere ovvero $_SESSION['mail'] e/o $_SESSION['password'] sono vuoti.
    Prova a fare un var_dump() di $_SESSION e vedi cosa contiene.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    ciao.. ho provato a effettuare il refresh della pagina, e mi reinderizza alla pagina di login... non riesco a capire quale sia l' errore.
    inoltre ho provato ad effettuare il var_dump() e l' esito è positivo, cioè mi restituisce tutti i dati del login corretti!!!

  4. #4
    Se $_SESSION['mail'] e $_SESSION['password'] sono popolati allora non può entrare nell'if, quindi è impossibile che ti faccia il redirect a meno che non ci sia dell'altro codice a seguire che faccia ciò.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    ti provo ad allegare il codice del login... magari si trova qui l' errore:
    codice:
    <?
    }
    
    function effettua_login()
    {
       // recupero il nome e la password inseriti dall'utente
       $mail      = trim($_POST['mail']);
       $password  = trim($_POST['password']);
       // verifico se devo eliminare gli slash inseriti automaticamente da PHP
       if(get_magic_quotes_gpc()) {
          $mail      = stripslashes($mail);
          $password  = stripslashes($password);
       }
    
       // verifico la presenza dei campi obbligatori
       if(!$mail || !$password) {
          $messaggio = urlencode("Non hai inserito la mail o la password");
          header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
          exit;
       }
       // effettuo l'escape dei caratteri speciali per inserirli all'interno della query
       $mail     = mysql_real_escape_string($mail);
       $password = mysql_real_escape_string($password);   
    
       // preparo ed invio la query
       $query = "SELECT ID FROM registrazionin WHERE mail = '$mail' AND password = MD5('$password')";
       $result = mysql_query($query);
       // controllo l'esito
       if (!$result) {
          die("Errore nella query $query: " . mysql_error());
       }
    
       $record = mysql_fetch_array($result);
    
       if(!$record) {
          $messaggio = urlencode('Nome utente o password errati');
          header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
       } else {
          session_start();
          $_SESSION['ID'] = "$ID";
          $_SESSION['mail'] = "$mail";
          $_SESSION['password'] = "$password";
          $messaggio = urlencode('Login avvenuto con successo');
          header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
          header("location: home.php?lang=it_IT");
       }
    }
    ?>

  6. #6
    ho scoperto da dove deriva il problema... Deriva dalla funzione di logout.... io ho scirtto la funzione di logout nel seguente modo:
    codice:
    Esci
    Ho provato a cancellare questa funzione e tutto funziona alla grande, ma reinserendola il login viene svolto parzialmente.... Sapete dirmi come posso ovviare a questo problema?? grazie

  7. #7
    Originariamente inviato da matteo11102009
    ho scoperto da dove deriva il problema... Deriva dalla funzione di logout.... io ho scirtto la funzione di logout nel seguente modo:
    codice:
    Esci
    Ho provato a cancellare questa funzione e tutto funziona alla grande, ma reinserendola il login viene svolto parzialmente.... Sapete dirmi come posso ovviare a questo problema?? grazie
    Perchè non provi a visualizzare l'html generato dall'istruzione che hai postato?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    ho provato a generarlo in html e mi visualizza "ESCI" con lo style css..

  9. #9
    Originariamente inviato da matteo11102009
    ho provato a generarlo in html e mi visualizza "ESCI" con lo style css..
    Quello è ciò che vedi sul browser. Prova visualizzare il sorgente della pagina.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    mi appare la funzione!!! solo che nn so cosa inserire per il logout

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.