0

下面是我使用的表单的 HTML。

<form action= "<?php echo get_template_directory_uri() . '/sendmail.php'; ?>" method="POST" id="contactForm">

    <div class="row alignleft infieldlabel">
        <p class="form_label">Name</p>
        <input type="text" id="name" name="yourname" value="" class="inputtext input_middle required">
    </div>

    <div class="space"></div>

    <div class="row alignleft infieldlabel">
        <p class="form_label">Email</p>
        <input type="text" id="email" name="email" value="" class="inputtext input_middle required">
    </div>

    <div class="clear"></div> 
    <p class="form_label">Select Subject</p>
    <div class="styled-select">
        <select id="subject">
            <option>Personal Injury</option>
            <option>Wrongful Death</option>
            <option>Litigation</option>
        </select>
    </div>  

    <div class="clear"></div>   

    <div class="row infieldlabel">
        <p class="form_label"><?php echo $eto_options["eto_textinput"];?></p>
        <textarea id="message" cols="30" rows="10" name="message" class="textarea textarea_middle required"></textarea>
    </div>

    <div class="row rowSubmit">
        <input type="submit" id="send" value="Send" class="contact_btnsubmit">                                
    </div>
</form>

我使用以下脚本尝试发送信息。电子邮件只是一个例子,在实际使用中我有一个正确的电子邮件地址。

$email = $_POST['mail@example.com']; 

$to = $email; // email to send to...
$subject = $_POST["subject"];
$message = $_POST["message"];
$headers = 'From:' $_POST["email"] . "\r\n" .
    'Reply-To: Reply to email' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

另外我应该注意,当我点击表单上的提交按钮时,没有任何反应,页面没有加载或任何东西。这也是在 wordpress 中,因此 html 中的 php 随机位。

4

2 回答 2

1

问题出在标题中,这给了我一个错误。

您的标题包含Reply-To: Reply to<= 2x 回复语句

$headers = 'From:' $_POST["email"] . "\r\n" .
'Reply-To: Reply to email' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

给了我以下错误:

解析错误:语法错误,意外'$_POST' (T_VARIABLE) in...

这是在我的测试表单中使用它时的工作代码:

<form action= "sendmail.php" method="POST" id="contactForm">

PHP

<?php

$email = $_POST['email']; 
$to = "email@example.com";
$subject = $_POST["subject"];
$message = $_POST["message"];
$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
mail($to, $subject, $message, $headers);

?>

使用表格

注意:我<select id="subject">改为<select id="subject" name="subject">

这样,它将在您的电子邮件中显示为您的表单中不存在的主题。

<form action= "sendmail.php" method="POST" id="contactForm">

<div class="row alignleft infieldlabel">
    <p class="form_label">Name</p>
    <input type="text" id="name" name="yourname" value="" class="inputtext input_middle required">
</div>

<div class="space"></div>

<div class="row alignleft infieldlabel">
    <p class="form_label">Email</p>
    <input type="text" id="email" name="email" value="" class="inputtext input_middle required">
</div>

<div class="clear"></div> 
 <p class="form_label">Select Subject</p>
<div class="styled-select">
    <select id="subject" name="subject">
       <option>Personal Injury</option>
       <option>Wrongful Death</option>
       <option>Litigation</option>
    </select>

</div>  


<div class="clear"></div>   

<div class="row infieldlabel">
   <p class="form_label"><?php echo $eto_options["eto_textinput"];?></p>
    <textarea id="message" cols="30" rows="10" name="message" class="textarea textarea_middle required"></textarea>
</div>

<div class="row rowSubmit">
<input type="submit" id="send" value="Send" class="contact_btnsubmit">                                

</div>
</form>
于 2013-08-22T02:40:29.133 回答
0

首先尝试以下基本选项,让我知道这是否有效。将以下代码复制粘贴到您的页面。

<form action= "<?php echo get_template_directory_uri() . '/sendmail.php'; ?>" method="POST" id="contactForm">
    Test value:<input type="text" name="test_box" />
    <input type="submit" id="send" value="Send" class="contact_btnsubmit">
</form>
于 2013-08-22T02:54:27.473 回答