Newsgroup: it.comp.lang.javascript
Titolo: Selezione dati da menu a tendina e aggiornamento pagina web

Mi è stato consigliato dal newsgroup di PHP di fare riferimento a questo
per trovare la soluzione ad un mio problema e che vado ad esporvi
sperando di essere sufficientemente chiaro.
Ho un'applicazione web che è composta da due pagine: la prima di
controllo degli accessi con il classico username e password (verificati
attraverso una tabella mySQL) ed una seconda che visualizza dei dati
(mySQL) inerenti all'ID dell'utente che ha fatto il login.
Tutto ha funzionato perfettamente fino a quando i dati facevano
esclusivamente riferimento all'anno in corso; successivamente mi è stato
chiesto di dare la possibilità all'utente di selezionare nella seconda
pagina, attraverso un menu a tendina, un anno diverso da quello in
corso.
Si tenga presente che, al primo caricamento della seconda pagina, l'anno
di riferimento (di default quello in corso) viene passato dalla prima
pagina e agganciato dalla seconda con un post.
Ho pensato allora:" mi creo un menu a tendina con una select, definisco
le voci (in questo caso gli anni) che mi interessano e.......".. e qui è
nato il problema, forse banale per voi ma per me semplicemente
drammatico.
Ho provato tutta una serie di soluzioni recuperate attraverso post
precedenti e "girovagando" per internet ma l'unico risultato che ho
ottenuto è stato quello di "pasticciare" il mio lavoro senza ottenere il
risultato desiderato e soprattutto senza cognizione del mio operato.
Probabilmente andando a tentoni tra qualche mese avrei trovato la
soluzione ma non mi sembra un modo molto intelligente di agire...
In attesa di un "aiutino" vi saluto tutti.
Lino
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 drammatico.
E.. fai il post, penso. :)
Ovvero, eseguirai un post automatico alla pagina corrente (dato che già sei
nella seconda) passando l'anno. Qualcosa tipo:
<form action="dettagli.php" method="POST">
	<select name="anno" onchange="this.form.submit()">
		<option value="2006" selected="selected">2006</option>
		<option value="2004">2005</option>
		<option value="2004">2004</option>
	</select>
</form>
Modifica la cosa secondo le tue esigenze, ma il succo è questo.
Ovviamente la pagina dettagli non tenterà di autenticarti di nuovo in quanto
sei già autenticato (immagino avrai una variabile di sessione per questo).
Per il resto, sarà uguale alla pagina precedente, in quanto recupererà i dati
dell'anno che hai passato tramite post.
Ah, ovviamente quando poi ripresenti la pagina, la form che qui sopra ti ho
scritto dovrà essere fatta in PHP, in modo che imposti il "selected"
sull'option corrispettiva al valore passato.
Spero di aver capito il tuo dilemma e di essere stato chiaro anche io nella
spiegazione. Se hai bisogno, siam qui.
-- 
Ogni mattina in Africa quando sorge il sole un gazzella si sveglia ed inizia a
correre per non essere mangiata da un leone. La stessa mattina in Africa
quando sorge il sole un leone si sveglia ed inizia a correre per non essere
mangiato da Chuck Norris.

 wrote in message
news:cb3t577...@ID-171124.news.individual.net

Prima di tutto ti ringrazio per la tua disponibilità.
Ho fatto una serie di prove, cercando di capire bene bene le
informazioni che mi hai passato ma ho ancora qualche dubbio che non mi
permette di far funzionare la seconda pagina (dettaglio).
Ricapitolando, io passo due valori dalla prima pagina (Matricola e
AnnoRif) che vengono agganciati con un post dalla seconda.
Ovviamente al ricaricamento della seconda pagina, dopo aver selezionato
un nuovo anno dal menu-tendina, questi valori non li trovo più settati
per cui le righe
dei POST mi danno errore.
Per saltare il problema ho pensato all'inserimento di una istruzione IF;
questo mi permetterebbe
di controllare l'operazione di POST se le variabili iniziali fossero
nulle, in
modo da mantenere il valore della Matricola (che rimane sempre quella) e
cambiare
l'anno di riferimento a seconda della scelta effettuata nel menu a
tendina.
Riporto le istruzioni che ho cominciato a scrivere ma che non riesco a
concludere:
if(isset($_POST['matricola']) && isset($_POST['AnnoRif'])) 
   {$matricola = $_POST["matricola"];
    $AnnoRif = $_POST["AnnoRif"];}
else
   {$matricola = ???? che ci metto ????;
    $AnnoRif = ???? che ci metto ????;} 
Ho sentito parlare di variabili globali ma, se ho capito bene, è una
tecnica che in molti sconsigliano per motivi di sicurezza.
Inoltre il parametro che tu hai definito nella form action con
selected="selected" non sono riuscito a comprenderlo.
In ogni caso mi stai mettendo sulla strada buona e ti ringrazio
nuovamente.
Ciao
