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

    Echo con dentro codice php

    Ciao a tutti!

    Devo creare dinamicamente un modulo contatti, ma non mi esegue il codice php.
    Usando la funzione echo("$codice");
    con $codice preso da database uguale a
    <?php
    if(isset($_POST["email"]))
    {
    $messaggio=$_POST["messaggio"];
    $email=$_POST["email"];
    $nome=$_POST["nome"];
    $oggetto=$_POST["oggetto"];
    mail("info@prova.it",$nome." - ".$oggetto,$messaggio,"From: <$email>");
    echo("

    <font size='3' face='Arial'>Messaggio inviato.</font></p>");
    }
    ?>

    <form method="post" name="modulo" id="modulo" action="index.php?pagina=contatti&protetto=no&ling ua=italiano" enctype="multipart/form-data">
    <table border="0" width="100%" cellspacing="0" cellpadding="0" height="106">
    <tr>
    <td width="13%" height="33"><font size="2" face="Arial" color="#333333">Nome:</font></td>
    <td width="87%" height="33"><font color="#333333"><input type="text" name="nome" size="25"></font></td>
    </tr>
    <tr>
    <td width="13%" height="33"><font size="2" face="Arial" color="#333333">Email:</font></td>
    <td width="87%" height="33"><font color="#333333"><input type="text" name="email" size="25"></font></td>
    </tr>
    <tr>
    <td width="13%" height="33"><font size="2" face="Arial" color="#333333">Oggetto:</font></td>
    <td width="87%" height="33"><font color="#333333"><input type="text" name="oggetto" size="25"></font></td>
    </tr>
    <tr>
    <td width="13%" height="33"><font size="2" face="Arial" color="#333333">Testo:</font></td>
    <td width="87%" height="33"><textarea rows="11" name="messaggio" cols="80"></textarea></td>
    </tr>
    <tr>
    <td width="13%" height="9"></td>
    <td width="87%" height="9"></td>
    </tr>
    <tr>
    <td width="13%" height="21"></td>
    <td width="87%" height="21"><font color="#333333"><input type="submit" value="Invia Email" name="B1"></font></td>
    </tr>
    </table>
    </form>

    Ringrazio

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    Innanzitutto non puoi mettere le variabili direttamente nell'url del form se usi il metodo POST.

    Codice PHP:
    action="index.php?pagina=contatti&p ..... 
    Devi inserirli come attributi hidden.

    In più se scrivi

    Codice PHP:
    echo("$codice"); 
    puoi evitare i doppi apici.

    Ciao
    " Write. Less. Code. "
    ---------------------------------------
    Hotel Booking Software

  3. #3
    echo non fa altro che scrivere del testo: non può esguirlo, per fare ciò devi usare la funzione eval, nel tuo caso
    Codice PHP:
    <?php
    eval($codice);
    ?>

    PS: per scrivere del codice php sul forum, usa, possibilmente, gli appositi tag, in questo modo lo rendi più leggibile

  4. #4
    Originariamente inviato da quit10
    echo non fa altro che scrivere del testo: non può esguirlo, per fare ciò devi usare la funzione eval, nel tuo caso
    Codice PHP:
    <?php
    eval($codice);
    ?>

    PS: per scrivere del codice php sul forum, usa, possibilmente, gli appositi tag, in questo modo lo rendi più leggibile
    Grazie della risposta e del consiglio, ma la funzione eval non mi funziona... che testa che sono...

  5. #5
    Deve essere perchè non c'è solo codice php nel codice da eseguire.
    A questo punto non posso che consigliarti questo:
    Codice PHP:
    <?php
    $open
    =fopen("code.php","w");//creo un nuovo file.php
    fwrite($open,$codice);//inserisco nel file il codice da eseguire
    fclose($open);//chiudo il file
    include("code.php");
    unlink("code.php");
    ?>
    E' un codice un po' forzato:
    prima crei un nuovo file php con il codice da eseguire, poi lo includi, facendolo eseguire e infine lo cancelli, non è certo un codice pulito, ma, se non funziona eval, non so come altro si possa fare...

  6. #6
    Originariamente inviato da quit10
    Deve essere perchè non c'è solo codice php nel codice da eseguire.
    A questo punto non posso che consigliarti questo:
    Codice PHP:
    <?php
    $open
    =fopen("code.php","w");//creo un nuovo file.php
    fwrite($open,$codice);//inserisco nel file il codice da eseguire
    fclose($open);//chiudo il file
    include("code.php");
    unlink("code.php");
    ?>
    E' un codice un po' forzato:
    prima crei un nuovo file php con il codice da eseguire, poi lo includi, facendolo eseguire e infine lo cancelli, non è certo un codice pulito, ma, se non funziona eval, non so come altro si possa fare...
    Ciao Grazie, purtroppo continua a non funzionare... come mai non lo so...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    Mah... prova a dividere le 2 "zone" e passare a eval() solo la parte dentro ai tag php (una cosa simile a un parser, ma più semplificata).
    " Write. Less. Code. "
    ---------------------------------------
    Hotel Booking Software

  8. #8
    Originariamente inviato da tokki
    Mah... prova a dividere le 2 "zone" e passare a eval() solo la parte dentro ai tag php (una cosa simile a un parser, ma più semplificata).
    Grazie tokki, ho fatto così, ma non funziona... che misteri

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Originariamente inviato da artux
    ... ma la funzione eval non mi funziona...
    in che senso "non mi funziona"? Se ottieni un qualche errore posta il riferimento corrispondente oppure puoi spiegare meglio?

  10. #10
    Originariamente inviato da eiyen
    in che senso "non mi funziona"? Se ottieni un qualche errore posta il riferimento corrispondente oppure puoi spiegare meglio?
    Grazie ho risolto, non so come, ma ho risolto

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.