PHP posta, farklı zaman damgası ile çiftleri gönderme

0 Cevap

Ben de sitemde bir PHP / AJAX formu var http://www.brianrhea.com (Request Projesi tıklayın)

Ben birden fazla bilgisayardan formu sınarken, bu benim için çalışıyor. Ancak, düzensiz bir yinelenen e-posta alacaksınız ve onlara ben çoğaltmak mümkün duyuyorum bir uyarı hata verdi göndermek için denedim en az bir kullanıcıdan duydum.

Bu ben kullanıyorum PHP. Potansiyel bir sorun olarak öne çıkıyor bir şey var mı?

<?php

//Retrieve form data. 
//GET - user submitted data using AJAX
//POST - in case user does not support javascript, we'll use POST instead
$name = ($_GET['name']) ? $_GET['name'] : $_POST['name'];
$email = ($_GET['email']) ?$_GET['email'] : $_POST['email'];
$subject = ($_GET['subject']) ?$_GET['subject'] : $_POST['subject'];
$comments = ($_GET['comments']) ?$_GET['comments'] : $_POST['comments'];

//flag to indicate which method it uses. If POST set it to 1
if ($_POST) $post=1;

//Simple server side validation for POST data, of course, you should validate the email
if (!$name) $errors[count($errors)] = 'Please enter your name.';
if (!$email) $errors[count($errors)] = 'Please enter your email.';
if (!$subject) $errors[count($errors)] = 'Please choose a subject.'; 
if (!$comments) $errors[count($errors)] = 'Please enter your comments.'; 

//if the errors array is empty, send the mail
if (!$errors) {

    //recipient
    $to = 'brianrhea@gmail.com';    
    //sender
    $from = $name . ' <' . $email . '>';

    //subject and the html message
    $subject = 'Comment from ' . $name; 
    $message = '
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body>
    <table>
        <tr><td>Name</td><td>' . $name . '</td></tr>
        <tr><td>Email</td><td>' . $email . '</td></tr>
        <tr><td>Subject</td><td>' . $subject . '</td></tr>
        <tr><td>Comments</td><td>' . nl2br($comments) . '</td></tr>
    </table>
    </body>
    </html>';

    //send the mail
    $result = sendmail($to, $subject, $message, $from);

    //if POST was used, display the message straight away
    if ($_POST) {
        if ($result) echo 'Thank you! We have received your message.';
        else echo 'Please verify that you have entered a valid email address.';

    //else if GET was used, return the boolean value so that 
    //ajax script can react accordingly
    //1 means success, 0 means failed
    } else {
        echo $result;   
    }

//if the errors array has values
} else {
    //display the errors message
    for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
    echo '<a href="form.php">Back</a>';
    exit;
}


//Simple mail function with HTML header
function sendmail($to, $subject, $message, $from) {
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
    $headers .= 'From: ' . $from . "\r\n";

    $result = mail($to,$subject,$message,$headers);

    if ($result) return 1;
    else return 0;
}

?>

0 Cevap