PHP表单与操作和回显结果有关

时间:2015-09-09 10:42:37

标签: php wordpress forms

我正在尝试使用简单的双字段表单提交到电子邮件地址,然后在表单下方(或代替表单)回复“感谢您注册您的兴趣”。

仅供参考,这是在WordPress模板文件中。

以下是代码,包括表单:

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
method="POST" autocomplete="on" id="register-form">
<input type="text" name="name" placeholder="Name"/>
<input type="email" name="email" placeholder="Email address"/>
<button type="submit" name="submit" class="button">Send
<img src="<?= get_image('icon-arrow-right-tiny.svg'); ?>"/></button>

</form>
<?php
if (isset($_POST['submit'])) {
// validate the email address first
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
// process the form only if the email is valid
if ($email) {
    $to = 'info@example.com'; // where you want to send the mail
    $from = 'info@mydomain.com';
    $subject = 'Website Submission';
    $message = 'Name: ' . $_POST['name'] . "\r\n\r\n";
    $message .= 'Email Address: ' . $_POST['email'] . "\r\n\r\n";
    $headers = "From: $from\r\nReply-to: $email";
    $sent = mail($to, $subject, $message, $headers);
} ?>
<p style='color: #fff; font-size: 14px;'>Thank you for registering your interest.</p>
<?php
}
?>

目前,表单确实已发送,页面确实在表单下方显示“感谢您注册您的兴趣”,但是当您单击“提交”按钮时,它似乎没有将我们返回到正确的页面

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

感谢您的所有贡献。我已经解决了这个问题,并将在这里分享给来这里寻找答案的其他人。

WordPress有一些重要的东西保留给&#34;名称&#34;参数,因此您无法在基于PHP的表单中使用它。从&#34; name&#34;更改参数名称其他事情解决了这个问题。

此外,WordPress还保留了以下名称,您不能在表单中使用它们 - &#34; day&#34; &#34;一个月&#34;和&#34;年&#34;。

答案 1 :(得分:-1)

你必须在你的感谢信息下面加上一个PHP代码。

标题( “位置:$ _ SERVER [” PHP_SELF“]);出口;