Passaggio di variabili con "global"

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti
ho una pagina che serve ad aggiornare una tabella di db che contiene i partecipanti alle lezioni di cucina.
La pagina si presenta con un semplice form dove l'operatore puo' inserire o il codice della lezione o la mail di un iscritto.
Nel primo caso estraggo i partecipanti alla lezione inserita, nel secondo tutte le ricorrenze della mail, quindi tutte le lezioni a cui si e' iscritta la persona con quella mail.
Premendo il tasto submit richiamo la funzione "mostra" da cui ottengo un elenco, editabile dall'operatore, che ad ogni riga presenta il pulsante "Aggiorna".
Quando si clicca su "Aggiorna" si richiama la funzione "aggiorna"; dopo aver eseguito l'aggiornamento chiedo di eseguire nuovamente la funzione "mostra".
Il problema risiede nel far passare il valore delle due variabili richieste dalla funzione "Mostra", cioe' o l'id lella lezione o la mail del cliente anche dopo aver eseguito la funzione "aggiorna".
Avevo pensato di utilizzare le funzioni globali, nel modo seguente:
Prima della funzione "mostra" inizializzo due variabili:
PHP:
$lez2="";
	$ema2="";
, poi all'interno della funzione "mostra":
PHP:
function mostra(){

			global $lez2;
			global $ema2;

			if ($lez2) {
				$lez = $lez2;
			}elseif ($ema2) {
				$posta = $ema2;
			}else{
				$lez = $_POST['idlezione'];
				$posta = $_POST['mailcliente'];
			}
			

			

			if ($lez) {
				include 'connect.php';
				$query = ("SELECT * FROM utentiscuola WHERE id_lezione='$lez'");
				$vai = mysql_query($query);
				$righe = mysql_num_rows($vai);
				$introduzione = "Risultano ".$righe." record registrati nella lezione ".$lez;
				$lez2 = $lez;
			}

			if ($posta) {
				include 'connect.php';
				$query = ("SELECT * FROM utentiscuola WHERE email='$posta'");
				$vai = mysql_query($query);
				$righe = mysql_num_rows($vai);
				$introduzione = "Risultano ".$righe." registrazioni contenenti la mail ".$posta;
				$ema2 = $posta;
			}
.
la funzione "aggiorna":
PHP:
function aggiorna(){
			global $lez2;

			$riga = $_POST['riga'];
			$lez2 = $_POST['lezione'];



			$nom = $_POST['nome'];
			$cog = $_POST['cognome'];
			$ema = $_POST['email'];
			$tel = $_POST['telefono'];
			$tra = $_POST['transazione'];
			$pag = $_POST['pagamento'];
			$pos = $_POST['postiprenotati'];
			$not = $_POST['note'];

			include 'connect.php';
			$richiesta = ("UPDATE utentiscuola SET nome = '$nom', cognome = '$cog', email = '$ema', telefono = '$tel', username = '$ema', idTransazione = '$tra', pagamento = '$pag', postiprenotati = '$pos', note = '$not' WHERE id_utente = '$riga' ");
			$fai = mysql_query($richiesta);

			mostra();
		}
Lo scopo è quello di far aggiornare la riga desiderata e poi visualizzare di nuovo l'elenco desiderato con i valori aggiornati.
Ma così come ho fatto io si aggiorna il record regolarmente ma non si rivisualizza l'elenco.
E non riesco a capire dove sto sbagliando...
Grazie per l'aiuto
 

Discussioni simili