Newsgroup: it.comp.www.php
Titolo: pagina precedente? dati persi...

come faccio a tornare alla pagina precedente senza perdere i dati inseriti
nei form ? ho provato con history.back() ma non funziona me li cancella.
se potreste darmi un consiglio... grazie.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 se potreste darmi un consiglio... grazie.
Puoi usare le sessioni :-)


le sto già usando ma con il fatto che torno su una pagina che ho già
caricato in precedenza le variabili cambiano valore.
esempio:
nella mia pagina uno inserisco la password e l'id.
nella due inserisco dei dati. In uno sbaglio e azichè mettere un valore
numerico dalla tastiera mi scappa una lettera. Il programma se ne accorge e
mi avverte che ho sbagliato. a questo punto dorei tornare alla pag
precedente e inserire solo il dato che ho sbagliato...


 caricato in precedenza le variabili cambiano valore.
[mi quoto Thfbc.104076$
Kc3.3...@twister2.libero.it
]
Vediamo di risolvere il problema alla base.
Scaricati questo semplice esempio e vedi se riesci a capire come
funziona.
http://setecastronomy.stufftoread.com/go.php?ID=31
[/quoto]
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
L'uomo, conscio di sbagliare, persevera.

 precedente e inserire solo il dato che ho sbagliato...
Diciamo che tua sessione si chiama $_SESSION['Login']
$_SESSION['Login']['UID'] contiene Luca
$_SESSION['Login']['pw'] la pass
Sulla pagina che gestici gli errori da parte dell' utente la continui a
chiamare $_SESSION['Login']
quindi alla tua sessione aggiungi
if(is_numeric($_POST['eta'])){
$_SESSION['Login']['eta']=$_POST['eta'];
}else{
$_SESSION['Login']['eta']='ERRORE';
}
aggiungi nel valore del textfield <? echo $_SESSION['Login']['eta']; ?>
se dopo il check il valore è sbaglito tornado indietro nel campo eta ti
scriverà errore :-)


non capisco cosa possa risolvermi...
in action c'è il sistema per leggere i dati nella stessa pagina in cui si
caricano, ma per inviarli ad un'altra pagina quando schiaccio conferma? uso
le sessioni?



questo problema lo avevo già risolto il problema è un'altro:
io ho le due variabili $_SESSION['userid'] e $_SESSION['password'] che
vengono dichiarate nella seconda pagina così:
$_SESSION['userid']=$_POST['userid'];
$_SESSION['password']=$_POST['password'];
dove i valori userid e password vengono inseriti nella pag 1.
quando dalla pag due vado alla 3 e poi dalla 3 torno alla due le variabili
post tornano a zero e quindi...



facendo come fai te è normale che tornano a zero, te perchè dalla pagina
tre, non
viene passato nessun valore post, in realtà ti basta una sola sessione.
Chiaramente è possibile usare due sessioni, solo che prima della
dichiarazione va
aggiunto una condizione di controllo
//->tipo
if(isset($_POST['userid'])){
$_SESSION['userid']=$_POST['userid'];}
vedrai che la sessione mantiene il valore

 post tornano a zero e quindi...
beh, se ho capito bene, la pagina 2 dovrebbe settare le variabili
di sessione dai valori che gli passi via POST dalla pagina 1 ...
quindi è ovvio che se dalla pagina 3, passi alla 2 ... e questo avviene
appunto senza il submit di valori in POST, quelle variabili di sessioni
ti si "azzerino" ... visto che $_POST['password'] e $_POST['userid'],
saranno appunto "vuote" in quel caso.
per ovviare al problema, potresti fare un :
if  ( isset ( $_POST['userid'] ) ) $_SESSION['userid']=$_POST['userid'];
if  ( isset ( $_POST['password'] ) )
$_SESSION['password']=$_POST['password'];
oppure anche :
$_SESSION['userid'] = ( isset ( $_POST['userid'] ) ) ? $_POST['userid'] :
$_SESSION['userid'];
$_SESSION['password'] = ( isset ( $_POST['password'] ) ) ?
$_POST['password'] : $_SESSION['password'];
________________
spero di averti aiutato, ciao !

 conferma? 
Quando schiacci conferma i dati vengono inviati alla pagina in
"action", che sia la stessa od un'altra non fa differenza.
-- 
I am what I am, I do what I can
