Utilizzo delle sessioni

2 contenuti / 0 new
Ultimo contenuto
Utilizzo delle sessioni

Salve a tutti,
Sono ore che sbatto la testa su problemi relativi all'utilizzo di variabili di sessione.
Vi sarei grato se riusciste a darmi una mano, provo a spiegarvi il mio problema:

dovrei accedere da un link in page.tpl ad una pagina (un brevissimo script php) che, se cliccato, mi setti una mia variabile di configurazione che mi servirà in tutte le pagine del sito per mostrare o no delle cose...
Lo scritp altro non deve fare che:

<?php
session_start
();
$_SESSION['USAGE']='base';
header("Location:".$_REQUEST['page']);  // torna alla pagina da cui sei stato chiamato
?>

Quindi la pagina ad occhio umano non si vedrà neanche (perciò non ho utilizzato page.tpl)

Ma se faccio in questo modo al ritorno alla pagina non mi vede assolutamente niente (mentre se all'interno di page.tpl mi creo delle variabili di sessione me le "ricorda" benissimo); quindi direi che il problema è solo nelle pagine "esterne" a drupal.

Seguendo i consigli di Enzodrup mi sono guardato i file *.inc e ho provato a capirci qualcosa :D
ora il mio codice della pagina esterna è il seguente:

<?php
session_start
();
require_once
'../../includes/bootstrap.inc';
include
"../../includes/session.inc";
include
"../../includes/database.mysql.inc";
include
"../../includes/database.inc";
sess_read($_REQUEST['id_s']);  //id vero e proprio della sessione
$_SESSION['USAGE']='base';
print_r($_SESSION);
    if(isset(
$_SESSION['USAGE']) && $_SESSION['USAGE']=='base'){
    
//header("Location:".$_REQUEST['page']);
    
echo "<a href='".$_REQUEST['page']."'>torna</a>";
    }
?>

ma purtroppo il problema non cambia... qualcuno sa aiutarmi?
grazie per l'attenzione!

P.S.
Il problema sembra che non mi restituisca nulla la funzione:

<?php
 
return  _db_query($query);  //database.inc riga 200
?>

perchè la variabile globale $active_db non va bene...
help me please!

Personalmente siccome il tuo script aggiungerà un informazione all'utente la soluzione pulita sarebbe quella di aggiungere questa informazione all'oggetto globale user, quindi il tuo link punterà ad una pagina di drupal (meglio se resta all'interno della struttura del sito, sopratutto se è oper così poche righe di codice), e da quella pagina (dopo aver bilitato la possibilità di caricare script PHP inserisci:

<?php
// Richiama l'iggetto globale user per l'utente corrente
global $user;
// Controllo se non è l'utente anonimo
if($user->uid != 0) {
 
// Setto il valore per l'utente corrente.
 
$user->miovalore = 'base';
}
// Redirigo l'utente alla home page
drupal_goto('node');
?>

Volendo fare le cose proprio per benino la cosa da fare sarebbe di mettere questi dati in $user->data, serializzando all'uscita e deserializzandolo all'entrata dell'utente, quindi dipende dall'esigenza.

Ciao
Marco
--
My blog
Working at @agavee