Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    problema con sessioni cambio lingua

    ciao ho un problema al momento di cliccare sulla bandierina per cambiare lingua, clicco sul pulsante ma non mi cambia la lingua.



    CODICE TESTATO E FUNZIONANTE
    Codice PHP:
    <?php


    if (!isset( $_SESSION['lingua']))
    {

    $_SESSION['lingua'] = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);



    if (
    $_SESSION['lingua'] == "en")
    {
    include(
    'include_lingua_en.php');
    }
    if (
    $_SESSION['lingua'] == "it")
    {
    include(
    'include_lingua_it.php');

    if (
    $_SESSION['lingua'] != "it" && $_SESSION['lingua'] != "en")
    {
    include(
    'include_lingua_en.php');




    ?>


    CODICE TESTATO MA NON FUNZIONANTE
    Codice PHP:
    <?php


    <form enctype=\"multipart/form-data\" name=\"form\" action=\"$PHP_SELF\" method=\"post\">
      <input type=\"hidden\" name=\"
    $_SESSION[lingua]\" value=\"en\"/>
    <input name=\"ENG\" type=\"image\" src=\"flag_eng.png\" alt=\"ENG\" title=\"ENG\" width=\"78\"
    height=\"38\">
    </form>


    ?>

  2. #2
    Ma hai capito cosa fanno i 2 codici?

    Il primo imposta la lingua in una sessione in base HTTP_ACCEPT_LANGUAGE dell'array $_SERVER e poi include i file della lingua in base alla sessione.

    Il secondo è un semplice form che spedisce il codice della lingua memorizzato in sessione.

    Quindi mancano le istruzioni che leggano la variabile inviata con il form e cambi il valore della sessione.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    No, non ho capito cosa fanno i 2 codici... sai com'è l'ho scritti quando ero in trans.

    eheh


    ma quindi qual'è l'istruzione che manca?

    ops scusa mi ero dimenticato di scrivere il codice completo:

    Codice PHP:
    <?php


    if (!isset( $_SESSION['lingua']))
    {
    // verifica che la variabile $_SESSION non sia vuota

    $_SESSION['lingua'] = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
    //seleziona il codice relativo alla lingua di default, nel mio caso è it



    if (
    $_SESSION['lingua'] == "en")
    {
    include(
    'include_lingua_en.php');
    }
    if (
    $_SESSION['lingua'] == "it")
    {
    include(
    'include_lingua_it.php');

    if (
    $_SESSION['lingua'] != "it" && $_SESSION['lingua'] != "en")
    {
    include(
    'include_lingua_en.php');




    ?>



    <?php
    if(isset($_POST['lang'])) $_SESSION['lingua'] = $_POST['lang'];
    if(!isset(
    $_SESSION['lingua'])) $_SESSION['lingua'] = 'it';
    ?>

    Codice PHP:
    <?php


    <form enctype=\"multipart/form-data\" name=\"form\" action=\"$PHP_SELF\" method=\"post\">
      <input type=\"hidden\" name=\"lang\" value=\"en\"/>
    <input name=\"ENG\" type=\"image\" src=\"flag_eng.png\" alt=\"ENG\" title=\"ENG\" width=\"78\" height=\"38\">
    </form>


    ?>

    ma tanto non funziona uguale...

  4. #4
    Hai capito cosa fa, ma non trovi qual'è il problema?

    Tu includi prima i file delle traduzioni, e poi controlli il valore passato in post.
    E poi c'è un altro problema, nel form imposti la stessa lingua che stati usando.

    Prova così


    Codice PHP:

    <?php 

    if (!isset( $_SESSION['lingua'])) 

    // verifica che la variabile $_SESSION non sia vuota 

    $_SESSION['lingua'] = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2); 
    //seleziona il codice relativo alla lingua di default, nel mio caso è it 
    }  



    <?
    php 
    if(isset($_POST['lang'])) {
    if(
    $_POST['lang']=="it)
    $_SESSION['lingua'] = "en"; 
    else
    $_SESSION['lingua'] = "it"; 
    }

    ?> 


    if (
    $_SESSION['lingua'] == "en") 

    include('include_lingua_en.php'); 

    if (
    $_SESSION['lingua'] == "it") 

    include('include_lingua_it.php'); 
    }  
    if (
    $_SESSION['lingua'] != "it" && $_SESSION['lingua'] != "en") 

    include('include_lingua_en.php'); 
    }  

    ?> 



    <?php 


    <form enctype=\"multipart/form-data\" name=\"form\" action=\"
    $PHP_SELF\" method=\"post\"> 
      <input type=\"hidden\" name=\"lang\" value=\"en\"/> 
    <input name=\"ENG\" type=\"image\" src=\"flag_eng.png\" alt=\"ENG\" title=\"ENG\" width=\"78\" height=\"38\"> 
    </form> 


    ?>
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Funziona

    tancs

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.