Visualizzazione risultati 1 fino 14 di 14

Discussione: Include e variabli

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Include e variabli

    Ciao popolo di AlterVista,

    come prima cosa mi scuso per il titolo ma proprio non sapevo cosa inserire...ora passando a noi...ho queste pagine:

    a.php
    Codice PHP:
    <?php
    $out
    [1] = "ciao";
    $out[2] = "mondo";
    $out[3] = "anni";
    $out[4] = "ore";
    $out[5] = "minuti";
    $out['bla'] = "metri";
    ?>
    b.php
    Codice PHP:
    <?php $out[qualsiasi_scelta] = "http://sito.com/api.php?id=".$out[qualsiasi_scelta]; ?>
    *.php
    Codice PHP:
    <?php include("a.php"); echo $out[3]; ?>/* HTML */<?php echo $out['bla']; ?>
    Se io cambiassi l'include in:

    Codice PHP:
    <?php include("b.php"); echo $out[3]; ?>/* HTML */<?php echo $out['bla']; ?>
    Come posso fare che qualsiasi valore abbia $out[] venga ritrovato in un link?

    Spero di essermi spiegato e/o di essere stato chiaro...
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    Premesso il fatto che ho capito ben poco delle premesse e di ciò che vuoi ottenere, devi in qualsiasi caso includere anche a.php, altrimenti l'array non esiste.


    Ciao!

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Già è un particolare che ho tralasciato...quindi il mio codice PHP verrebbe così:
    Codice PHP:
    <?php include("a.php");

    $out[qualsiasi_scelta] = "http://sito.com/api.php?id=".$out[qualsiasi_scelta]; ?>
    Ma poi? Come continuo?
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Premesso il fatto che ho capito ben poco delle premesse e di ciò che vuoi ottenere...



    ciaooooo!

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    *.php
    Codice PHP:
    <?php include("a.php"); echo $out[3]; ?>
    Se io invece usassi b.php e come se b.php diventasse così:
    Codice PHP:
    <?php include("a.php");

    $out[qualsiasi_scelta_in_questo_caso_3] = "http://sito.com/api.php?id=".$out[qualsiasi_scelta_in_questo_caso_3]."&traduzione_da=italiano&traduzione_in=english"; ?>
    In pratica se includo a le variabili sono tutte valorizzate e quindi mostra direttamente il contenuto, mentre in b deve essere una sola variabile che le sostituisce tutto in quanto traduce automaticamente le parole nella lingua scelta utilizzando le API di un sito...sono stato più chiaro?
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    Guest

    Predefinito

    Perdonami, ma no, non ti ho capito.
    Aspetta qualuno di più lucido di me! :D


    Ciao!!!!

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    No perdonami tu...sono io che non riesco a spiegarmi perchè non so nemmeno come fare...non ho un codice da mostrarti perchè sto partendo da 0...riproviamo da capo:

    Ho due file, a.php e b.php costruiti così:

    a.php
    Codice PHP:
    <?php
    $out
    [1] = "parole";
    $out[2] = "mondo";
    $out[3] = "ciao";
    ?>
    b.php
    Codice PHP:
    <?php
    $out
    [1] = "words";
    $out[2] = "world";
    $out[3] = "hello";
    ?>
    Uno di questi due file vieni incluso in una pagina affinchè l'utente visualizzi determinate parole nella sua lingua:
    Codice PHP:
    <?php include("a.php"); echo $out[1]; >?
    Quindi fin qui penso sia chiaro...a seconda dell'inclusione del file viene mostrato del testo in una lingua.

    Ora ho trovato le API di un sito che permettono di tradurre una determinata parola/frase e quindi io vorrei che al posto di:
    b.php
    Codice PHP:
    <?php
    $out
    [1] = "words";
    $out[2] = "world";
    $out[3] = "hello";
    ?>
    Ci fosse una cosa simile:
    b.php
    Codice PHP:
    <?php
    include("a.php");
    $out[qualsiasi] = "http://sito.com/api.php?id=".$out[qualsiasi]."&traduzione_da=italiano&traduzione_in=english";
    ?>
    In pratica se io adesso faccessi:
    Codice PHP:
    <?php include("b.php"); echo $out[1]; >?
    E' come se $out[1] contenesse la risposta di http://sito.com/api.php?id=parole&traduzione_da=italiano&traduzione_in=english che in questo caso è words...

    Spero che questa volta mi sono spiegato meglio...
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    Guest

    Predefinito

    Puoi provare a catturare l'output con le funzioni ob_*()

  9. #9
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Senò puoi fare

    Codice PHP:
    <?php

    $stringa
    = "Parole ciao terra";
    $out_ita = array("parole","ciao","terra");
    $out_eng = array("words", "hello", "earth");

    $lingua_da = $_GET["traduzione_da"];
    $lingua_in = $_GET["traduzione_in"];

    switch(
    $lingua_da)
    {
    case
    "italiano":
    if(
    $lingua_in == "inglese")
    {
    $stringa = str_replace($out_ita, $out_eng, $stringa);
    }
    break;
    case
    "inglese":
    if(
    $lingua_in == "italiano")
    {
    $stringa = str_replace($out_eng, $out_ita, $stringa);
    }
    break;
    }
    echo
    $stringa;
    ?>
    Però riguardando NON SO se è quello che vuoi :-)

    edit: no, in effetti non è proprio quello che cerchi...però quello che deve fare lo fa!
    Ultima modifica di Leo91 : 16-06-2009 alle ore 19.36.17

  10. #10
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Infatti Leo91...qui c'ero arrivato anch'io (senz'offesa)...il fatto e che a volte ci sono collegamenti di mezzo e/o testi lunghi...quindi il mio scopo è avere 1 file italiano dove ci sono tutte le variabili ed altri in altre lingue che con una sola variabile e le API di un sito sostituiscono il tutto...diciamo che sto rifacendo messenworld e mi volevo semplificare la vita...ma purtropo non so se ci riuscirò...
    Apprezzi l'aiuto? Offrimi un caffè!

  11. #11
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Infatti Leo91...qui c'ero arrivato anch'io (senz'offesa)...il fatto e che a volte ci sono collegamenti di mezzo e/o testi lunghi...quindi il mio scopo è avere 1 file italiano dove ci sono tutte le variabili ed altri in altre lingue che con una sola variabile e le API di un sito sostituiscono il tutto...diciamo che sto rifacendo messenworld e mi volevo semplificare la vita...ma purtropo non so se ci riuscirò...
    Quindi hai bisogno di due pagine che abbiano parole in italiano e corrispondenti in inglese?

    La logica è la stessa, io l'ho solo fatto in una pagina.
    Praticamente potresti "includere" quelle parole anche da database o file di testo che sia...

    Cioè con quella semplice funzione, il php ti va a cercare la posizione delle parole nell'array/db/fileditesto e le sostituisce con quelle che hanno medesima posizione; in ogni caso.

    Sarò duro ma non capisco perchè non ti vada bene...

    edit: cioè la frase può anche essere "oggi sono andato nella terra a vedere alcune parole che mi facevano "ciao terra! Come vanno le parole"" e ritrovartela "oggi sono andato nella earth a vedere alcune words che mi facevano "hello earth! come vanno le words""
    Ultima modifica di Leo91 : 16-06-2009 alle ore 19.51.31

  12. #12
    Guest

    Predefinito

    Come faccio io.

    In un file globale definisci $out = array();

    Poi crei diversi file e nel file dove richiami questi file di lingua, basta che usi: $out['nome'];

    In questo caso pescherà la variabile nel file in base alle condizioni che fai.

    Per esempio, io uso questo per tradurre il mio sito:
    Codice PHP:
    $user_lang = (!(empty($_GET['lang']))) ? get_language($_GET['lang']) : get_language('it');
    $user_lang_cut = $user_lang['lang'];
    $user_lang_name = $user_lang['lang_name'];
    $user_lang_name_complete = $user_lang['lang_name_complete'];

    include_once(
    './lng/lang_' . $user_lang_cut . '.' . PHP_EXT);
    Con una funzione trovo la lingua ed includo, se non esiste ne metto una di default.

    Ho una cartella lng/ dove ho, lang_it, lang_en e così via, con le stesse variabili, ma contenuto diverso

  13. #13
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Azz..in effetti non avevo pensato che "tradurre" non significa cambiare parola per parola xD

    Sorry, quello si chiama "Strumenti per le lingue G©"!

  14. #14
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    [Premesso che ci ho capito ben poco]

    Ma un semplice file xml con un bel parser? :)

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •