Mantenere valore di un form anche dopo refresh

ppigna

Utente Attivo
23 Dic 2013
63
0
0
Buongiorno a tutti :)
Ho un sito con un form e degli input. In base al numero che metti in questi input, i valori si sommano e danno una variabile numerica. In base a questa variabile numerica, il sito genera una frase a random da un gruppo di frasi. Se per esempio la variabile finisce per 1 (1, 11, 21, 31 ecc...), il sistema random pesca da un gruppo1.txt, se la variabile finisce per 5 (5, 15, 25 ec...) da un gruppo5.txt. Nel sito c'è anche la possibilità, grazie a un <a> di refresh, di vedere un'altra frase, presa sempre dallo stesso gruppo.txt. Invece, quando si refresha la pagina, la variabile ottenuta dal form scompare e mi viene assegnata come variabile di default 1 (quindi vengono sempre visualizzate frasi del gruppo1.txt). Come fare per mantenere il valore ottenuto dal form?
Se vi servono delucidazioni o parti di codici chiedete pure, grazie mille :)
 

ppigna

Utente Attivo
23 Dic 2013
63
0
0
Prova intanto a postare il codice che stai utlizzando..

Allora, questo è il form (index.php):
HTML:
<div id="ac_content" class="ac_content">
			<h1>Oracolo del Web<span><br />Completa i campi e poi premi invio</span></h1>
			<form name="campo" action="frase.php" method="post">
			<div class="ac_menu"> 
				<ul>
					<li>
						<a href="images/galassia2.jpg">Giorno</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Giorno</h2>
							<ul>
								<li>Che giorno è oggi? Inserisci il numero qui sotto e premi invio sulla tastiera.</li>
								<li><br /></li>
							</ul>
							<input type="text" name="giorno" size="15" maxlength="4" onkeyup="char_consentiti(this)">
						</div>
					</li>
					<li>
						<a href="images/galassia3.jpg">Mese</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Mese</h2>
							<ul>
								<li>In che mese siamo oggi? Inserisci il numero qui sotto e premi invio sulla tastiera.</li>
								<li><br /></li>
							</ul>
							<input type="text" name="mese" size="15" maxlength="4" onkeyup="char_consentiti(this)">
						</div>
					</li>
					<li>
						<a href="images/galassia4.jpg">Nome</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Nome</h2>
							<ul>
								<li>Come ti chiami? Inserisci il tuo nome qui sotto e premi invio sulla tastiera.</li>
								<li><br /></li>
							</ul>
							<input type="text" name="nome" size="15" maxlength="15">
						</div>
					</li>
					<li>
						<a href="images/galassia5.jpg">Invio</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Invio</h2>
							<ul>
								<li><p>Premi Invia per visualizzare il responso dell'oracolo.</p></li>
								<li><br /></li>
							</ul>
							<input type="submit" name="Invia"  value="  Invia  " onclick="location.href='frase.php'">
						</div>
					</li>
				</ul>
			</div>
			</form>
		</div>

