Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    [Sito multilingua] Problema con rilevazione directory di provenienza.

    Ciao raga,

    ho un sito multilingua i cui file di contenuto sono divisi in più cartelle così strutturate:

    - www.sito.it/it/index.php (e altri file) -> vers. italiana
    - www.sito.it/en/index.php (e altri file) -> vers. inglese
    - www.sito.it/fr/index.php (e altri file) -> vers. francese
    - www.sito.it/es/index.php (e altri file) -> vers. spagnolo

    Ora. Sto (come mi è stato gentilmente consigliato giorni fa proprio qui..ave a te..) separando la logica dal markup.

    Quindi, ad esempio, per il box sulla scelta della lingua ho una roba di questo tipo:

    File: menu-lingua.php
    Codice PHP:
    <?php
    # Language menu
    #
    # Questo file viene incluso in tutti i file del sito per evitare di riscrivere ogni volta in caso 
    # di ritoccate al sito/codice.
    #
     
    include_once('check-language.php'); # Questo file si occupa di verificare il linguaggio
    ?>
    <ul>[*][url="<?php echo $ita_link?>"]Italiano[/url][*][url="<?php echo $eng_link?>"]Inglese[/url][*][url="<?php echo $fra_link?>"]Francese[/url][*][url="<?php echo $spa_link?>"]Spagnolo[/url][/list]
    Come potete vedere nel file qui presente viene incluso un altro file che si occuperà di verificare da dove proviene l'utente e quindi stampare negli echo soprastanti il corretto link (e i corretti contenuti che qui non vengono esposti per essere breve).

    Il controllo viene effettuato in questo modo ma..

    File: check-language.php
    Codice PHP:
    <?php

    $page 
    $_SERVER['PHP_SELF'];

    switch (
    $page) {

      case 
    'index.php':
        
    # valorizzo le variabili da stampare in italiano..
      
    break;

      
    # ecc..
    }
    ?>
    Ma la variabile $_SERVER['PHP_SELF'] mi evidenzia solamente la fine del file (se aggiunta poi alla funzione basename ).

    E' evidente che sbaglio approccio alla risoluzione del problema. Quindi la domanda è:

    - Come faccio a sapere se l'utente si trova in it/index.php oppure in en/index.php e così via?


    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Ehm...testando online...se ho un file in:

    cartella/file.php

    Il quale all'interno contiene la chiamata a $_SERVER['PHP_SELF'], esso evidenzierà proprio:

    cartella/file.php



    Di conseguenza, credo che la soluzione "$_SERVER['PHP_SELF']" sia accettabile.

    Dico bene?

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.