Newsgroup: it.comp.www.php
Titolo: [OT-sfogo] oggi funziona domani forse...

credo sia vivo...
sicuramente si prende gioco di me!!!
Il mio script [be mio non direi, l'ho solo modificato (forse troppo)].
Prima funzionava... ci giocherellavo... ho modificato tutti gli elementi
grafici, gli ho messo le tabbelle colorate, le classi css... e poi?
E poi non mi riconosce più le sessioni....
Mannaggia a me che non faccio mai copie di BACKUP!!!!!!!!
Però è strano...
Lo so, succederà come le altre volte... all'improvviso ritornerà a
funzionare...
A volte mi chiedo se dipende da un cron burlone del server che mi ospita...
Chissà...
Aspetto... vi farò sapere...
Luciano Amodio

<?
  session_start ();
  $autorizer = $_SESSION;
  if (isset($autorizer["authorizer"]["livello"])){
    if ($autorizer["authorizer"]["livello"]<$request_livel){
   require "autorizer/low_livel.htm";
      exit;
    }
  } else {
    redirect( "admin.php" );
  }
?>
Questo è lo script che non funziona (cioè mi esegue il redirect() )
Ho aggiunto una riga sotto la 3 ($autorizer = $_SESSION;
) e funziona...
Voi penserete che è la riga giusto?
Quindi questo significa che se la tolgo non funziona... giusto?
1) non funziona
2) aggiungo una riga
3) funziona
cosa succede se torno allo stato precedente? (undo dell'editor di testo)
succede che funziona lo stesso...
?????????????????????????
Luciano esterrefatto

redirect( "admin.php" );
Questo cosa sarebbe?
Un header("Location: ...)?
In tal caso, viene passato il SID? Perche', se non viene passato
attraverso l'url, un browser con i cookies disabilitati perdera' il
session id.
-- 
http://e-0.org

    if ($autorizer["authorizer"]["livello"]<$request_livel){
e questo?
$request_livel cos'e'? Una variabile passata attraverso l'url?
In tal caso sarebbe meglio far riferimento a $_GET[request_livel]
-- 
http://e-0.org

 Un header("Location: ...)?
redirect()
è una funzione che mi serve per aggirare un prblema noto con i server iis
praticamente svolge le stesse funzioni di header(location:) ma con più
controlli.

 In tal caso sarebbe meglio far riferimento a $_GET[request_livel]
no, non č una variabile passata attraverso url.
La parte di script che tu vedi č inclusa in un'altro script dove
$request_livel č dichiarata.
Ma anche se cosě non fosse non č questo che provocherebbe il redirect ()
dello script

 A volte mi chiedo se dipende da un cron burlone del server che mi
ospita...
Non so se stai risolvendo il problema con l'aiuto degli altri, non ho
proprio tempo (devo ancora organizzare il compleanno, studiare per 7 esami
all'università e consegnare alcuni lavori), ma ti volevo dire che spesso
anche a me, agli inizi, capitava di arrivare a pensare che ci fosse una
sorta di casualità in rarissimi casi che impedisse il normale funzionamento
degli script in php... tuttavia ho sempre dovuto, in un modo o nell'altro,
risolverli.
Ho così scoperto che il motivo c'èra sempre. Una volta sono incappato in un
bug del php!
Ad ogni modo sbattendoci la testa acquisirai esperienza, la cosa più
preziosa che un programmatore intelligente deve avere.
Buona fortuna!
Ludovico Grossi

é successo di nuovo...
Prima funzionava e ora non più...
A questo punto mi sorge un dubbio:
possibile che sia un problema di sessioni e di cookie?
//questo è lo script per registrare la sessione
session_start();
$_SESSION["authorizer"] = array ("username" => $username, "password"=>
$password, "livello" => $livello[0]);
// questo invece per richiamarla
session_start ();
$autorizer = $_SESSION;
// questo qui lo uso con il logout
session_register("autorizer");
session_destroy();
Adesso può accadere che la finestra del browser si chiuda... in tal caso
cosa succede alla sessione?
Viene registrata e tenuta in memoria per 3600 secondi o cosa?
Sarà questo il problema?
Luciano

Viene registrata e tenuta in memoria per 3600 secondi o cosa?
Se il browser non utilizza i cookies, allora la perdi (a meno di non
andare a cercare, nella history, l'indirizzo con l'ultimo session id
nell'url).
Se il browser utilizza i cookies, allora la perdi ugualmente se php e'
configurato con le impostazioni di default:
*********************************************
session.cookie_lifetime integer
session.cookie_lifetime specifies the lifetime of the cookie in
seconds which is sent to the browser. The value 0 means "until the
browser is closed." Defaults to 0.See also session_get_cookie_params()
and session_set_cookie_params().
*********************************************
(da 
http://www.php.net/manual/en/ref.session.php
)
-- 
http://e-0.org