Visualizzazione risultati 1 fino 4 di 4

Discussione: modifica form email php

  1. #1
    Guest

    Predefinito modifica form email php

    Salve, ho inserito un form email php nel sito... Ho cambiato i valori inglesi in italiano ma vorrei cambiare altre cose ma non avendo buone basi di php non ci riesco... quindi chiedo un vostro aiuto!!!
    Innanzitutto il sito è questo: http://straneleggende.altervista.org e il form si trova in basso nella home.

    Ora io vorrei eliminare il campo "email" ma il problema è che risulta obbligatorio compilarlo altrimenti non invia il messaggio. Ho provato a modificare il file php ma non ci riesco. Questo è il file php:
    Codice PHP:
    <?php
    $receiverMail
    = "XXXX@XXX.it";

    $name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
    $email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
    $subject = ltrim(rtrim(strip_tags(stripslashes($_POST['subject']))));
    $msg = ltrim(rtrim(strip_tags($_POST['msg'])));

    $ip = getenv("REMOTE_ADDR");
    $msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

    // VALIDATION
    if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
    echo
    "<h3>L'email non è stata inviata</h3><p>Assicurati di aver complitato tutti i campi</p>";
    }
    elseif(!
    ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
    echo
    "<h3>L'email non è stata inviata</h3><p>Indirizzo email non valido</p>";
    }
    else {
    mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
    echo
    "<h3>L'email è stata inviata</h3><p>Grazie per la visita</p>"; }
    ?>
    Mi dite cosa eliminare??? E poi se è possibile vorrei che quando si invia il messaggio oltre ad aprirsi la pagina di conferma, ci sarebbe anche un collegamento per tornare alla Home. Grazie mille in aticipo dell'aiuto!!!

  2. #2
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    Se vuoi eliminarlo del tutto:
    Codice PHP:
    <?php
    $receiverMail
    = "XXXX@XXX.it";

    $name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
    $subject = ltrim(rtrim(strip_tags(stripslashes($_POST['subject']))));
    $msg = ltrim(rtrim(strip_tags($_POST['msg'])));

    $ip = getenv("REMOTE_ADDR");
    $msgformat = "From: $name ($ip)\n\n$msg";

    // VALIDATION
    if(empty($name) || empty($subject) || empty($msg)) {
    echo
    "<h3>L'email non è stata inviata</h3><p>Assicurati di aver complitato tutti i campi</p>";
    }
    else {
    mail($receiverMail, $subject, $msgformat, "From: $name");
    echo
    "<h3>L'email è stata inviata</h3><p>Grazie per la visita</p>"; }
    ?>
    non testato ma dovrebbe andare :)
    Ultima modifica di darkwolf : 10-09-2009 alle ore 16.52.06
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  3. #3
    Guest

    Predefinito

    Perfetto funziona!!! In pratica io eliminavo quello che hai tolto tu tranne la stringa "elseif". Grazie mille!!!!

    E per quanto riguarda il collegamento per tornare alla Home dopo aver inviato la mail???

  4. #4
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    Citazione Originalmente inviato da straneleggende Visualizza messaggio
    Perfetto funziona!!! In pratica io eliminavo quello che hai tolto tu tranne la stringa "elseif". Grazie mille!!!!

    E per quanto riguarda il collegamento per tornare alla Home dopo aver inviato la mail???
    Basta inserire un semplice refresh a tempo in html
    Codice PHP:
    <?php
    $receiverMail
    = "XXXX@XXX.it";

    $name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
    $subject = ltrim(rtrim(strip_tags(stripslashes($_POST['subject']))));
    $msg = ltrim(rtrim(strip_tags($_POST['msg'])));

    $ip = getenv("REMOTE_ADDR");
    $msgformat = "From: $name ($ip)\n\n$msg";

    // Header
    echo "<html>
    <head>
    <meta http-equiv=\"Content-Language\" content=\"it\">
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
    <meta content=\"3;url=http://straneleggende.altervista.org/\" http-equiv=\"refresh\">
    <title>Send-Mail</title>
    </head>
    <body>\n"
    ;

    // VALIDATION
    if(empty($name) || empty($subject) || empty($msg)){
    echo
    "<h3>L'email non è stata inviata</h3>\n<p>Assicurati di aver complitato tutti i campi</p>\n";
    }else{
    mail($receiverMail, $subject, $msgformat, "From: $name");
    echo
    "<h3>L'email è stata inviata</h3>\n<p>Grazie per la visita</p>\n";}

    // Footer
    echo "<hr>
    <p>
    Redirect fra tre secondi: \n\"<a href=\"http://straneleggende.altervista.org/\">\nClicca qui per tornare subito alla homepage\n</a>\"
    </p>
    </body>
    </html>"
    ;
    ?>
    PS: l'header l'ho "clonato" basandomi sul tuo attuale.
    Sappi che comunque non rispetta alcuno standard di validazione.
    Ultima modifica di darkwolf : 11-09-2009 alle ore 15.44.20 Motivo: Alcune lievi correzioni :P
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


Regole di scrittura

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