View Full Version : [PHP] Domanda su menu a tendina
DimeCfh91
10-04-2011, 16:53
Ragazzi ho un problema con php, riguardo i menu a tendina. Per farvi capire vi faccio subito un esempio.
C'e prima un menu che seleziona la regione, subito sotto ti escono tutte le province di quella regione, e seguendo escono tutti i paesi di quella provincia. Io devo fare questo per un contesto privato. So che per gestirli dinamicamente devo usare i db. Il mio problema è che non so come fare a gestirli automaticamente ovvero devo sempre schiacciare il pulsante ok mentre una volta che dalla tendina selezione liguria, quando vado a cliccare sulla regione voglio gia i cambiamenti. Grazie
wingman87
11-04-2011, 11:12
Potresti usare AJAX
DimeCfh91
11-04-2011, 15:00
ho visto cosa è ajax. E' quello che fa a caso mio, sapresti dirmi dove trovare qualche buona guida che mi introduca in questo linguaggio?
wingman87
11-04-2011, 18:23
Non ti so indicare guide, però credo che una valga l'altra, in fondo si tratta di conoscere giusto 4-5 istruzioni javascript per la parte client per fare le richieste e poi scrivere una semplice pagina (in php nel tuo caso) per servirle.
MarcioPG
11-04-2011, 22:07
Se non vuoi infognarti con Ajax (che cmq richiede anche una "riscrittura" del codice che risponde alle chiamate ajax) e per ora vuoi solo "evitare" il dover premere ok puoi impostare, sul tag select, l'attributo onChange in modo che esegua il submit del form:
Ad esempio se hai la tua form con il primo select:
<select id="SelectRegione" onchange="this.form.submit();">
DimeCfh91
12-04-2011, 06:16
Grazie ad entrambi, stasera ci provo. Se ho problemi ritorno.
DimeCfh91
12-04-2011, 14:30
edit
MarcioPG
12-04-2011, 16:28
la funzione isset() ritorna TRUE (ovvero 1) quando la variabile che metti come argomento è "settata", ovvero dichiarata (anche se fosse null-vuota).
Quindi if( isset($_POST["numeri"]) == '1') è sempre vera, le altre due (== '2' e =='3') sempre false.
La condizione corretta è $_POST["numeri"]=='x', quindi:
if( $_POST["numeri"] == '1')
{
echo("1");
}
if( $_POST["numeri"] == '2')
{
echo("2");
}
if( $_POST["numeri"] == '3')
{
echo("3");
}
DimeCfh91
13-04-2011, 15:01
no quel problema l'ho risolto. Praticamente quando avevo scritto il messaggio mi aveva dato un errore perchè avevo utorrent aperto. Non credevo fosse stato scritto. Cmq grazie per isset, mi hai spiegato una cosa in piu.
DimeCfh91
17-04-2011, 11:18
Ragazzi ho un'altro problema. Riguarda sempre lo stesso progetto però il problema non è col menu a tendina.
Sto inserendo le session e mi è venuta in mente l'idea che se qualcosa va storto dopo un tot. di tempo mi riporta a quella pagina. Il codice l'ho scritto bene perchè effettivamente dopo 8 secondi mi riporta a login.php. Solo che quando lancio il file php non mi apre la pagina però si vede il browser che sta caricando e dopo 8 secondi e mi apre la pagina scelta. Come posso deviare questa cosa?
Ecco il codice:
<?php
session_start();
if ($_session["ruolo"] <> admin)
{
print("Non risulti loggato come amministratore <br>");
print("Fra 8 secondi sarai portato alla schermata di login");
$date_ini = date("His");
while ($i < 8)
{
$date_fin = date("His");
$i = $date_fin - $date_ini;
}
header("Location:login.php");
}
?>
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.