我创建了一个WP模板,并向其中添加了一个表单。在表格下方,我添加了wp_mail()函数以将用户输入的数据发送到其电子邮件中。
现在,我注意到:
注意:未定义的索引:mypath中的名称。
任何帮助您解决此问题的帮助都将受到欢迎。
编辑1:要获得通知,我必须删除if语句。
编辑2:从字面上看,这是我所拥有的有关表格的所有代码。我想念什么吗?我需要添加add_action()
某个地方或类似的东西吗?
代码:
<form id="form" method="post" action="">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
</br>
<label for="surname">Surname:</label>
<input type="text" id="surname" name="surname">
</br>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
</br>
<label for="tel">Phone number:</label>
<input type="tel" id="tel" name="tel">
</br>
<input type="submit" value="Submit" name="submit">
</form>
<?php
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$to = $_POST[$email]; //[email protected]
$subject = 'Reservation';
$body = 'Name: ' . $name . '\r\n' .
'Surname: ' . $surname . '\r\n' .
'Email ' . $email . '\r\n' .
'Phone number: ' . $tel . '\r\n';
wp_mail( $to, $subject, $body );
echo "Sent!";
}
?>
答案
编辑3:这只是为了明确的解决方案是$to = $_POST['email']; //[email protected]
如此['email']
不 [$email]
。
if语句是明智的检查-在$ _POST变量中包含一些值之前,您不希望该代码运行。
但是,您的表单元素都没有名称!例如这<input type="tel" id="tel">
应该是<input type="tel" id="tel" name="tel">
没有那个,您将不会得到太多。
PS Checkout PHP heredoc。最后的代码可以更简洁地编写为:
$body = <<< EOT
Name: $name
Surname: $surname
Email: $email
Phone number: $tel
EOT;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句