Questo invece è il php che serve a visualizzare la frase (frase.php):
PHP:
<?php
	if (isset($_POST['giorno']))
	{
		$giorno = htmlspecialchars($_POST['giorno']);
	}
	
	if (isset($_POST['mese']))
	{
		$mese = htmlspecialchars($_POST['mese']);
	}
	
	if (isset($_POST['nome']))
	{
		$nome = htmlspecialchars($_POST['nome']);
	}
	
	$lunghezzanome = strlen($nome);
	$totale = $giorno + $mese + $lunghezzanome;
	
	
	switch($totale)
	{
		case $totale == 0 || $totale ==  10 || $totale ==  20 || $totale ==  30 || $totale ==  40 || $totale ==  50 ||  $totale ==  60 || $totale ==  70 || $totale ==  80 || $totale ==  90 || $totale ==  100;
			$frasi = file('txt/frasi0.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];
		break;
		
		case $totale == 1 || $totale ==  11 || $totale ==  21 || $totale ==  31 || $totale ==  41 || $totale ==  51 || $totale ==  61 || $totale ==  71 || $totale ==  81 || $totale ==  91 || $totale ==  101;
			$frasi = file('txt/frasi1.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 2 || $totale ==  12 || $totale ==  22 || $totale ==  32 || $totale ==  42 || $totale ==  52 || $totale ==  62 || $totale ==  72 || $totale ==  82 || $totale ==  92 || $totale ==  102;
			$frasi = file('txt/frasi2.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 3 || $totale ==  13 || $totale ==  23 || $totale ==  33 || $totale ==  43 || $totale ==  53 || $totale ==  63 || $totale ==  73 || $totale ==  83 || $totale ==  93 || $totale ==  103;
			$frasi = file('txt/frasi3.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 4 || $totale ==  14 || $totale ==  24 || $totale ==  34 || $totale ==  44 || $totale ==  54 || $totale ==  64 || $totale ==  74 || $totale ==  84 || $totale ==  94 || $totale ==  104;
			$frasi = file('frasi4.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 5 || $totale ==  15 || $totale ==  25 || $totale ==  35 || $totale ==  45 || $totale ==  55 || $totale ==  65 || $totale ==  75 || $totale ==  85 || $totale ==  95 || $totale ==  105;
			$frasi = file('txt/frasi5.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 6 || $totale ==  16 || $totale ==  26 || $totale ==  36 || $totale ==  46 || $totale ==  56 || $totale ==  66 || $totale ==  76 || $totale ==  86 || $totale ==  96 || $totale ==  106;
			$frasi = file('txt/frasi6.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 7 || $totale ==  17 || $totale ==  27 || $totale ==  37 || $totale ==  47 || $totale ==  57 || $totale ==  67 || $totale ==  77 || $totale ==  87 || $totale ==  97 || $totale ==  107;
			$frasi = file('txt/frasi7.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 8 || $totale ==  18 || $totale ==  28 || $totale ==  38 || $totale ==  48 || $totale ==  58 || $totale ==  68 || $totale ==  78 || $totale ==  88 || $totale ==  98 || $totale ==  108;
			$frasi = file('txt/frasi8.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
		
		case $totale == 9 || $totale ==  19 || $totale ==  29 || $totale ==  39 || $totale ==  49 || $totale ==  59 || $totale ==  69 || $totale ==  79 || $totale ==  89 || $totale ==  99 || $totale ==  109 || $totale ==  $totale >= 110;
			$frasi = file('txt/frasi9.txt', FILE_IGNORE_NEW_LINES);  
			$indice_random = array_rand($frasi);  
			echo $frasi[$indice_random];  
		break;
	}
?>
 

edin

Utente Attivo
7 Nov 2013
92
0
6
www.edinweb.altervista.org
potrsti gestire con le sessioni.
All' inzio della tua pagina index metti questo codice:
PHP:
<?php
session_start();
$giorno="";
$mese="";
if(isset($_SESSION['giorno']))
{
$giorno=$_SESSION['giorno'];
}
if(isset($_SESSION['mese']))
{
$mese=$_SESSION['mese'];
}

e passi il valore nel campo value corrispondente del campo input.

Imposti le sessioni una volta che hai inviato i dati alla pagina frase.php e una volta che hai effettuato il refresh ti prende il valore della sessione corrispondente.
 

ppigna

Utente Attivo
23 Dic 2013
63
0
0
potrsti gestire con le sessioni.
All' inzio della tua pagina index metti questo codice:
PHP:
<?php
session_start();
$giorno="";
$mese="";
if(isset($_SESSION['giorno']))
{
$giorno=$_SESSION['giorno'];
}
if(isset($_SESSION['mese']))
{
$mese=$_SESSION['mese'];
}

e passi il valore nel campo value corrispondente del campo input.

Imposti le sessioni una volta che hai inviato i dati alla pagina frase.php e una volta che hai effettuato il refresh ti prende il valore della sessione corrispondente.

Il problema è che sono un novellino su queste cose e non credo di essere abbastanza bravo da fare quello che dici tu (a meno che tu non sia disposto a guidarmi passo passo ahaha). Forse con il metodo GET è più facile?
 

edin

Utente Attivo
7 Nov 2013
92
0
6
www.edinweb.altervista.org
Il problema è che sono un novellino su queste cose e non credo di essere abbastanza bravo da fare quello che dici tu

Non si deve eseere particolarmente bravi per far questo. Nell pagina frase.php crei la sessione in questo modo
PHP:
session_start();
if (isset($_POST['giorno']))
    {
 $_SESSION['giorno']=$_POST['giorno'];
        $giorno = htmlspecialchars($_POST['giorno']);
    }
    
    if (isset($_POST['mese']))
   {
 $_SESSION['mese']=$_POST['mese'];
        $mese = htmlspecialchars($_POST['mese']);
    }



http://www.edinweb.altervista.org
 

ppigna

Utente Attivo
23 Dic 2013
63
0
0
Non si deve eseere particolarmente bravi per far questo. Nell pagina frase.php crei la sessione in questo modo
PHP:
session_start();
if (isset($_POST['giorno']))
    {
 $_SESSION['giorno']=$_POST['giorno'];
        $giorno = htmlspecialchars($_POST['giorno']);
    }
    
    if (isset($_POST['mese']))
   {
 $_SESSION['mese']=$_POST['mese'];
        $mese = htmlspecialchars($_POST['mese']);
    }

Credo di avere già risolto usando i cookies. Credi sia una buona soluzione?
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Convalidare form e mantenere il valore PHP 5
S [PHP] Mantenere selezionato il valore scelto dopo submit PHP 16
S mantenere le modifiche in un file php PHP 2
S [PHP] Come mantenere selezionato checkbox dopo aver cliccato submit PHP 7
A Mantenere la validazione reindirizzandoci su un secondo sito WEb. (ASP.NET) ASP.NET 0
I [Javascript] mantenere un bottone abilitato al refresh della pagina Javascript 1
M [PHP] Mantenere variabile con datagrid nella pagina 2 PHP 1
F Mantenere selezione immagine Javascript 1
M [PHP - MYSQL] Mantenere filtro query in tabelle paginate PHP 3
A Mantenere il focus su di una inputbox Javascript 1
G Freelancer: quanto costa aprire e mantenere la partita IVA? Discussioni Varie 3
N Ciclare sul DB e mantenere i dati PHP 3
O Mantenere una sessione PHP 20
asevenx mantenere sessione login attiva anche in altre pagine PHP 8
Y mantenere sessione login? PHP 5
S Mantenere dati form in memoria PHP 29
N Mantenere scelte fatte in un form PHP 5
A Mantenere le proporzioni Photoshop 3
T Mantenere la posizione della pagina dopo postback PHP 1
E Flash mantenere un livello sempre animato Flash 1
J Come mantenere lo stato del "creator"? Javascript 0
S Ereditare e Mantenere Collegate Proprieta Flash 0
E Mantenere la stessa pagina cambianto il contenuto Classic ASP 1
opeth978 mantenere le informazioni PHP 19
C asp: mantenere l ostato 2 consigli Classic ASP 2
G Combo ... mantenere la selezione fatta Classic ASP 0
D Visualizzazione pagina basata sul valore di un campo del database PHP 0
D controllare valore in tabella mysql PHP 0
M Estrarre valore con SELECT COUNT PHP 0
A passara valore name da .autocomplate Javascript 2
D riempire campo inserendo un valore in un altro campo PHP 2
S riflettere valore di campo input range in live Javascript 0
R aggiornamento valore db in base all'orario PHP 1
W Mandare a capo valore di SQL Classic ASP 2
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
L Ricerca valore mysql e incremento PHP 73
L pdo (stampare un valore con ritorno a funzione) PHP 0
M Problema assegnazione valore PHP 2
M Recuperare valore PHP 5
G [Javascript] Passare un valore via querystring Javascript 1
B [PHP] Valore variabile non riconosciuto PHP 1
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
giusebos [PHP] radiobutton: disattivare specifico valore PHP 11
N [PHP] Estrarre singolo valore da array PHP 4
T MYSQL: valore più frequente ma con difficoltà in più... PHP 1
S aggiornare valore di un elemento xml con php PHP 8
D [PHP] Confronto valore negativo PHP 4
G [ASP] Incrementare un valore on the fly su selezione select Classic ASP 3
M [PHP] valore dentro uno shortcode PHP 0
BottyE Valore da javascript a php Javascript 2

Discussioni simili