提交时的PHP联系人表单验证
所以交易是这样的:验证过程在用户点击submit之后开始。但是,由于某些原因,该代码不起作用 PHP: HTML: 编辑:提交时的PHP联系人表单验证,php,html,contact-form,Php,Html,Contact Form,所以交易是这样的:验证过程在用户点击submit之后开始。但是,由于某些原因,该代码不起作用 PHP: HTML: 编辑: 对不起,我忘了添加我文章的最后一部分,我想PHP脚本应该在我点击提交按钮的那一刻就可以运行。但是if$_POST['submitted']{}不会被我的提交按钮触发。我想知道为什么会这样?对我来说,似乎您没有将变量分配给POST元素 如果您在第一段代码中将$email替换为$\u POST['message\u email'],将$name替换为$\u POST['mess
对不起,我忘了添加我文章的最后一部分,我想PHP脚本应该在我点击提交按钮的那一刻就可以运行。但是if$_POST['submitted']{}不会被我的提交按钮触发。我想知道为什么会这样?对我来说,似乎您没有将变量分配给POST元素 如果您在第一段代码中将$email替换为$\u POST['message\u email'],将$name替换为$\u POST['message\u name'],将$message替换为$\u POST['message\u text'],您可能会发现运气更好
无论如何,我可以在这个代码段中看到很多未使用的变量,包括$headers、$to、$subject,以及我的_contact_form_generate_*下使用的每个报告变量。确保这些也已设置。“代码不起作用”-没有真正的帮助。你查过日志了吗?是否启用了错误报告?是否显示错误?代码不工作-这意味着什么?提供清晰的问题陈述。什么,确切地说是不起作用?当你期望它通过时,顶部的if语句是否会失败?您是否在收件箱中未看到预期的电子邮件?缩小问题范围。对不起,我忘了添加我文章的最后一部分,我想PHP脚本应该在我点击提交按钮的那一刻就可以工作。但是if$_POST['submitted']{}不会被我的提交按钮触发。我想知道为什么?谢谢你的回复!然而,这只是我的PHP代码的一个片段。我只是想知道为什么我的提交按钮没有触发if$_POST['submitted']{}不用担心。在我看来,这就像WordPress——代码片段在什么文件下?_permalink生成的permalink是什么?可能是您的代码片段位于不同的页面上,因此一个代码片段没有被另一个加载。如果是数组$\u POST和计数$\u POST>0打印$\r$\u POST,是否可以删除;在第一段代码之前或之后的某个地方,以便您可以看到$\u POST的内容?您可能需要右键单击->查看页面源代码来查看它!您是否也尝试过添加值class='Submit!'给你的?很可能它是发布的,只是我们正在检查$u POST['submitted']与类似于if isset$\u POST['submitted']的东西。啊,这就是解决方案!谢谢,我监督了那一小部分。
if ($_POST['submitted']) {
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
my_contact_form_generate_response("error", $email_invalid);
else //email is valid
{
//validate presence of name and message
if (empty($name) || empty($message)) {
my_contact_form_generate_response("error", $missing_content);
} else //ready to go!
{
$sent = wp_mail($to, $subject, strip_tags($message), $headers);
if ($sent) my_contact_form_generate_response("success", $message_sent); //message sent!
else my_contact_form_generate_response("error", $message_unsent); //message wasn't sent
}
}
} else {
$response = "";
}
<form action="<?php the_permalink(); ?>" class="contact" method="post">
<input type="text" placeholder="Your Name" name="message_name" value="<?php echo esc_attr($_POST['message_name']); ?>">
<input type="text" placeholder="Your Email" name="message_email" value="<?php echo esc_attr($_POST['message_email']); ?>">
<input type="text" placeholder="Your Company" name="message_company" value="<?php echo esc_attr($_POST['message_company']); ?>">
<textarea name="message_text" rows="10" placeholder="Your Message"><?php echo esc_textarea($_POST['message_text']); ?></textarea>
<button type="submit" class="contact-button" name="submitted">Submit</button>
</form>
<?php echo $response ?>