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

    sito multilingue: non si vede contenuto variabili

    ciao a tutti, ho un sito con una pagina index che comprende l'header e il footer di tutte le pagine del sito e include le pagine centrali di volta in volta a seconda della scelta dell'utente.

    Ho deciso di rendere il sito multilingue e ho seguito le istruzioni trovate qui http://forum.html.it/forum/showthrea...hreadid=839762 . Il problema è che ho provato a sostituire due parti di testo con il nome delle variabili, ad esempio
    Codice PHP:
     {$trad['zona']} 
    , che avevo inizializzato nella pagina it.php e en.php a valori per le rispettive lingue. Nella pagina che includevo ho tolto il testo e ho messo echo $nome_var; , ma il nome del link e il testo a cui esso rimandava, entrambi sostituiti da me con variabili, non appare.
    Il link prima era
    Codice PHP:
     <a href=\"?go=zona\"> La zona </a> 
    , dopo diventa
    Codice PHP:
     <a href=\"?lang={$_GET['lang']}&amp;go=zona\"> " $trad['zona'] .  " </a>. 
    che posso fare?

    grazie a tutti coloro che mi risponderanno.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    sarebbe utile vedere dove comincia l'echo

  3. #3
    ti posto tutta la pagina perché non ho capito a quale echo ti riferisci, se è quello del link che avevo postato comunque è a riga 163, due righe dopo la serie di ********** in giallo.

    Codice PHP:
    <?php
    //session_start();
    # error_reporting(0);
    // controlla il nome della connessione al DB
    include ("conness_database.php");
    // se c'è la var conto e è stato cliccato il logout si distrugge la sessione
    if (isset($_SESSION["conto"]) && isset($_GET["logout"])) 
        {
        
    session_unset();
        
    session_destroy();
        }
    //login
    if (isset ($_POST["login"])) {

        
    $user $_POST["user"];
        
    $password $_POST["pass"];
        
    /* questa query prende la ennupla dal database con NOME e PASSWORD inseriti nella form della pagina (NON nome oppure password ma nome E password, cioé entrambi i valori
         NELLA STESSA ENNUPLA)*/
            
    $l_utente_e_nel_database_o_no mysql_query("
        SELECT *
        FROM utenti
        WHERE 
        utenti_approvazione = 1 AND
        utenti_password = '
    {$password}' AND 
        utenti_email = '
    {$user}'
        LIMIT 1
        "
    );
        
    $dati_presi mysql_fetch_array ($l_utente_e_nel_database_o_no);
        
    #la session conto è inizializzata qui al valore del campo utenti_amministratore della tabella del DB
        
    $righe mysql_num_rows ($l_utente_e_nel_database_o_no);
        if (
    $righe == 1)
            {
            
    $_SESSION["conto"] = $dati_presi["utenti_amministratore"];
            
    // LA VARIABILE E-mail è inizializzata al valore della variabile $user, quindi quello che io inserisco nel campo username diventa la mia variabile $_SESSION["email"]
            
    $_SESSION['email'] = $user;
            
    // la variabile session id è inizializzata al valore del campo utenti id della tabella utenti
            
    $_SESSION['id'] = $dati_presi["utenti_id"];    
            }
    }
    $query_zona mysql_query ("
    SELECT *
    FROM zona
    ORDER BY zona_nome
    "
    );
    $query_tipo mysql_query ("
    SELECT *
    FROM tipoalloggio
    ORDER BY tipoalloggio_nome
    "
    );
    $query_opere mysql_query ("
    SELECT *
    FROM opera
    ORDER BY opera_titolo
    "
    );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
    <head>
    <title>Magna Grecia</title>


    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <style type="text/css" media="all">@import "css/screen.css";</style>
    <script type="text/javascript" src="js/prototype.js"></script>
    <script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
    <script type="text/javascript" src="js/lightbox.js"></script>
    <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
    </head>
    <body>

    <?php
        
    echo "
    <a href=\"
    {$_SERVER['PHP_SELF']}?lang=it\">Italiano</a> | <a href=\"{$_SERVER['PHP_SELF']}?lang=en\">English</a>
     <div id=\"login\">
      <ul>
      "
    ;

      
    # se esiste l'utente in memoria lo fai accedere e fai vedere il link logout
    if (isset($_SESSION["conto"])) {
         echo 
    "[*]
             <a href=\"?logout\">Esci</a>
            
            [*]
             [b]
    {$_SESSION['email']}[/b]
            "
    ;
        }
    else
        {
    //link login-registrazione
        // se non esiste si vede la voce login e quella registrazione
         
    echo  "[*]
             <a href=\"?go=login\">Accedi</a>
            
            [*]
             <a href=\"?go=registrazione\">Registrati</a>
            "
    ;
        }

    ?>[/list]
     </div>

     <div id="contenitore">
       <div id="intestazione">
         <div id="cerca">
        <form action="?go=cerca" method="post">
          <ul>
        [*]
              <h4>ricerca per tipo</h4>
              <select name="scegli_tipo">
                <option></option>
    <?php
    while ($presiT mysql_fetch_array ($query_tipo))
        {
        if (isset(
    $_POST["scegli_tipo"])&& ($_POST["scegli_tipo"])==($presiT["tipoalloggio_id"]))
            echo 
    "<option value='{$presiT["tipoalloggio_id"]}' selected='selected'>{$presiT["tipoalloggio_nome"]}</option>";
        else
        echo 
    "<option value='{$presiT["tipoalloggio_id"]}'>{$presiT["tipoalloggio_nome"]}</option>";
        }
    ?>
                  </select>
            
        [*]     
              <h4>ricerca per zona</h4>
        
            <select name="scegli_zona">
            <option></option>
    <?php
    while    ($presiZ mysql_fetch_array($query_zona)) {
         if (isset(
    $_POST["scegli_zona"]) && $_POST["scegli_zona"] == $presiZ["zona_id"])
            echo 
    "<option value='{$presiZ["zona_id"]}' selected='selected'>{$presiZ["zona_nome"]}</option>";
        else
            echo 
    "<option value='{$presiZ["zona_id"]}'>{$presiZ["zona_nome"]}</option>";
        }
    //ricerca per prezzo
            
    echo'
        [*]
            <h4>ricerca per prezzo<span> (fino a)</span></h4>
            <input type="text" name="prezzo_massimo" value="'
    .$_POST["prezzo_massimo"].'" /><span id="euro"> &#8364</span>'
           echo 
    '  
        [*]
            <h4>nome proprietario <span>(inserire cognome)</span></h4>
            <input type="text" name="proprietario" value="'
    .$_POST["proprietario"].'" />
             
        [*]
            <input type="submit" name="cerca" value="Cerca">
           
        
               <input type="reset" value="Pulisci">
           
        [/list]
       </form>'
    ;
       
     
    //  <a href=\"?go=zona\"> La zona </a>
    // *******************************************************************

       
    echo "
        </div>

    <div id=\"logo\"><img src=\"images/logo.png\" /><h1>Magna Grecia</h1></div>

       <div id=\"links\">
        <ul>[*]
        <a href=\"?lang=
    {$_GET['lang']}&amp;go=zona\"> " $trad['zona'] .  " </a>
          [*]
        <a href=\"?go=storia\">La storia</a>
          [*]
        <a href=\"?go=parco\">Il parco della Sila</a>
          [*]
        <a href=\"?go=mare\">Il mare</a>
          [*]
        <a href=\"?go=mappe\">Mappe</a>
          [*]
        <a href=\"?go=alloggi\">Alloggi</a>
          [*]
        <a href=\"?go=scritti\">Scritti</a>[*]
        <a href=\"?go=img\">Immagini</a>
          [*]
        <a href=\"?go=contatti\">Contatti</a>
          
        "
    ;
    #se la variabile session conto è 1 allora l'utente è l'amministratore, può smanettare alloggi, utenti e inserire
    if ($_SESSION['conto'] == 1)
        echo 
    '
             [*]
              [url="?go=nuovo_alloggio"]Nuovo alloggio[/url]
             
            [*]
              [url="?go=nuovo_scritto"]Nuovo scritto[/url]
            
            [*]
              [url="?go=nuova_img"]Nuova immagine[/url]
            
            [*]
               [url="?go=gestisci_utenti"]Gestisci utenti[/url]
            
            [*]
               [url="?go=gestisci_alloggi"]Gestisci alloggi[/url]
            
        [*]
               [url="?go=gestisci_prenotazioni"]Gestisci prenotazioni[/url]
            
        [*]
               [url="?go=gestisci_scritti"]Gestisci scritti[/url]
            
            [*]
               [url="?go=gestisci_img"]Gestisci immagini[/url]
            
            [/list]'
    ;
              
    #l'utente che ha session conto = 2 è un utente normale, può solo inserire
    if ($_SESSION["conto"] == 2)
        echo 
    '<span id="accesso">benvenuto!</span>
              <ul>
            [*]
              [url="?go=nuovo_alloggio"]Nuovo alloggio[/url]
            
        [*]
              [url="?go=nuovo_scritto"]Nuovo scritto[/url]
            
            [*]
              [url="?go=nuova_img"]Nuova immagine[/url]
            
            [/list]'
    ;
    ?>
           </div>
           <div id="contenuto">
    <?php
    // se nella url non c'è un valore eguagliato alla parola "go", quindi se è la pag index, includi la home page
    if (!isset($_GET['go']))
        include(
    "pag_home.php");
    else {
         
    // se la parola 'go' è trasmessa nella url e si legge pag_il-qualcosa-che-è-eguagliato-al-go.php allora includi nel mezzo della pagina la pagina tra parentesi
         
    if(isset($_GET['go'])&&(is_readable("pag_".$_GET['go'].".php")))
            include 
    "pag_".$_GET['go'].".php";
         else
            include 
    "pag_errore.php";
        }

    ?>
          </div>
             
              <div id="footer">
               <ul>
            [*][url="http://jigsaw.w3.org/css-validator/check/referer"]css[/url]
            [*][url="http://validator.w3.org/check?uri=referer"]xhtml[/url]
            [*]&copy; 2010
        [/list]
          </div>
        </div>
          </div>
      </body>
    </html>
    per quanto riguarda la pagina con l'echo della variabile che riporta il contenuto del link, pag_zona.php, invece il codice è semplicemente questo:


    Codice PHP:
    <?php
    echo $trad['zona_testo'];
    ?>
    la pagina dove impostavo le variabili, in italiano, it.php, è questa.
    Codice PHP:
    <?
    //Impostiamo data, ora e giorni della settimana, insomma tutto in italiano
    setlocale(LC_ALL"it_IT");

    //Iniziamo quindi con i contenuti in italiano del sito
    $trad['titolosito'] = "Magna Grecia";
    $trad['zona'] = "La zona";
    $trad['zona_testo'] = '<h2>zona</h2><h3><span class="mw-headline" id="Orografia">Orografia</span></h3>


    La [i]Calabria[/i] ha una superficie prevalentemente collinare, che si estende per il 49,2% del suo territorio. Presenta ampie zone montuose che coprono il 41,7% del suo territorio:</p>'
    ;

    ?>
    scusa i dieci Km di codice ma non sono molto pratico ..

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.