Visualizzazione dei risultati da 1 a 2 su 2

Discussione: PHP mail()

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    5

    PHP mail()

    Ciao a tutti,

    ho trovato un utilissimo form già compilato. Vorrei modificarlo per poter inserire nell'oggetto della mail una differente dicitura, ovvero riprendere due campi del modulo richiesta.htm. Ovvero voglio inserire nell'oggetto della mail il campo "artista" seguito da un altro campo "titolo". Sapete come posso fare? Come posso inserire il campo subject?

    Ecco il codice:

    richiesta.htm

    code:

    <html>
    <head>
    <title>Richiesta Canzone
    </title>
    </head>
    <body bgcolor="#F7F7F7">
    <form method="post" action="formInvio.php">
    <input type="hidden" name="require" value="email,titolo,artista">
    <input type="hidden" name="contenitore" value="diretta@unicaradio.it">
    <input type="hidden" name="invia_Dati" value="REMOTE_HOST,HTTP_USER_AGENT">
    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td align="center" width="100%">


    <font size="2" color="#666666" face="Tahoma">Ascolta la tua canzone preferita</font>


    <input type="text" name="artista" value="Artista" onFocus="clearText(this)" class="inputbox" />

    <input type="text" name="titolo" value="Titolo Canzone" onFocus="clearText(this)" class="inputbox" />

    <input type="text" name="email" value="Tua E-mail" onFocus="clearText(this)" class="inputbox" />


    <input type="submit" value="Invia richiesta" class="inputbox" />

    <input type="reset" value="Cancella" class="inputbox"> </td>
    </form>
    </tr>
    </table>
    </center>
    </div>
    </html>

    forminvio.php

    code:

    <?
    /*
    formail completo, è possibile aggiungere qualunque campo
    è sufficiente inserire le due pagine in un punto qualunque
    del proprio dominio.
    by linkbruttocane
    */

    //INIZIO PARAMETRI DA SETTARE OBBLIGATORIAMENTE
    /************************************************** **************************************/
    // Il parametro $delay indica i secondi di ritardo impiegati
    // a riportare l'utente all'home page dopo che abbia
    // compilato correttamente il modulo

    $delay = "5";

    // Il parametro $url indica la pagina alla quale si viene
    // rimandati una volta compilato correttamente il modulo
    // io ho messo una homepage, ma potrebbe essere qualunque altra pagina

    $url = "http://www.unicaradio.it/richieste.htm";

    // Il parametro $provenienza indica le possibili provenienze dei dati: indicare
    // il proprio dominio nella forma mostrata dall'esempio

    $provenienza = array ('unicaradio.it','www.unicaradio.it','216.64.145.1 94');

    // Il parametro $esclusioni vi permette di NON consentire
    // messaggi da un indirizzo mail specificato
    // sia appartenente ad un dominio, ovvero
    // 'tutte le mail che appartengono ad un dominio'
    // od anche a singoli account

    $esclusioni = array ('*@quellochetipare.com', 'nomechetipare@dominio.com', 'altro@dominio.com');


    //FINE PARAMETRI DA SETTARE OBBLIGATORIAMENTE
    /************************************************** **************************************/

    $email = $_POST['email'];

    $versione_form = "stabile";

    function print_error($reason,$type = 0) {
    global $versione_form;
    build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet);
    if ($type == "missing") {
    ?>
    <body bgcolor='#F7F7F7'>
    <p align='center'><font face='Arial' color='#666666' size='2'>Il modulo non è
    stato inviato per le seguenti ragioni</font></p>

    <p align='center'><font face='Arial' size='2' color='#666666'>
    <?
    echo $reason."\n";
    ?>
    </font>
    <p align='center'><font face='Arial' size='2' color='#666666'>Premere indietro
    nel browser e riprovare.</font></p><?
    } else { // every other error
    ?>
    Il modulo non è stato inviato per le seguenti ragioni:<p align='center'>
    <?
    }
    echo "

    \n";

    exit;
    }


    function check_banlist($esclusioni, $email) {
    if (count($esclusioni)) {
    $allow = true;
    foreach($esclusioni as $banned) {
    $temp = explode("@", $banned);
    if ($temp[0] == "*") {
    $temp2 = explode("@", $email);
    if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1])))
    $allow = false;
    } else {
    if (trim(strtolower($email)) == trim(strtolower($banned)))
    $allow = false;
    }
    }
    }
    if (!$allow) {
    print_error("Stai usando un indirizzo email escluso.");
    }
    }


    function check_referer($provenienza) {
    if (count($provenienza)) {
    $found = false;
    $temp = explode("/",getenv("HTTP_REFERER"));
    $referer = $temp[2];
    for ($x=0; $x < count($provenienza); $x++) {
    if (eregi ($provenienza[$x], $referer)) {
    $found = true;
    }
    }
    if (!getenv("HTTP_REFERER"))
    $found = false;
    if (!$found){
    print_error("Provieni da un dominio non autorizzato.");
    error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0);
    }
    return $found;
    } else {
    return true; //
    }
    }
    if ($provenienza)
    check_referer($provenienza);

    if ($esclusioni)
    check_banlist($esclusioni, $email);


    function parse_form($array) {
    // build reserved keyword array
    $reserved_keys[] = "required";
    $reserved_keys[] = "redirect";
    $reserved_keys[] = "email";
    $reserved_keys[] = "require";
    $reserved_keys[] = "contenitore";
    $reserved_keys[] = "titolo";
    $reserved_keys[] = "bgcolor";
    $reserved_keys[] = "text_color";
    $reserved_keys[] = "link_color";
    $reserved_keys[] = "vlink_color";
    $reserved_keys[] = "alink_color";
    $reserved_keys[] = "title";
    $reserved_keys[] = "missing_fields_redirect";
    $reserved_keys[] = "invia_Dati";
    if (count($array)) {
    while (list($key, $val) = each($array)) {

    $reserved_violation = 0;
    for ($ri=0; $ri<count($reserved_keys); $ri++) {
    if ($key == $reserved_keys[$ri]) {
    $reserved_violation = 1;
    }
    }

    if ($reserved_violation != 1) {
    if (is_array($val)) {
    for ($z=0;$z<count($val);$z++) {
    $content .= "$key: $val[$z]\n";
    }
    } else {
    $content .= "$key: $val\n";
    }
    }
    }
    }
    return $content;
    }


    function mail_it($content, $titolo, $email, $contenitore) {
    mail($contenitore, $titolo, $content, "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
    }


    function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {
    if ($style_sheet)
    echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";
    if ($title)
    echo "<title>$title</title>\n";
    if (!$bgcolor)
    $bgcolor = "#F7F7F7";
    if (!$text_color)
    $text_color = "#80000";
    if (!$link_color)
    $link_color = "#0000FF";
    if (!$vlink_color)
    $vlink_color = "#FF0000";
    if (!$alink_color)
    $alink_color = "#000088";
    if ($background)
    $background = "background=\"$background\"";
    echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";
    }

    $contenitore_finale = split(',',$contenitore);
    for ($i=0;$i<count($contenitore_finale);$i++) {
    $contenitore_to_test = trim($contenitore_finale[$i]);
    if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}$", $contenitore_to_test)) {
    print_error("Occorre un indirizzo email valido per continuare ($contenitore_to_test) ");
    }
    }


    if ($required)
    $require = $required;

    if ($require) {

    $require = ereg_replace( " +", "", $require);
    $required = split(",",$require);
    for ($i=0;$i<count($required);$i++) {
    $string = trim($required[$i]);

    if((!(${$string})) || (!(${$string}))) {

    if ($missing_fields_redirect) {
    header ("Location: $missing_fields_redirect");
    exit;
    }
    $require;
    $missing_field_list .= "Non trovato: $required[$i]
    \n";
    }
    }

    if ($missing_field_list)
    print_error($missing_field_list,"missing");
    }


    if (($email) || ($EMAIL)) {
    $email = trim($email);
    if ($EMAIL)
    $email = trim($EMAIL);
    if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email)) {
    print_error("il suo indirizzo email non è valido");
    }
    $EMAIL = $email;
    }






    $content = parse_form($HTTP_POST_VARS);




    if ($invia_Dati) {
    $invia_Dati = ereg_replace( " +", "", $invia_Dati);
    $splitta_Dati = split(",",$invia_Dati);
    $content .= "Richiesta Musicale dal sito unicaradio.it";
    for ($i=0;$i<count($splitta_Dati);$i++) {
    $string = trim($splitta_Dati[$i]);
    if ($splitta_Dati[$i] == "REMOTE_HOST")
    $content .= "";
    else if ($splitta_Dati[$i] == "REMOTE_USER")
    $content .= "";
    else if ($splitta_Dati[$i] == "REMOTE_ADDR")
    $content .= "";
    else if ($splitta_Dati[$i] == "HTTP_USER_AGENT")
    $content .= "";
    }
    }


    if (!$titolo)
    $titolo = "Modulo dal sito";

    mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);


    if ($redirect) {
    header ("Location: $redirect");
    exit;
    } else {
    print "<body bgcolor='#F7F7F7'>

    <p align='center'><font face='Arial' size='2' color='#666666'>Controlla la tua mail</font>
    <font face='Arial' size='2' color='#666666'>per sapere quando verr&agrave; trasmessa</font>
    <font face='Arial' size='2' color='#666666'>la canzone che hai richiesto</font></p><meta http-equiv='refresh' content='$delay; url=$url'>



    </body>
    ";
    echo "

    \n";

    exit;
    }

    // <---------- fine ----------> //
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    5
    avete qualche idea?

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.