Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    cambiare parametro di un mio file di config

    Allora....

    La cosa e' semplice da dire.
    In tutte le mie pagine includo un file che alla variabile $language = ../percorso cartella/ecc mette un percorso dove perscare il file per la lingua.

    Ora io vorrei far si che clikkando un link questo $language venga cambiato per tutte le pagine dove lo includo.

    Devo aprire uno stream sul file e scrivere il file di config???
    ciao e grazie

  2. #2
    Usa le sessioni!

    Controlli se la lingua è settata, se non lo è ci metti un valore di default (magari prendendolo dall'attuale file config) se invece è già settata lasci tutto com'è.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    potresti essere piu preciso?
    ho un po di problemi a fare come dici....

    Ho provato cosi : pagina di login questo codice
    session_start();
    include_once('../functions/gettext.php');
    $lang=$_SERVER["HTTP_ACCEPT_LANGUAGE"] ;
    $_SESSION['lang']=$lang;
    p.s. : tutte le pagine hanno session start

    poi faccio la login e navigo il sito...

    ora pero' se nel mio file di config scrivo cosi :
    session_start()
    echo $_SESSION['lang'];

    e questo file di config viene incluso nelle varie pagine dice
    A session had already been started - ignoring session_start()

    quindi? come faccio a metterla in sessione e infilarla nel mio file di cfg???

  4. #4
    No, non hai capito quello che intendevo dire.
    Andiamo in ordine.

    1) Nel file config crea una variabile che memorizzi la lingua che vuoi venga usata di default se l'utente ancora non l'ha scelta
    Codice PHP:
    $_CONFIG['lang'] = 'it' 
    2) Ora non so come tu gestisca le sessioni ma la regola vorrebbe che tu ne inizializzassi cmq una, anche se l'utente non è loggato. Ciò vuol dire che in ogni pagina fai questo controllo:

    Codice PHP:
    if ( !isset( $_SESSION['lang'] ) )
      {
        
    // La lingua non è settata
        // quindi la settiamo con quella di default
        
    $_SESSION['lang'] = $_CONFIG['lang'] ;
      } 
    Fino ad ora abbiamo visto come settare la lingua se questa non è stata scelta dall'utente.

    3) crea una pagina che chiamerai changeLang (o come vuoi chiamarla!). Quando l'utente cliccherà sul link per cambiare lingua (qualcosa tipo tuoindirizzo.it/changeLang.php?lang=en) sarà mandato a questa pagina che fa un cosa molto semplice:
    Codice PHP:
    $_SESSION['lang'] = $_GET['lang'] ;
    header'Location: tuoindirizzo.it' ) ; 
    Abbiamo quindi cambiato la lingua con cui visualizzare il sito e tutto indipendentemente dal fatto che l'utente sia loggato o meno.

    Importante notare che la pagina non stampa assolutamente niente essendo un semplice "ponte"! Una volta cambiata la lingua, infatti, rimanda alla home.

    Ti ho fatto creare una nuova pagina perchè in questo modo sei più libero di fare ciò che vuoi quando la lingua viene cambiata. Io uso lo stesso sistema e quando la lingua viene cambiata posso analizzare la provenienza dell'utente e rimandarlo alla pagina dalla quale ha cambiato lingua (ovviamente mostrandogliela nella nuova lingua scelta!), posso memorizzare la sua scelta sul db se ho le sessioni su db e posso fare qualunque altra cosa mi venga in mente e che mi serve quando la lingua viene cambiata.

    Hai capito? Se hai ancora qualche dubbio posta pure che ti spiego meglio il concetto. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ce l'ho fatta.
    grazie della spiegazione dettagliata.
    ti ringrazio moltissimo
    ciaoooo

  6. #6
    Di niente! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.