Pagina 8 di 10 primaprima ... 6 7 8 9 10 ultimoultimo
Visualizzazione dei risultati da 71 a 80 su 95
  1. #71
    sentite io faccio parecchio uso di funzioni per tenere il tutto ordinato

    ma all'intenro delle funzioni sto array mica si vede

    come se può fare

    ho provato a fare glocale l'array... ma credo sia una pazzia e poi nn m'è riuscito

  2. #72
    ok son riuscita rendere l'array globale e ora funziona tutto ...

    ho trovato una pillola sulle varibiali globali... è il caso che la legga bene

  3. #73
    domanda stupida forse, ma credo corretta

    Codice PHP:
    is_file("lang/".$_SERVER['HTTP_ACCEPT_LANGUAGE'].".php" 
    Se guardo però cosa restituisce php mi rendo conto che quello che esce è

    codice:
    [HTTP_ACCEPT_LANGUAGE] => it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
    Ora pensando a quel povero file .php come lo dovrei chiamare?

    Tipo così?

    codice:
    Warning: file(lang/it-it,it;q=0.8,en-us;q=0.5,en;q=0.3/lang_main.inc.php): failed to open stream:

  4. #74
    No, lo devi chiamare qualcosa tipo "it" o "en" e via dicendo. Sarà uno script php appositamente creato a restituire it, on, fr o altro a seconda della lingua contenuta in accept_language. Come interpretare la stringa ora non te lo so dire però se dai uno sguardo al manuale sicuramente ci sarà scritto come gestirla!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #75
    io utilizzo questo metodo:
    Codice PHP:
    $lang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  6. #76
    Originariamente inviato da sanbiv
    io utilizzo questo metodo:
    Codice PHP:
    $lang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
    Mitica, così prendi solo le prime 2 lettere...

    Utilizzerò così lo script, non ci pensavo proprio di usare substr..che scemo

    Ecco la mia versione
    Codice PHP:
    // IMPOSTAZIONE DELLA LINGUA
    if (isset($_SESSION['userlang']))
    {
        
    $language $_SESSION['userlang'];
    }
    elseif(isset(
    $_SERVER['HTTP_ACCEPT_LANGUAGE']) && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && is_file("lang/" substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) . "/lang_main.inc.php"))
    {
        
    $language substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    }
    else
    {
        
    $language $row['language'];
    }

    include(
    "./lang/" $language "/lang_main.inc.php"); 
    Che ne pensate? Dovrebbe essere corretto e semplice gestito così no?

  7. #77

    problemi sessione

    Ciao ragazzi
    ho provato il codice... ma il mio problema è che rimane settata sempre la lingua di default i cookie sono attivi.... dove sbaglio???

    il codice li sto provando sul sito (naturalmente tutto in costruzione) www.viaggisud.it/index.php

    ma date una dritta? è da ieri che ci sbatto senza fare un mm in avanti

    il codice che ho usato è:

    file config.php

    <? session_start();
    //operazione che legge tutte le variabili di GET e le pone in una variabile sistemata:
    foreach ($_GET AS $key=>$value) {
    if($key != "intl") {
    $stringa_get .= "&";
    $stringa_get .= $key."=".$value;
    }
    }

    //Lingua di default
    $defaultlang = "it";

    //Cartella dei file di lingua (relativa in base alla posizione del file di config)
    $langpath = "lang";



    //Se esiste la variabile di sessione 'lingua'
    if (isset($_SESSION['lingua'])) {
    //Se esiste il parametro WEB inviato tramite GET 'intl'
    if(isset($_GET['intl'])) {
    //Effettuiamo qualche aggiusto per eventuali hack...
    $_GET['lang'] = str_replace("/","", trim(strtolower($_GET['intl'])));
    //Se esiste il file di lingua corrispondente al parametro GET richiesto
    if (is_file($langpath."/".$_GET['intl'].".php")) {
    //Imposta la sessione 'lingua' con la lingua scelta
    $_SESSION['lingua'] = $_GET['intl'];
    //Altrimenti
    } else {
    //Imposta la sessione 'lingua' in quella di default
    $_SESSION['lingua'] = $defaultlang;
    }
    }
    //Altrimenti
    } else {
    //Imposta la sessione 'lingua' in quella di default
    $_SESSION['lingua'] = $defaultlang;
    }
    //Finalmente includiamo il file di lingua giusto
    include($langpath."/".$_SESSION['lingua'].".php");
    echo $langpath;
    echo $langpath."/".$_SESSION['lingua'].".php";
    ?>

    mentre il file index.php

    <?
    include("config.php");?>
    Inglese
    Italiano



    <? echo $_SESSION['lingua']; ?>



    <? echo $trad['titolosito']; ?>

    e poi ho creato sotto la cartella /lang
    i due file it.php e en.php (che sono uguali a parte la traduzione)

    <?

    setlocale(LC_ALL, "en_EN");

    //Iniziamo quindi con i contenuti in italiano del sito
    $trad['titolosito'] = "Radio Web Stereo - Your";
    $trad['titoloblocco1'] = "La tua radio";
    ?>

  8. #78
    ciao ragazzi ... ho risolto esattamente 1 minuto dopo avere scritto il forum... (notare che era da ieri che non risolvevo nulla)...

    il problema era solo che nei file it.php e en.php lasciavo l'intestazione della pagina html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>....

    bè.... grazie comunque per la veramente utile "pillola"

  9. #79
    grazie, figurati, cmq se ti interessa ho una MOD che rileva la lingua del browser e, se presente, imposta quella come default!
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  10. #80

    AGGIORNAMENTO 1.2

    Raga, ho fatto altre piccole modifiche che rendono ancora più perfetto lo script!

    [list=a][*]Bugfix: Corretto errore rilevazione lingua browser[*]Added: Protezione anti-hacking include();[/list=a]

    Ed eccovi qui il codice bello e sistemato:
    Codice PHP:
    $defaultlang "it";
    $browserlang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);

    if (isset(
    $_SESSION['lingua'])) {
        if(isset(
    $_GET['intl'])) {
            if (
    is_file("lang/".$_GET['intl'].".php")) {
                
    $_SESSION['lingua'] = $_GET['intl'];
            } else {
                
    $_SESSION['lingua'] = $defaultlang;
            }
        }
    } else {
        if(isset(
    $browserlang) and !empty($browserlang) and is_file("lang/".$browserlang.".php")) {
            
    $_SESSION['lingua'] = $browserlang;
        } else {
        
    $_SESSION['lingua'] = $defaultlang;
        }
    }
    if(
    preg_match('/[a-z]+/',$_SESSION['lingua']) && is_file("lang/".$_SESSION['lingua'].".php")) {
        include(
    "lang/".$_SESSION['lingua'].".php");
    } else {
        include(
    "lang/".$defaultlang.".php");

    se ci sono errori segnalatemeli, grezie!
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

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.