Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Sessioni e variabili

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626

    Sessioni e variabili

    Ciao a tutti,
    In questi giorni mi è capitato una cosa strana e non capisco da cosa dipende.
    Mi è stato chiesto di aggiungere alcune sezioni ad un sito già creato (ver PHP 5.2.5). Dato che il sito è alquanto vecchio ho dato una sistemata al sistema di autenticazione.In pratica in ogni pagina veniva fatto
    un
    session_register($username);
    session_register($password);

    e si controllava se erano settate.
    Io ho invece cambiato con l'uso del classico $_SESSION (rimovendo i session_register)
    Codice PHP:
    login.php
    ...
    if(
    username e passwd sono nel db){
         
    $_SESSION['user'] = $row//la riga del db;

    e fatto una funzione che verifica se l'utente è loggato e se ha il ruolo giusto, da richiamare nelle pagine di amministrazione:
    Codice PHP:
    function requireRole($roles = array('admin')){
          if(!isset(
    $_SESSION['user']))
                return 
    false;
          if(!
    in_array($_SESSION['user']['role'], $roles))
                return 
    false;
          return 
    true;


    Tutto sembrava funzionare per il meglio, ma in una pagina php di amministrazione $_SESSION['user'] veniva cambiata (portando a fallire il login se si cambiava pagina)
    Ho scoperto che il codice in questione era:
    $user = mysql_fetch_assoc($query);

    infatti, cambiando nome alla variabile $user la variabile $_SESSION['user'] non veniva toccata.

    Qualcuno mi sa spiegare questa relazione tra $user e $_SESSION['user'] ? io proprio non ci arrivo
    Ultima modifica di boots; 28-01-2014 a 10:23

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.