pulizia pagina html

  • Creatore Discussione Creatore Discussione mangord
  • Data di inizio Data di inizio

mangord

Nuovo Utente
14 Mar 2013
9
0
0
roma
buongiorno,

sto cercando di creare un programma php che deve funzionare in due fasi:

1 fase - chiede nome , cognome ecc. ed alla fine chiede l'invio

2 fase - i dati di cui sopra devovo scomparire completamente e inizia l'immissione di altro dati .

Ora la difficolta che usando php e html ho fatto sia la prima parte e la seconda , ma quando parte la seconda rimane sul browser la form della prima fase.
Ora scusate la domanda idiota come si fa a pulre la schermata del browser , senza aprire ulteriore finestre ?
Grazie
 
ciao
se hai fatto tutto in una stessa pagina potresti
PHP:
<?php
if(isset($_POST['invio'])){
	//qui fai quello che devi fare con i dati provenienti dal form
	// e poi eventualmente metti un link per reindirizzare dove vuoi o un reindirizzamento automatico
}else{
	//e qui il form
}
?>
quando accedi la prima volta vedi solo il form
dopo l'invio vedi solo quello che devi fare
 
Ho fatto due php uno chiede i dati della prima fase è il secondo i dati della seconda fase la cosa bella sarebbe se metto i dati della prima fase , si pulisce lo schermo e nella stessa finestra appare la fase 2 , è possibile ?

ciao
se hai fatto tutto in una stessa pagina potresti
PHP:
<?php
if(isset($_POST['invio'])){
	//qui fai quello che devi fare con i dati provenienti dal form
	// e poi eventualmente metti un link per reindirizzare dove vuoi o un reindirizzamento automatico
}else{
	//e qui il form
}
?>
quando accedi la prima volta vedi solo il form
dopo l'invio vedi solo quello che devi fare
 
In pratica vuoi che i dati vengano aggiunti in maniera sequenziale.
Intanto salvi i dati che hai ricevuto dalla prima schermata e setti una variabile di sessione con un valore che ti permette, una volta ritornato su quella pagina (dopo aver salvato i dati), di visualizzare solo quello che ti serve controllando il suo valore.
Il contenuto della variabile di sessione può essere quello che vuoi. Faccio un esempio:
All'inizio la variabile in questione non esiste quindi quando fai il controllo
PHP:
if(!isset($_SESSION['variabile'])){
 //stampo il primo form
}elseif($_SESSION['variabile']=='valore'){
//stampo il secondo form
}
Non stampa il secondo form ma solo il primo.
Ti consiglio di dare un valore numerico (1,2 etc) nel caso in cui poi volessi aggiungere altre schermate oltre alle due che hai ora.
Dico di utilizzare la variabile di sessione perché è un po' più sicura del metodo get o post.
 
Grazie a tutti !
Sembra che funziona tutto, tranne un ultima cosa , penso abbastanza complicata ed è questa :

vorre disabilitare la possibilita di tornare alle pagine precedenti, mi spiego :

parte il pgm

chiede nome e cognome
inserisco nome e cognome e do invio


mi fa la domanda nr.1
rispondo e do invio

mi fa la domanda nr.2
rispondo e do inviio


mi fa la domanda nr.3
rispondo e do inviio

e cosi via..

Ora con il broswer è possibile ritornare indietro dalla domanda 3 alla domanda 1 , ma questo non deve essere possibile.

Come si può fare ?






In pratica vuoi che i dati vengano aggiunti in maniera sequenziale.
Intanto salvi i dati che hai ricevuto dalla prima schermata e setti una variabile di sessione con un valore che ti permette, una volta ritornato su quella pagina (dopo aver salvato i dati), di visualizzare solo quello che ti serve controllando il suo valore.
Il contenuto della variabile di sessione può essere quello che vuoi. Faccio un esempio:
All'inizio la variabile in questione non esiste quindi quando fai il controllo
PHP:
if(!isset($_SESSION['variabile'])){
 //stampo il primo form
}elseif($_SESSION['variabile']=='valore'){
//stampo il secondo form
}
Non stampa il secondo form ma solo il primo.
Ti consiglio di dare un valore numerico (1,2 etc) nel caso in cui poi volessi aggiungere altre schermate oltre alle due che hai ora.
Dico di utilizzare la variabile di sessione perché è un po' più sicura del metodo get o post.
 
