Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Cambiare variabile URL o aggiungerla.

    Ciao ragazzi, ho creato un sistema multilingua per il sito.
    Premetto che sto imparando ad usare PHP da poco quindi sto programmando un pò a modo mio, conosco già un linguaggio di programmazione chiamato mIRC quindi le basi le ho.
    In pratica appaiono 3 bandiere alla fine del menù (il menu é scritto su un file a parte chiamato menu.php e viene rincluso in ogni pagina) quando viene cliccata un link bandierina ricarica la pagina e aggiunge la variabile "lang=lingua" all'URL che sarà it/en/de in base alla bandiera selezionata, e ogni volta che si apre una pagina nuova si apre una sessione che controlla se nella barra esiste la var "lang" e se esiste setta $_SESSION[lang] con la variabile della nella barra.. se no tiene la lingua assegnata nella session, così da non trascinarmi la variabile nella barra per tutto il sito.
    Il codice é questo:

    codice:
                 
    $ita="href='" . $_SERVER['PHP_SELF'] . "?lang=it'><img src=\"images/b-ita.png\" width=\"28px\" height=\"28px\"></a>";              
    $eng="href='" . $_SERVER['PHP_SELF'] . "?lang=en'><img src=\"images/b-en.png\" width=\"28px\" height=\"28px\"></a>";                         
    $deu="href='" . $_SERVER['PHP_SELF'] . "?lang=de'><img src=\"images/b-de.png\" width=\"28px\" height=\"28px\"></a>";                 
    
    if ($lang==it) { $table1="<a style=\"background-position: 0 -30px;\" $ita";  }               else { $table1="<a $ita"; }             
    if ($lang==en) { $table2="<a style=\"background-position: 0 -30px;\"$eng"; }               else { $table2="<a $eng"; } 			 
    if ($lang==de) { $table3="<a style=\"background-position: 0 -30px;\"$deu"; }  			 
    else { $table3="<a $deu"; }  
    
    ?> 
    <table border="0"><tr> 
    <?     		
    echo "<td>$table1</td>\n";     		
    echo "<td>$table2</td>\n";     		
    echo "<td>$table3</td>\n";
    ?>
      </tr>
    	</table>
    Con questo codice controllo la lingua, inserisco i link con le bandierine in una tabella ed evidenzio il pulsante con la bandiera della lingua attuale con uno style.
    La variabile $lang é una variabile globale che viene settata in ogni pagina tramite uno script che controlla se nella barra c'è una variabile lang da settare o se no usare la lingua già settata nel $_SESSION[lang].
    Il problema ora é che se nella barra ho dentro altre variabili con questo sistema viene dato all'A HREF di ogni pulsante solo l'idirizzo della pagine attuale + la variabile del pulsante della lingua.
    C'è un sistema semplice ed efficace per aggiungere la variabile lang a tutte le altre già presenti nell'indirizzo?
    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Non puoi semplicemente sovrascrivere la variabile di sessione o aggiungerne una
    col valore della variabile get quando si sceglie una lingua?

  3. #3
    Hai pienamente ragione, avevo iniziato pensando di trascinarmi dietro la variabile nella barra, ma poi ho deciso di usare le sessioni.
    Ok grazie mille, ma comunque mi servirebbe lo stesso sapere come fare per aggiungere variabili alla barra..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.