Visualizzazione risultati 1 fino 12 di 12

Discussione: Esempio di uso della funzione eval()

  1. #1
    Guest

    Predefinito Esempio di uso della funzione eval()

    Ciao Ragazzi, ho un problema.

    Nella pagina prova.php è definita una variabile $IDsession.
    Sempre nella pagina prova.php si trova una inserrogazione verso una colonna di tipo "text" del database. LA stringa ritornata dalla query è qualcosa del tipo:

    <A HREF="modules.php?module=homepage&IDsession=$IDses sion">link</A>

    Assegno questa stringa alla variabile $link. Però se faccio echo $link, nella pagina che arriva al client la variabile $IDsession non viene sostituita col reale ID di sessione della pagina prova.php

    Sono sicuro che la soluzione sta nella funzione eval() ma non riesco ad usarla per i miei scopi!

    aiutoooooooooooo

  2. #2
    L'avatar di ChromeX
    ChromeX non è connesso Utente attivo
    Data registrazione
    13-12-2002
    Residenza
    Melbourne, Australia
    Messaggi
    448

    Predefinito

    Esempio di uso della funzione eval()
    Example 1. eval() example - simple text merge
    Codice PHP:
    <?php
    $string
    = 'cup';
    $name = 'coffee';
    $str = 'This is a $string with my $name in it.';
    echo
    $str. "\n";
    eval (
    "\$str = \"$str\";");
    echo
    $str. "\n";
    ?>
    The above example will show:
    Codice PHP:
    This is a $string with my $name in it.
    This is a cup with my coffee in it.
    Non vedo come potresti usare eval() per risolvere questo tuo problema.

    Mi potresti far vedere il tuo codice in modo che lo possa provare nel mio programma? Non riesco a fare un immagine di quello che hai fatto

  3. #3
    L'avatar di ChromeX
    ChromeX non è connesso Utente attivo
    Data registrazione
    13-12-2002
    Residenza
    Melbourne, Australia
    Messaggi
    448

    Predefinito

    PS: forse ti funzionerebbe cosi:
    <?PHP $thisSession = Session_Name().'='.Session_ID(); ?>
    <HTMl>
    <a href=modules.php?module=homepage&<?PHP echo $thisSession;?>>link</a>
    <HTMl>

  4. #4
    Guest

    Predefinito

    Se vuoi passare una variabile (che pero' non venga valutata) in un link puoi quotarla con un \ ovvero
    \$variabile...

    p.s.: spero di aver colto il concetto perche' non mi e' molto chiaro


    fammi sapere

  5. #5
    Guest

    Predefinito

    ChromeX, ho provato a seguire la guida che mi hai segnalato ma nulla.

    Forse avete ragione...cercherò d spiegarmi meglio tramite pseudocodice e semplificando il problema.

    File prova.php

    * Istanzio e assegno un valore ad una variabile $azione="programmare";

    * estraggo dal database un testo che contiene la variabile $azione e lo assegno ad una variabile, ad esempio:
    $frase="Mi piace molto $azione";

    * echo $frase



    A questo punto nel browser mi viene scritto:
    Mi piace molto $azione

    Io vorrei che venisse scritto
    Mi piace molto programmare

    Sicuramente ci vuole eval...ma non so come

    Cmq tante grazie per gli interventi

  6. #6
    L'avatar di ChromeX
    ChromeX non è connesso Utente attivo
    Data registrazione
    13-12-2002
    Residenza
    Melbourne, Australia
    Messaggi
    448

    Predefinito

    Codice PHP:
    <?
    $azione
    = "programmare";
    $frase="Mi piace molto $azione";

    echo
    $frase;
    ?>
    Output:

    Codice:
    Mi piace molto programmare
    Non vedo dove sia il problema :)

  7. #7
    Guest

    Predefinito

    Il problema è che il contenuto della variabile $frase lo fetchi dal database.

    Chromex...riprova il tuo codice con l'unica variante che la variabile $frase sia frutto di una interrogazione di un campo text del db.
    Il questo campo text del db, scrivi "Mi piace molto $azione" (senza virgolette).

    Dovrebbe non funzionare.

  8. #8
    L'avatar di ChromeX
    ChromeX non è connesso Utente attivo
    Data registrazione
    13-12-2002
    Residenza
    Melbourne, Australia
    Messaggi
    448

    Predefinito

    non ho mysql installato in locale quindi non posso richiamarlo dal db :S

  9. #9
    Guest

    Predefinito

    peccato, cmq grazie tante ChromeX...sei stato molto paziente.

  10. #10
    L'avatar di ChromeX
    ChromeX non è connesso Utente attivo
    Data registrazione
    13-12-2002
    Residenza
    Melbourne, Australia
    Messaggi
    448

    Predefinito

    ho installato mysql in locale, ho provato ad aggiungere Mi piace molto $azione nel DB, ma non mi aggiunge $azione se non è settata, allora ho settato $azione = 'programmare' cosi nel database mi risulta:
    Mi piace molto programmare
    e come output
    Codice PHP:
    $result = mysql_query("SELECT test FROM test1");

    while (
    $row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf ("Test: %s", $row[0], $row[1]);
    }
    mi risulta:
    Test: Mi piace molto programmare

  11. #11
    Guest

    Predefinito

    Non c'e' assolutamente nessun problema con le variabili di php nel db di mysql. Se prendi un testo contenuto all'interno di una tupla che ha una variabile e po ne fai l'echo funziona come al solito.
    E' non c'e' bisogno di controllare... E' testo per db e testo per php...

    Ovviamente se vuoi inserire
    Mi piace molto $azione
    dovrai quotare la variabile
    Se vuoi aggiungere
    Mi piace molto programmare
    non devi quotare...
    Ultima modifica di demenziale : 22-08-2004 alle ore 21.29.36

  12. #12
    L'avatar di greenweb
    greenweb non è connesso Utente giovane
    Data registrazione
    07-03-2005
    Messaggi
    39

    Predefinito

    ho letto la doc ufficiale del php sulla funzione eval() ma non ne ho capito molto su come funziona e va usata. Confido in un vostro aiuto, magari con un esempio che mi chiarisca le idee, Grazie

Regole di scrittura

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