ciao
come ti ha suggerito longo, prova così
PHP:
<?php
session_start();
//......
if(!isset($_SESSION['variabile'])){
	$_SESSION['variabile']=1;
	//stampo il primo form
}elseif($_SESSION['variabile']==1){
	$_SESSION['variabile']++;
	//stampo il secondo form
}elseif($_SESSION['variabile']==2){
	$_SESSION['variabile']++;
	//stampo il terzo form
}elseif($_SESSION['variabile']==3){
	$_SESSION['variabile']++;
	//stampo il quarto form
//ecc......
}elseif($_SESSION['variabile']>3){
	echo "fine";
}
//......
?>
 
Grazie moltissimo.
Per essere più specifico, Quello che chiedo è evitare tramite il tasto freccietta del browser di tornare alla form precedente.
in pratica

parte form 1
parte form 2
parte form 3
parte form 4 e cosi via

tramite il tasto navigazione del browser posso tornare indiestro al form 3 ed invece devo evitarlo.




ciao
come ti ha suggerito longo, prova così
PHP:
<?php
session_start();
//......
if(!isset($_SESSION['variabile'])){
	$_SESSION['variabile']=1;
	//stampo il primo form
}elseif($_SESSION['variabile']==1){
	$_SESSION['variabile']++;
	//stampo il secondo form
}elseif($_SESSION['variabile']==2){
	$_SESSION['variabile']++;
	//stampo il terzo form
}elseif($_SESSION['variabile']==3){
	$_SESSION['variabile']++;
	//stampo il quarto form
//ecc......
}elseif($_SESSION['variabile']>3){
	echo "fine";
}
//......
?>
 
ciao
in quella maniera (es) se l'utente ha compilato il secondo form, variabile di sessione è diventata 3 quindi tornando indietro gil appare il quarto form
e non il primo.
comunque potresti mettere i form con i vari if in una pagina e l'elaborazione delle reisposte in un'altra e li mettere l'incremento della variabile e un rritorno automatico alla pag del form, in questo modo (sempre esempio) se l'utente è al secondo form e cerca di tornare indietro col bw vede solo il secondo form, passa al terzo solo dopo che ha dato il submit.
nella pagina in cui elabori le risposte oltre all'incremento della sessione. prima dell'elaborazione puoi mettere una condizione che se tutte le risposte sono state elaborate vengano processate, altrimenti no.
 
OKay provo e faccio sapere !
Ovviamente devo abilitare le sessioni in locale e anche sul server di destinazione.
Grazie 1000

ciao
in quella maniera (es) se l'utente ha compilato il secondo form, variabile di sessione è diventata 3 quindi tornando indietro gil appare il quarto form
e non il primo.
comunque potresti mettere i form con i vari if in una pagina e l'elaborazione delle reisposte in un'altra e li mettere l'incremento della variabile e un rritorno automatico alla pag del form, in questo modo (sempre esempio) se l'utente è al secondo form e cerca di tornare indietro col bw vede solo il secondo form, passa al terzo solo dopo che ha dato il submit.
nella pagina in cui elabori le risposte oltre all'incremento della sessione. prima dell'elaborazione puoi mettere una condizione che se tutte le risposte sono state elaborate vengano processate, altrimenti no.
 
ciao
Ovviamente devo abilitare le sessioni in locale e anche sul server di destinazione.
??
a cosa da ricordarsi: in tutte le pagine dove vengono usate le sessioni di mettere ALLA PRIMA RIGA (nemmeno uno spazio prima) l'istruzione
PHP:
<?php
session_start();
//ecc... altro php o html /(html compreso il doctype)
 
Usa il normale session_start() all'inizio del file php.

Edit: stessa cosa che ha detto borgo :)
 
Ultima modifica:
pulizia html

SalVE PURtroppo la gestione con le sessioni non mi risolve il problema:

provo a spiegare meglio la cosa:

un unico file php che lancia delle domande una alla volta

l'utente risponde

e cosi visualizza la domanda successiva.

Purtroppo andando indietro con il taso della freccia a sinistra del browser mi propone una domanda vecchia.
L'ob biettivo è che non visuazzi la domanda vecchia.




ciao

??
a cosa da ricordarsi: in tutte le pagine dove vengono usate le sessioni di mettere ALLA PRIMA RIGA (nemmeno uno spazio prima) l'istruzione
PHP:
<?php
session_start();
//ecc... altro php o html /(html compreso il doctype)
 
Basta salvare nella sessione il numero della domanda associata all'id dell'utente in modo che non possa diminuire ma solo aumentare.
In più la variabile di sessione non può essere modificata dall'utente quindi dovrebbe essere sicuro il metodo.
Vorresti uscisse qualcosa tipo questa?
 

Discussioni simili