Visualizzazione dei risultati da 1 a 5 su 5

Discussione: processform

  1. #1

    processform

    Buongiorno a tutti, sono nuovo del forum e spero di aver postato nella sezione appropriata.
    Vi anticipo che è da poco tempo che mi cimento in html, ma gentilmente qualcuno di voi sa spiegarmi come mai questo processform, nonostante io definisca nome e email nei campi appositi, non manda email? Con altri php che ho utilizzato non ho avuto problemi...
    Vi lascio il codice:

    <?php


    // Define some constants
    define( "RECIPIENT_NAME", "YOUR NAME" );
    define( "RECIPIENT_EMAIL", "YOUR EMAIL" );
    define( "EMAIL_SUBJECT", "Visitor Message" );


    // Read the form values
    $success = false;
    $senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
    $senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
    $message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type/", "", $_POST['message'] ) : "";


    $messagecontent = "\r\n Name:" . $senderName . "\r\n Email:" . $senderEmail . "\r\n Message:" . $message;


    $SpamErrorMessage = "No Websites URLs permitted";
    if(preg_match("/http/i", "$senderName")) {echo "$SpamErrorMessage"; exit();}
    if(preg_match("/http/i", "$senderEmail")) {echo "$SpamErrorMessage"; exit();}
    if(preg_match("/http/i", "$message")) {echo "$SpamErrorMessage"; exit();}


    $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
    $headers = "From: " . $senderName . " <" . $senderEmail . ">";
    $success = mail( $recipient, EMAIL_SUBJECT, $messagecontent, $headers );


    ?>
    <html>
    <head>
    <title>Thank You</title>
    </head>
    <body style="background-color:#000;">
    <div style="margin-left:auto; margin-right:auto; margin-top:200px; text-align:center; color:#fff !important; font-size:24px; line-height:30px; font-weight:bold; font-family:Arial;">
    <?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
    <?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
    <p>Click your browser's Back button to return to the page.</p>
    </div>
    </body>
    </html>


    Grazie mille per l'eventuale aiuto.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, potrebbe essere non settato nel php.ini il modulo mail come si deve

  3. #3
    Ma infatti lo script funziona, l'ho appena testato.
    Sicuro però di aver personalizzato le costanti?
    define( "RECIPIENT_NAME", "YOUR NAME" );
    define( "RECIPIENT_EMAIL", "YOUR EMAIL" );
    define( "EMAIL_SUBJECT", "Visitor Message" );

    C'è un errore (ininfluente ai fini dell'invio della mail) nella preg_replace di $message, sicuro ci vada la "(" prima di From?
    Pensate i programmi a librerie, e innalzate il livello d'astrazione

  4. #4
    Grazie per le tempestive risposte ragazzi.
    Non saprei io l'ho copiato così come me lo apre Dreamweaver...

    Perdonate la mia poca dimestichezza, ma sulle costanti
    define( "RECIPIENT_NAME", "YOUR NAME" );
    define( "RECIPIENT_EMAIL", "YOUR EMAIL" );
    define( "EMAIL_SUBJECT", "Visitor Message" );

    devo inserire

    define( "mio nome ", "mio nome" );
    define( "nome@miodominio.it", "nome@miodominio.it" );
    define( "qui?", "qui? );

    oppure non ci ho proprio capito nulla?

    Grazie ancora


  5. #5
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Le define sono delle costanti che puoi riutilizzare nello script cosi':
    $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
    la definizione sta in DEFINE('
    RECIPIENT_NAME ','IL VALORE');
    Dove
    RECIPIENT_NAME è una stringa fra apici e senza spazi perchè nello script l userai poi appunto senza apici.
    Il valore può essere una stringa anche con spazi o numero o un'altra variabile (define)


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.