- Home
- Categorie
- Coding e Sistemistica
- Coding
- Passaggio variabile
- 
							
							
							
							
							
Sostituisci questo: 
 [HTML]<form method=post action="?action=a">
 <input type="SUBMIT" value=" Invia 1">
 </form>
 <form method=post action="?action=b">
 <input type="SUBMIT" value=" Invia 2">
 </form>[/HTML]
 con questo:
 [HTML]<form method=post action="legge.php">
 <input type="SUBMIT" value=" Invia 1">
 <input type="hidden" name="action" value="a">
 </form>
 <form method=post action="legge.php">
 <input type="SUBMIT" value=" Invia 2">
 <input type="hidden" name="action" value="a">
 </form>[/HTML]E' sbagliato il modo in cui intendevi passare il valore di "action", quella nominata nel form è il nome della pagina che elabora i dati, non il nome di una variabile... 
 
- 
							
							
							
							
							
Ho provato il tuo suggerimento ma il risultato e' il medesimo, anche perche' penso che i due metodi si equivalgano; se non sto prendendo una cantonata scrivere 
 [php]
 action="?action=a"
 [/php]equivale a dargli come target il file stesso in cui viene eseguito passandogli la variabile $action=a, il che equivale correttamente a quanto proponi tu
 [php]
 action="legge.php"
 // seguito dal passaggio della variabile $action=a tramite campo hidden
 [/php]
 
- 
							
							
							
							
							
Allora prova a non chiamarla "action" la variabile che intendi passare... Probabilmente è una parola riservata 
 
- 
							
							
							
							
							
Cambiato $action in $scelta...sigh..nulla.. stesso comportamento di prima..:bho: 
 
- 
							
							
							
							
							
Posta la nuova pagina php che hai realizzato con "scelta" al posto di "action" 
 
- 
							
							
							
							
							
[php]<? 
 SESSION_START();
 $_SESSION['uno'] = $_POST['uno'];
 $_SESSION['due'] = $_POST['due'];
 $scelta = (isset($_GET["scelta"]))? $_GET["scelta"] : $_POST['scelta']
 ?>
 <form method=post action="?scelta=a">
 <input type="SUBMIT" value=" Invia 1">
 </form>
 <form method=post action="?scelta=b">
 <input type="SUBMIT" value=" Invia 2">
 </form>
 <?
 if ($scelta=="a"){
 echo "uno-->".$_SESSION['uno']."<br />";
 }else if ($scelta=="b"){
 echo "due--> ".$_SESSION['due']."<br />";
 }else {
 echo $_SESSION['uno']."---".$_SESSION['due'];
 }
 ?>[/php]
 
- 
							
							
							
							
							
[PHP]$scelta = (isset($_GET["scelta"]))? $_GET["scelta"] : $_POST['scelta'][/PHP] Ecco l'errore! Scrivilo così: 
 [PHP]$scelta = (isset($_GET["scelta"])? $_GET["scelta"] : $_POST['scelta']);[/PHP]
 
- 
							
							
							
							
							
No..no..era gia' scritto giusto...sorry...devo aver fatto casino io nel copia/incolla... anche perche senno' php mi avrebbe segnalato errore..ed invece non me ne segnala... Tieni conto che la variabile $scelta la legge correttamente,_infatti esegue correttamente il ciclo di if/else... ma [..] non mi da piu le variabili $_SESSION['uno'] e ['due'] 
 
- 
							
							
							
							
							
Non è che se ridichiari "session_start()" lui inizia una nuova sessione, cancellando le variabili di quella precedente? 
 
- 
							
							
							
							
							
@momino said: Non è che se ridichiari "session_start()" lui inizia una nuova sessione, cancellando le variabili di quella precedente? No,_anzi,_session_start() ci va proprio per il passaggio di variabili da un file all'altro.. 
 ..per cancellarle avrei dovuto mettere session_unset();