Visualizzazione risultati 1 fino 7 di 7

Discussione: Uso di session_register() !!

  1. #1
    Guest

    Exclamation Uso di session_register() !!

    Salve,
    sto usando, sul mio spazio di altervista, un'applicazione PHP nella quale si fa uso delle funzioni session_register(), session_is_registered() ecc.
    In paritca ho notato che si verifica il seguente fenomeno:
    In un file redirect.php ho le seguenti istruzioni:

    ...
    $user_is_logged_in = true;
    session_register ("user_is_logged_in");

    ....

    dopo di che grazie all'istruzione

    header("Location: $location/../mindex.php");

    vengo rediretto alla pagina mindex.php e qui c'e' il controllo

    ....
    if (!session_is_registered("user_is_logged_in") ) {
    echo "<h1>Authentication problem</h1>";
    ........
    }
    ....

    Come mai il suddetto controllo e' sempre falso? La variabile user_is_logged_in
    l'ho registrata nello script redirect.php come mai quando passo all'altro script non mi ritrovo piu' la variabile registrata?
    Grazie per l'aiuto

  2. #2
    Guest

    Predefinito

    prova con:
    Codice PHP:
    if( isset($_SESSION['user_is_logged_in']) == false )
    {
    die(
    'Invalid Autentication');
    }
    ciao ^__^

  3. #3
    Guest

    Predefinito Non funziona!!

    Ho provato ad usare nel primo script l'istruzione
    $_SESSION['user_is_logged_in'] =true;

    e in quello seguente in cui faccio il controllo

    if (isset($_SESSION['user_is_logged_in']) == false)

    purtroppo questo controllo e' sempre falso!!
    Il fatto che prima del suddetto controllo io richiami la funzione session_start() puo' provocare qualche problema?

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    session_start() lo devi scrivere prima di qualsiasi output, ti consiglio di scriverlo nella prima riga di codice.
    Questo riga di codice...
    [php]if (isset($_SESSION['user_is_logged_in']) == false) [php]
    ... significa se la variabile non esiste fai quello che devi fare altrimenti fai qualcos'altro. Questo perché isset($variabile) produce un valore booleano (vero o falso) e poi viene confrontato con false. Quindi se la variabile non esiste il valore di tutta l'espressione è vero.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    Ho provato ma non continua a funzionare. Non riescoa venirne a capo poiche' non e' un'applicazione mia ma si tratta di un calendario, che ho trovato su internet (http://www.pbcs.org/) tu conosci se altri l'hanno installato su altervista?
    Grazie per l'aiuto.

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Quindi devi mettere:
    Codice PHP:
    if (isset($_SESSION['user_is_logged_in']))
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Exclamation

    La cosa piu' assurda e' che mi sono scritto due semplici script e li ho messi nel mio spazio web e tutto sembra funzionare:
    PROVA.PHP
    <?php
    $user_is_logged_in = true;

    session_register('user_is_logged_in');
    header("Pragma: no-cache");
    header("Location: nextpage.php");

    ?>

    NEXTPAGE.PHP
    <?php
    session_start();
    if (!session_is_registered('user_is_logged_in')) {
    echo "user not setted...";
    }
    else{
    echo "user setted...";
    }
    ?>
    <p>
    To continue, <a href="prova.php?<?php echo strip_tags(SID); ?>">click
    here</a>.
    </p>

    non appena metto le stesse istruzioni negli script di questo calendario(www.pbcs.org) non funziona piu' nulla.
    Sui vostri server register_globals e' OFF o ON?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •