Precedente :: Successivo |
Autore |
Messaggio |
concorde27 Utente adolescente
Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Mar Ott 10, 2006 6:08 pm Oggetto: Php 5 Sessioni |
|
|
Ho un problema con le sessioni. Il mio problema riguarda la conservazione del valore di una variabile all'interno di una sessione. Ad esempio ho due pagine php che necessitano del valore di una variabile.
Nella prima pagina ho avviato la sessione <?php session_start(); .... e quindi ho settato il valore di una variabile $var. A questo punto il form mi rimanda ad un'altra pagina e lì ho propagato la sessione con session_start() e session_id([SID]). Il problema è che nella pagina successiva $var non c'è, è stata annullata. Ho letto che con PHP5 session_register() non si può usare, ho provato anche ad usare le variabili $_SESSION ma non riesco a mantenere la variabile. In più nel file PHP.INI il register_global è di default disattivato per ragioni di sicurezza.
Qualcuno mi può consigliare una soluzione al problema, mantenendo la propagazione del Session ID ed evitando l'uso del cookie se possibile?
GRAZIE! |
|
Top |
|
|
vinz Amministratore
Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Mar Ott 10, 2006 6:10 pm Oggetto: |
|
|
Hai già guardato nel manuale ufficiale in italiano?
http://it2.php.net/manual/it/ref.session.php _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
|
abaddon Utente adulto
Registrato: 05/04/04 16:32 Messaggi: 2033
|
Inviato: Mar Ott 10, 2006 6:20 pm Oggetto: |
|
|
il sessionid lo trasporti come variabile GET o POST? altrimenti lo perdi |
|
Top |
|
|
vinz Amministratore
Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Mar Ott 10, 2006 7:34 pm Oggetto: |
|
|
abaddon ha scritto: | il sessionid lo trasporti come variabile GET o POST? altrimenti lo perdi |
C'è anche la possibilità di trasportarlo attraverso i cookies (come fa, per esempio, di default il non forum), ma credo che a concorde27 questa opzione non interessi. _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
|
antonio Utente adolescente
Registrato: 18/02/06 12:07 Messaggi: 396
|
Inviato: Mar Ott 10, 2006 8:18 pm Oggetto: |
|
|
ma php mi sembra faccia tutto in automatico; almeno io ho sempre fatto session_start(); e poi leggo e scrivo l'array $_SESSION[]
se la sbriga lui se usare i cookie o meno:
settare l'id di sessione penso sia solo una questione di usare un modo "più manuale" |
|
Top |
|
|
concorde27 Utente adolescente
Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Mar Ott 10, 2006 9:36 pm Oggetto: |
|
|
abaddon ha scritto: | il sessionid lo trasporti come variabile GET o POST? altrimenti lo perdi |
la SID mi viene portata correttamente, chiedevo come mai non mi porta le variabili session_register("var1","var2") anche se mantengo nelle pagine successive la sessione... e se riuscite fatemi un esempio di codice per come tenere alcune variabili in più pagine a patto cmq che si mantenga la sessione. |
|
Top |
|
|
vinz Amministratore
Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Mar Ott 10, 2006 9:40 pm Oggetto: |
|
|
Guarda l'esempio del manuale ufficiale, più "autorevole" di quello! _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
|
concorde27 Utente adolescente
Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Mar Ott 10, 2006 9:46 pm Oggetto: |
|
|
Vi riporto il mio problema così mi aiutate a capire dove sbaglio:
nel primo file
Codice: | <?php session_start(); $id= session_id() .... $valido=mysql_num_rows($query); poi c'è un form action"conferma.php?id=<php>" |
mi chiama conferma.php e passo il SID
Codice: | <?php
session_start();
session_id($_REQUEST['id']);
e riesco a beccarmi sia l'id che tutti gli altri $_POST del form. |
Il problema è che voglio nella seconda pagina anche $valido. Ho provato nella prima pag con session_register("valido"),$_SESSION['valido'] ma facendo un echo $valido o echo $_SESSION['valido'] nella seconda pag non vedo nulla.
Non so se ho illustrato bene il problema, cmq non vorrei andare sui cookie per evitare che il client non li abbia abilitati. Oppure dite che devo procedere con i cookie? |
|
Top |
|
|
vinz Amministratore
Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Mar Ott 10, 2006 9:55 pm Oggetto: |
|
|
Nella prima pagina devi fare anche $_SESSION['valido'] = $valido. _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
|
concorde27 Utente adolescente
Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Mar Ott 10, 2006 10:16 pm Oggetto: |
|
|
vinz ha scritto: | Nella prima pagina devi fare anche $_SESSION['valido'] = $valido. |
Ok avevo fatto anch'io così, ho controllato anche che venisse settato correttamente lo stesso SID in entrambe le pagine ed è così infatti. Ma la variabile di sessione 'valido' è persa. Quindi devo per forza postarla per non perderla? (scusate come faccio? )
Grazie intanto vinz e abaddon per l'aiuto! |
|
Top |
|
|
abaddon Utente adulto
Registrato: 05/04/04 16:32 Messaggi: 2033
|
|
Top |
|
|
concorde27 Utente adolescente
Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Mer Ott 11, 2006 9:50 pm Oggetto: |
|
|
Ho sistemato! C'era un problema di assegnamento della variabile, cmq tutto ok ora. Grazie a tutti per l'aiuto! |
|
Top |
|
|
concorde27 Utente adolescente
Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Sab Ott 14, 2006 2:38 pm Oggetto: |
|
|
prova.php:
Codice: |
session_start();
$_SESSION['ciao']="CIAO MONDO";
if (isset($_SESSION['ciao']))
header("Location: prova5.php");
|
prova5.php:
Codice: |
session_start();
echo $_SESSION['ciao'];
|
Qualcuno che ha installato il server Apache riesce a provare questo codice per vedere se sulla seconda pagina stampa correttamente "CIAO MONDO"?
Temo che i problemi che ho avuto siano nel php.ini, in pratica faccio partire il browser e avvio prova.php che mi rimanda a prova5.php che però non stampa nulla. Mantenendo però aperto il browser se faccio ripartire la pagina prova.php mi rimanda a prova5.php ma in questo caso mi stampa la stringa. Soluzioni? (Ho installato WAMP5) |
|
Top |
|
|
antonio Utente adolescente
Registrato: 18/02/06 12:07 Messaggi: 396
|
Inviato: Sab Ott 14, 2006 3:06 pm Oggetto: |
|
|
il codice è giusto... l'ho potuto provare sotto linux con queste conf:
apache2 - php4
jetty6 - php5
la tua conf non l'ho... però per risolvere ti conviene fare un bel
<php_info>
e vedi come sono le con!! un idea è che non hai i permessi per scrivere nella cartella di salvataggio delle sessioni!!! |
|
Top |
|
|
vinz Amministratore
Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Sab Ott 14, 2006 4:02 pm Oggetto: |
|
|
antonio ha scritto: | e vedi come sono le con!! un idea è che non hai i permessi per scrivere nella cartella di salvataggio delle sessioni!!! |
Siamo stati già in due ad averti dato questo consiglio... Due indizi fanno una prova? _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
|
|