- Home
- Categorie
- Coding e Sistemistica
- Coding
- scelta lingua con variabili di sessione
-
addirittura distruggi la sessione o.O
avresti potuto fare un unset($_SESSION['lingua_teile']);
ma non ne vedo la necessità, in quanto puoi semplicemente sovrascriverlo.
hai il register_globals on? Anche se si, ti sconsiglio di tenerlo attivato.
nella tua query presupponi l'esistenza delle variabili $lingua_scelta e $id, che io non vedo settate.
Ti consiglio VIVAMENTE di fare un controllo sulle suddette variabili, così il tuo script è vulnerabile.
( Se ho scritto cose che hai già fatto, posta il tuo codice per intero, mi sto basando solo su quello che vedo )
-
Si , ti ringrazio per il consiglio della sicurezza ma per ora non è importante!
Diciamo che io vorrei -solo- settare la sessione tramite un menu di scelta come da post precedente, nel momento in cui setto la sessione, in questo caso da quello che ho capito
[PHP]session_start();$_SESSION['lingua_teile'] = $_GET['lingua']; [/PHP]
vorrei che la pagina dopo prendesse il contenuto della sessione che nel mio caso sarà ```
itae quando eseguo la mia query che seleziona la tabella in base alla lingua scelta nel mio caso la variabile $lingua_scelta mi restituisca il valore memorizzato nella sessione.... Pero' tutto questo non avviene, nel momento in cui richiamo il valore della sessione [PHP]$lingua_scelta = $_SESSION['lingua_teile'];[/PHP] non mi stampa nulla e quindi la query non viene eseguita.... Suggerimenti ??? Ps. register_globals è Off
-
[PHP]
$_SESSION['lingua_teile'] = $_GET['lingua'];
$_SESSION['lingua_teile'] = $lingua_scelta;
[/PHP]La seconda riga così ti sovrascrive la prima... con un valore non definito ( $lingua_scelta )
-
Ok, è stato eliminato quindi mi rimane
[php]session_start();$_SESSION['lingua_teile'] = $_GET['lingua']; [/php]che mi setta la sessione, ora per richiamarla
[php]<?$lingua_scelta = $_SESSION['lingua_teile'];
?>[/php]ma non mi visualizza nulla .....
-
Hai fatto ripartire la sessione? ( session_start(); )
-
Si, pero' passando da una pagina all'altra non viene presa...quindi penso di sbagliare qualcosa ma non capisco cosa
-
Guarda prova intanto a fare semplici prove...
pagina1.php
[php]
<? session_start(); $_SESSION['ciao'] = 'mamma'; ?>
<a href="pagina2.php">ciao a chi?</a>
[/php]pagina2.php
[php]
a <? session_start(); print $_SESSION['ciao']; ?>
[/php]
-
Ciao,
da quello che sono riuscito a capire, nella pagina in cui mi serve recuperare il nome della sessione deve esserci[PHP]
session_start();
$lingua_scelta = $_SESSION['lingua_teile'];
[/PHP]Io pensavo che session_start() cancellasse la sessione creata, invece riprende la sessione creata precedentemente , giusto ?
-
Esattamente, quando l'avevo scritto nel messaggio di prima mi riferivo alla seconda pagina, in cui, per l'appunto, non vedevo il secondo session_start().
Hai provato a vedere se va? ( Dovrebbe andare XD )
-
Funziona tutto!
Grazie!
Stavo diventando matto a capire perchè non funzionava!
Ho provato a cambiare register_globals ma alla fine era solo da ricordare il session_start() all'inizio di ogni pagina che utilizza la sessione!!