Newsgroup: it.comp.www.php
Titolo: Problemi con le sessioni

Premetto che sono un principiante(ma ve ne accorgerete dalla domanda).
sto progettando un interfaccia per inserire dati in mysql.
Nella pagina di inserimento ho i miei form
 con i value=<?=$TESTO ?> cosi' da mantenere il valori inseriti.
Ho registrato all'inizio della pagina con
session_register("TESTO");
la variabile TESTO.
Ora, vado ad aprire da web la mia pagina php.
Il campo TESTO e' vuoto, OK.
Inserisco un valore es.:PIPPO
Invio alla pagina di conferma che mi visualizza $TESTO="PIPPO"
e fin qui...
Premo il tasto back del browser.
Torno alla pagina iniziale e nel campo
 TESTO c'e' "PIPPO", ottimo: quello che volevo.
cambio PIPPO in PLUTO premo invio e...
sebbene nella querystring $TESTO=PLUTO nella pagina di conferma e' sempre
PIPPO
se tormo indietro il campo TESTO e' PIPPO!
In pratica una volta che ho registrato la variabile
 nella sessione non la posso piu' cambiare.
Come risolvo il problema?
 Datemi una mano per favore :o(

  Datemi una mano per favore :o(
Con session_register("nome") salvi il contenuto della variabile nome
nell'elemento $GLOBALS["nome"] dell'array $GLOBALS, modifica quello e
vedrai che funzionerà.
ciao

 ha scritto nel messaggio
news:20010802.004801...@tiscalinet.it...

Ma la variabile in questione nasce come nome del form...
<textarea name="TESTO" cols="50" rows="12">
<?=$TESTO ?>
</textarea>
come faccio?
non posso mettere <textarea name="$GLOBALS["TESTO"]"......
Mah! adesso provo a fare qualche esperimento...
Grazie!

 vedrai che funzionerà.
scusa ma, spulciando il manuale, ho trovato
$HTTP_SESSION_VARS["nome"]
e non $GLOBALS
e' la stessa cosa?

 come faccio?
non c'č nulla di diverso rispetto al normale. la pagina che contiene la
form puņ anche essere html puro. la variabile sarą passata ad uno script
php in cui č stata inizializzata una sessione e riservato un elemento di
un certo array che ne contiene il valore. mi spiego meglio:
file form.html:
<form method="GET" action="session.php">
<input type="text" name="testo">
<input type="submit">
</form>
file session.php
<?php
session_start();
session_register("testo");
$prova = $UN_CERTO_ARRAY["testo"];
echo "<br>$testo<br>$prova<br>";
?>
a quel punto il primo valore che tu darai alla variabile testo verrą
salvato nell'elemento di array $UN_CERTO_ARRAY["testo"] e fin tanto che
non spegnerai il browser o non distruggerai la sessione conterrą sempre
il primo valore che gli hai dato, cioč quello inserito nella form. C'č un
"a meno che"! puoi sempre intervenire direttamente sull'elemento 
$UN_CERTO_ARRAY["testo"]  e modificarne tu stesso il contenuto tramite
un'assegnazione diretta.
Per quanto riguarda il nome dell'array, ammetto la mia ignoranza in
materia. quando ho studiato io l'argomento, il libro in mio possesso mi
ha fornito esempi richiamando i valori registrati in sessione tramite
l'array $GLOBALS, ma č anche vero che il manuale sul sito parla di
$HTTP_SESSION_VARS. non ti so dire assolutamente la differenza che corre
tra i due, anzi, se qualche anima pia me la spiega, ne sarei felice. 
Ad onor del vero, lo script che ti ho mostrato funziona con entrambi gli
array e sembra che in tutti e due vengano registrati gli stessi dati,
almeno per quanto riguarda le variabili di sessione.
ciao,
nico

 e non $GLOBALS
    Permette di 'vedere' variabili globali dall'interno delle funzioni.
--
--
Cristiano Verondini
http://noway.ing.unibo.it

  Datemi una mano per favore :o(
    Il problema è che PHP ha dei metodi automatici per 'pescare' delle
variabili.
    Quando ad esempio arrivi da un form, per ogni controllo del form ti
trovi una variabile definita (meccanismo un po' diverso per i check ed i
bottoni).
    Quando registri una variabile nella sessione, ti trovi definita anche
quella.
    Nel tuo caso hai una variabile con lo stesso nome che arriva dalla
sessione e dal form. In questo caso PHP deve dare la precedenza ad una delle
due.
    Per motivi di sicurezza che se vuoi posso spiegarti, la precedenza ce
l'ha la variabile definita nella sessione.
        Cris


 l'ha la variabile definita nella sessione.
[..]
Quindi se la variabile di sessione la chiamo in un altro modo e
 ogni volta le assegno il valore della variabile che mi arriva dal form
 dovrebbe andare... o no?
Ci provo..........
Grazie.