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 |
|
 |
|