我正在学习编码,并创建了一个简单的表单,其中包含错误消息 显示在每个输入字段的正下方。但是,当我检查表格时 成功消息与错误消息同时出现 正确输入所有字段并显示时的显示 已验证。你能帮忙吗?提前谢谢你。这是我的 代码。
Caused by: android.view.InflateException: Binary XML file line #39: Error inflating class com.me.AccountParticle
at android.view.LayoutInflater.createView(Layo
和HTML
</php>
$errorMessage = "";
$successMessage = "";
$emailError = "";
$emailconfirmError = "";
$nameError = "";
$messageError = "";
$servicesError = "";
$name = $email = $emailConfirm = $services = $message = "";
$email = isset($_POST['email']) ? $_POST['email'] : '';
$emailConfirm = isset($_POST['emailConfirm']) ? $_POST['emailConfirm'] : '';
if ($_POST) {
if (!$_POST['email']) {
$emailError .="The email is required";
}
if (!$_POST['emailConfirm']) {
$emailconfirmError .="Please confirm your email <br>";
}
if ($_POST['emailConfirm'] && $email != $emailConfirm) {
$emailconfirmError .="The email addresses do not match <br>";
}
if (!$_POST['name']) {
$nameError .="The name field is required <br>";
}
if (!$_POST['services']) {
$servicesError .="Please select a service required <br>";
}
if (!$_POST['message']) {
$messageError .="The message field is required <br>";
}
if ($_POST['email'] && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
$emailError .= "The email address is invalid.<br>";
}
if ($name = $email = $emailConfirm = $services = $message != "") {
echo $emailError;
echo $emailconfirmError;
echo $name;
echo $services;
echo $message;
}else {
$emailTo = "kamala_guliyeva@hotmail.com";
$services = $_POST['services'];
$message = $_POST['message'];
$headers = "From: ".$_POST['email'];
if (mail($emailTo, $services, $message, $headers)) {
$successMessage = '<div class="alert alert-success" role="alert">Thank you for your message. We\'ll get back to you ASAP!</div>';
} else {
$errorMessage = '<div class="alert alert-danger" role="alert"><p>Your message couldn\'t be sent - please try again</div>';
}
}
}
答案 0 :(得分:0)
您在这里遇到了一些问题...
所以第一件事就是您如何进行检查。
if(!$_POST) {
不是检查帖子已发布的有效方法,您需要执行类似的操作
if(isset($_POST) && !empty($_POST)) {
因为您正在检查POST数组是否已实际设置并且然后不为空,并且&&运算符是短路运算符,所以更合适,因为如果不满足任何一个条件,则检查将失败。
类似地,您在比较中说if(!$ _ POST ['email']){无效,因为您实际上是在询问“帖子数组中的电子邮件部分是否不正确”,您需要在哪里询问“如果不是空白并且是有效的电子邮件地址”
您需要了解= ==和===运算符之间的区别。您可以在此处找到更多信息:The 3 different equals
这里还有filter_var函数:http://php.net/manual/en/function.filter-var.php
if($_POST['email']!=="" && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
//all good
} else {
//set your error message
}
您可以使用正则表达式来验证“名称”,请参见手册http://php.net/manual/en/function.preg-match.php中的preg_match
除了所有这些,如果您想实时监视字段和错误消息等,您将不得不考虑合并Javascript并使用AJAX与您的脚本进行通信,然后将响应解析回适当的div。
看看Rasmus 30秒的AJAX教程将为您提供一个http://rajshekhar.net/blog/archives/85-Rasmus-30-second-AJAX-Tutorial.html的起点
不过,最好的做法是同时进行客户端和服务器端验证,希望这对每个人来说都不是一个完整的答案。