Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    non funzionano le variabili di sessione

    Salve,
    ho necessita di utilizzare le variabili di sessione, ma non sò perchè non mi funzionano, all'inizio di ogni pagina inserisco

    session_start();

    poi nella stessa pagina
    session_register('x); (x è una variabile che contiene un valore)

    poi provo subito dopo a stampre il contenuto ma non stampa niente... nemmeno nella pagina successiva....

    echo $HTTP_SESSION_VARS['x'];


    ho controllato le impostazione del mio mysql
    register_globals On On

    sembrano ok...

    da cosa può dipendere .... sono disperato...

  2. #2
    le confusioni non mancano...

    register globals e mysql non hanno alcuna parentela. Per passare le variabili di sessione tra le varie pagine devi sempre appartenere alla stessa sessione e quindi il session_start() deve trovarsi ad ogni inizio pagina.

    Utilizza poi l'array di sessione $_SESSION senza usare session_register()

    http://www.php.net/manual/it/ref.session.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    allora ovviamente mysql è stato un lapsus... volevo dire php...

    poi ho provato ad usare $_SESSiON .... in pratica nella stessa pagina se prima l'assegno a $_SESSION e poi lo visualizzo va, invece se tento di recuperarlo nella pagina successiva me la ritrovo sempre vuota...

    ovviamente entrambe le pagine inziano con session.start();

  4. #4
    pag1.php
    Codice PHP:
    <?php
    session_start
    ();

    $_SESSION['pippo'] = 'che bello sono pippo';

    echo 
    "<a href = 'pag2.php'>Vai a pag. 2</a>";

    ?>
    pag2.php
    Codice PHP:
    <?php
    session_start
    ();

    if(!empty(
    $_SESSION))  {  print_r($_SESSION);  }
         else echo 
    '$_SESSION è vuoto';

    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    mi restituisce $_session è vuoto.... ma come è possibile??

  6. #6
    Originariamente inviato da pippuzzo80
    mi restituisce $_session è vuoto.... ma come è possibile??
    forse non hai cookies abilitati. aggiungi la stampa del session id e vedi se cambia la sessione.

    metti dopo session_start() in entrambe le pagine

    echo session_id;

    il valore deve essere identico per entrambe le pagine

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    sto impazzendo....


    mi stampa sempre lo stesso id di sessione..... ma come è possibile che allora non mi funzioni??

    il bello è che se lo metto online su un mio spazio web, allora funziona....


    se eseguo phpinfo() sulla tabella SESSION ci sono queste impostazioni:
    session.auto_start Off Off
    session.bug_compat_42 Off Off
    session.bug_compat_warn On On
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain no value no value
    session.cookie_lifetime 0 0
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 1000 1000
    session.gc_maxlifetime 1440 1440
    session.gc_probability 1 1
    session.hash_bits_per_character 5 5
    session.hash_function 0 0
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path C:/php/sessionfiles C:/php/sessionfiles
    session.serialize_handler php php
    session.use_cookies On On
    session.use_only_cookies Off Off
    session.use_trans_sid 0 0

  8. #8
    forse non hai la visualizzazione degli errori attivata.
    error_reporting = E_ALL
    display_errors = On

    La cartella per i file di sessione deve esistere "C:/php/sessionfiles". Deve essere condivisa con tutti gli utenti.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    grazie!!

    ho creato la cartella ed adesso va .... però strano... non dovrebbe crearla in automatico?


    un'ultima cosa, adesso utilizzando $_SESSION funziona correttamente invece con session_register ancora no, ma in pratica quest'ultimo è deprecato?? può dipendere dal fatto che la mia versione è la 5.1.6?


    grazie ancora.

  10. #10
    Originariamente inviato da pippuzzo80
    grazie!!

    ho creato la cartella ed adesso va .... però strano... non dovrebbe crearla in automatico?


    un'ultima cosa, adesso utilizzando $_SESSION funziona correttamente invece con session_register ancora no, ma in pratica quest'ultimo è deprecato?? può dipendere dal fatto che la mia versione è la 5.1.6?


    grazie ancora.
    se e' deprecato lascialo perdere. In automatico il php non crea nulla.

    $_SESSION e' sempre registrato. L'unico limite e' che l'indice dell'array ha gli stessi limiti dei nomi delle variabili. Quindi niente numerico, caratteri strani proibiti ecc....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.