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

    require_once, non mi richiama il secondo file

    Ciao a tuttti
    sto lavorando sulla versione multilingua di un CMS. Fonsamentalmente ho dei file php in cui ci sono delle costanti e per ogni lingua ne viene definito il valore. Questi file stanno nel percorso, per esempio, "lingue/it/generali.php", "lingue/en/generali.php" e così via, e vengono chiamati tramite la funzione "require_once".
    Quando un utente si registra al sito chiamo una funzione che invia un'email all'utente e una all'amministratore (per avvertirlo della nuova registrazione) e quello che vorrei è che questa email fosse nella lingua dell'utente, per l'utente, e nella lingua dell'amministratore, per l'amministratore. Vi scrivo un esempio di come funziona (in pseudocodice eh?);
    codice:
    function registra_utente($dati)
    {
         if(registra_utente_nel_db($dati) == true)
         {
                invia_email_registrazione($dati['email'], $dati['lingua']);
                invia_email_registrazione(EMAIL_ADMIN, LINGUA_ADMIN);
         }
    }
    e la funzione che compone l'email è tipo questa:
    codice:
    invia_email_registrazione($email, $lingua)
    {
         require_once("lingue/$lingua/generali.php"); 
        etc...
    }
    Il problema è che nella seconda email che invia non mi chiamaa il require perché sembra che abbia già preso il file della prima lingua (e infatti la seconda email è nella lingua della prima).
    Come posso fare a fargli prendere due file diversi?
    Grazie mille, spero di essere stata abbastanza chiara

  2. #2

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ma non può essere che sia come dici. nel senso che il file viene richiamato.

    il guaio che richiami un file che contiene le stesse definizioni di costante. quindi non vengono sovrascritte.

    ti consiglio invece di usare le costanti di mettere il tutto in una classe e di richiamare di volta in volta i metodi che ti servono.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Innanzitutto grazie per la risposta!

    Ma il problema non può essere che i file chiamati hanno lo stesso nome? Perché in tutto il sito il cambio di lingua funziona correttamente, tranne li'...

    Prima di cambiare approccio vorrei riuscire a risolvere in questo modo perché purtroppo il sistema è già stato precedentemente sviluppato così (io ci sto "rimettendo le mani") e ovviamente sarebbe un lavoro più grosso cambiarlo tutto

  5. #5
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    si ma quando cambi la lingua carichi nella stessa sessione solo uno di quei file. in questo caso nella stessa sessione ne carichi due :d
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.