我有这个html表格
(function () {
var node = $("div").contents().filter(function () { return this.nodeType == 3 }).first(),
text = node.text(),
first = text.slice(0, text.indexOf(" "));
if (!node.length)
return;
node[0].nodeValue = text.slice(first.length);
node.before('<span>' + first + '</span><br/>');
})();
这是我在互联网上发现的我的PHP,但我不能让它工作。请帮我。我试图添加附加到文件的PHP,但这个编辑器不允许我。似乎正在发生的事情是,一旦在网页上填写表单,我就会收到错误返回并修复代码但我不明白错误是什么,因为我不了解PHP。
// Car.cpp
#include "Car.h"
#define FERRARI
//#define FIAT
#ifdef FERRARI
string Car::WhatCarAmI() { return "Ferrari"; }
#endif
#ifdef FIAT
string Car::WhatCarAmI() { return "Fiat"; }
#endif
点击提交/发送后我收到的错误信息是: 我们非常抱歉,但您提交的表单中发现了错误。这些错误显示在下面。
很抱歉,您提交的表单似乎有问题。
请返回并修正这些错误。
答案 0 :(得分:0)
在您的PHP代码中,您正在访问正在调用died()
函数的块,该函数会攻击脚本并生成该错误消息:
// validation expected data exists
if (!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
之所以这样,是因为上面的脚本正在查看是否已发送/发布了几个表单字段,而这些字段尚未发送/发布。您没有包含input
,name="first_name"
,name="last_name"
或name="telephone"
的表单name="comments"
。因此,由于这个条件并不令人满意,所以它正在抛出died()
函数。
您可以通过更改HTML表单,删除name="name"
,并为* first_name input
last_name and
name =&#34; message&#添加, changing
来解决此问题。 34; to
name =&#34; comments&#34;`,并为电话添加输入:
<form action="mail.php" method="post">
<div class="col-md-9">
<div class="col-md-4">
<input type="text" name="first_name" id="first_name" class="name" placeholder="Your First Name">
</div>
<div class="col-md-4">
<input type="text" name="last_name" id="last_name" class="name" placeholder="Your Last Name">
</div>
<div class="col-md-4">
<input type="text" name="telephone" id="telephone" class="email" placeholder="Your Telephone">
</div>
<div class="col-md-4">
<input type="text" name="email" id="email" class="email" placeholder="Your Email">
</div>
<div class="col-md-4">
<input type="text" name="subject" id="subject" class="subject" placeholder="Subject">
</div>
<div class="col-md-12">
<textarea name="comments" cols="1" rows="1" class="message" placeholder="Your message... " id="comments"></textarea>
</div>
<div class="col-md-4">
<input type="submit" name="send" value="Send Message" id="submit" class="button templatemo_sendbtn">
</div>
</div>
</form>
修改强>
还必须满足以下条件:
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
这意味着您必须在comments
textarea中输入有效的电子邮件地址(例如example@example.com),名字(例如John),姓氏(例如Doe)和2个或更多字符表格中的方框。