Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    mantenere la stessa lingua al cambio pagina

    buonasera,

    ho una domanda, sto sviluppando un sito in multilingua e sulla homepage effettuo il controllo de la lingua non è stata passata la setta in inglese di default.. e faccio così

    Codice PHP:
    <?php
    isset($_GET['lang']) ? $lang $_GET['lang'] : $lang 'en';
    require(
    "{$lang}.php");
    ?>
    e fin qui tutto okkai... io in questa homepage ho il menù tramite cui cambio lingua, quindi se premo italiano mi traduce tutta la pagina in italiano, però se da questa mia homepage cambio pagina e vado su un altra, mi ritorna in lingua inglese... ora io come posso fare a mantenere la lingua selezionata anche dopo che cambio la pagina?

    ora posto un pò di codici magari possono essere utili ad aiutarmi

    qui ci sono una serie di link presenti sulla homepage

    Codice PHP:
        <ul id="topmenu">[*][url="index.php"]<?php echo $lingua['mb0']; ?>[/url][*][url="privati.php"]<?php echo $lingua['mb1']; ?>[/url][*][url="imprese.php"]<?php echo $lingua['mb2']; ?>[/url][*][url="traduzioni.php"]<?php echo $lingua['mb3']; ?>[/url][*][url="chisiamo.php"]<?php echo $lingua['mb4']; ?>[/url][/list]
    e mentre questo è il menù da cui cambio lingua (presente solo nella homepage)

    Codice PHP:
      <ul id="langmenu">[*]<?php echo "[url='".$_SERVER[']"; ?>English[/url][*]<?php echo "[url='".$_SERVER[']"?>Italiano[/url][*]<?php echo "[url='".$_SERVER[']"; ?>Русский язык[/url][*]<?php echo "[url='".$_SERVER[']"?>中国的[/url][*]<?php echo "[url='".$_SERVER[']"; ?>عربي[/url][/list]
    spero che qualcuno riesca a darmi un aiuto o qualche spiegazioni al riguardo, grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    ovviamente se io vado alla pagin

    /privati.php?lang=it

    mi funziona tutto perfettamente....

    se invece vado alla pagina

    /privati.php

    non funziona come vorrei,

    quindi ho provato a passare il linguaggio tramite GET ma non mi funziona...

  3. #3
    Metti la lingua in sessione una volta per tutte piuttosto che passarla in GET ad ogni cambio di pagina ed aggiorna la sessione solo se viene esplicitamente modificata la lingua.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    invece di

    Codice PHP:
    <?php
    isset($_GET['lang']) ? $lang $_GET['lang'] : $lang 'en';
    require(
    "{$lang}.php");
    ?>
    devo fare

    Codice PHP:
    <?php
    isset($_SESSION['lang']) ? $lang $_SESSION['lang'] : $lang 'en';
    require(
    "{$lang}.php");
    ?>
    ?

    ma scusa io la lingua la prendo così:

    Codice PHP:
    <a href='".$_SERVER['PHP_SELF']."?lang=en'>"; 
    quindi la prendo da GET

    se faccio come dici tu non la prende più....

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    non riesco a farlo :\ mi sto scervellando ho provato a ragiunarci su ma non capisco come farlo

    io dalla homepage guardo se il valore è stato passato da GET se non è stato passato setta in automatico la lingua inglese, una volta che cambio lingua mi rigenera la pagina nella lingua desiderata,

    cosa devo cambiare non l'ho capito, cioè la lingua che passo con il get la devo mettere in una variabile di sessione poi aprire la sessione ogni qualvolta che cambio lingua? e inoltre quando cambio pagina devo leggere la sessione anzichè il get?

  6. #6
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    il $_GET ti serve comunque per impostare la lingua scelta o di default, ma va salvato in una sessione la quale andrà controllata in ogni pagina per poter caricare la lingua giusta
    If you think your users are idiots, only idiots will use it. DropBox

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    ok infatti io avevo fatto così

    nella homepage ho messo per esempio

    Codice PHP:
    <?php
    isset($_GET['lang']) ? $lang $_GET['lang'] : $lang 'en';
    require(
    "{$lang}.php");
    ?>
    e questa è la homepage con il $lang impostato a default nel caso non viene passato, poi avevo inserito prima dell'isset un session_start(); e prima del require avevo fatto un $_SESSION['lang']=$lang;

    poi nella pagina per esempio privati.php quindi un'altra pagina avevo fatto, session_start();
    if($_SESSION['lang']) { require("{lang}.php");

    ma non funziona...

  8. #8
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    Codice PHP:
    if($_SESSION['lang']) { require("{lang}.php"); 
    non credi che manchi qualcosa?
    If you think your users are idiots, only idiots will use it. DropBox

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    no al momento non mi viene nulla in mente infatti son fermo :\

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    so solo che ho questo errore:


    Parse error: syntax error, unexpected T_REQUIRE in C:\xampp\htdocs\italianluxury\privati.php on line 3

    e la linea 3 è appunto quella che hai scritto tu poco fa...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.