空白/空电子邮件PHP脚本

时间:2017-07-16 18:13:52

标签: php html

最近我的联系表格停止了工作,我收到了空白的电子邮件 没有来自填写的联系表格的数据,我试图解决问题 以各种方式,但找不到问题。

...

HTML:

<div class="col-lg-8 col-md-8 col-sm-12 col-xs-12 form_holder"> 
<!-- form holder -->
    <form action="includes/sendemail.php" class="contact-form">
        <input class="form-control name" type="text" name="name" placeholder="Uw Naam">
        <input class="form-control email" type="email" name="email" placeholder="Uw Email">
        <div>
        <p>
            <select class="element select medium" id="element_2" name="element_2"> 
                <option value="1" selected="selected">-- Maak uw keuze --</option>
                <option value="Ik heb een vraag" >Ik heb een vraag</option>
                <option value="Ik wil graag een informatie gesprek" >Ik wil graag een informatie gesprek</option>
                <option value="Ik wil pakket 1 aanvragen" >Ik wil pakket 1 aanvragen</option>
                <option value="Ik wil pakket 2 aanvragen" >Ik wil pakket 2 aanvragen</option>
                <option value="Ik wil pakket 3 aanvragen" >Ik wil pakket 3 aanvragen</option>
            </select>
            <input type="hidden" name="element" id="element_hidden">
        </div> 
        <textarea name="message" placeholder="Bericht"></textarea>                          
        <button type="submit" class="submit">Versturen! <i class="fa fa-arrow-circle-right"></i></button>
        <p>
            <a href="Algemene_voorwaarden.pdf" target="new">Algemene Voorwaarden</a>
    </form> <!-- End form holder -->

PHP:

<?php
// Define some constants
define( "RECIPIENT_NAME", "***********" );
define( "RECIPIENT_EMAIL", "**********" );

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

// If all values exist, send the email
if ( $senderName && $senderEmail && $message ) {
  $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
  $headers = "From: " . $senderName . " <" . $senderEmail . ">";
  $success = mail( $recipient, $subject, $message, $headers );
}

?>

提前致谢

1 个答案:

答案 0 :(得分:0)

首先要做的是在method="POST"代码中添加<form>因为<form>代码的默认方法是method="GET"所以正在使用$_POST的脚本1}}永远不会有效。

<form method="POST" action="includes/sendemail.php" class="contact-form">