Php 单击“提交”按钮之前显示的错误消息
也许有人能帮我解决这个问题。创建了一个表单,我正在使用PHP验证电子邮件输入。页面加载时显示错误变量,而不是单击提交按钮时显示。我如何解决这个问题Php 单击“提交”按钮之前显示的错误消息,php,validation,html-email,Php,Validation,Html Email,也许有人能帮我解决这个问题。创建了一个表单,我正在使用PHP验证电子邮件输入。页面加载时显示错误变量,而不是单击提交按钮时显示。我如何解决这个问题 <?php if($_SERVER['REQUEST_METHOD']==="POST"){ $emailErr = ""; $email = ""; if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = test_i
<?php
if($_SERVER['REQUEST_METHOD']==="POST"){
$emailErr = "";
$email = "";
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "Invalid email format";
}
}
}
?> <!---[1]-->
<form id="myform" action="formval2.php" method="post" onsubmit="return checkinfo()">
<label for="name">First Name</label>
<input type="text" name="FirstName" id="fname"><span id="errorname"></span>
<br/>
<label for="FirstName">Lastt Name</label>
<input type="text" name="LastName" id="lname"><span id="errorlname"></span>
<br/>
<label for="password">Password</label>
<input type="password" name="Password" id="pw"><span id="errorpw"></span>
<br/>
<label for="email">Email</label>
<input type="email" name="Email" id="email"><span id="erroremail"><?php print "$emailErr";? ></span>
<br/>
<input type="submit" value="submit" onclick="val()"/>
</form>
名字
姓氏
密码
电子邮件
您的比较似乎使用了单个=。在PHP中,比较是double==。因此,改变你的对比:
if($_SERVER['REQUEST_METHOD']=="POST"){
这应该可以解决问题。这样会更好
if(isset($_POST["email"])) {
$emailErr = "";
$email = "";
if (filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false) {
$emailErr = "Email is not valid";
} else {
$email = test_input($_POST["email"]);
}
}else {
$emailErr = "Email is required";
}
更改为仅在设置了$\u POST[“email”]
时才显示,因为如果设置了,我们知道用户已经发布了表单,并且不需要检查两次。另外,您的正则表达式是无效的,PHP已经有了一个可以验证电子邮件地址的函数
编辑
应为
,以便名称在HTML和PHP中匹配。如果($\u服务器['REQUEST\u方法]]==“POST”)
与=
中相同,而不是单一的=
电子邮件显示在POST数组中,但缺少错误消息,有什么建议吗。。。我插入了你的代码,我收到了相同的非错误时,左清空我的问题,它仍然在大便时,页面加载。。。。。我甚至删除了服务器请求,并注意到。。。。我想知道我是否必须使用PHP_self,,,除非你有其他建议,
应该是
,名称中没有大写字母。这是我从服务器请求得到的结果,当我尝试提交时,它不会显示变量错误,但当我删除请求时,它会在有效加载时显示错误,所以我假设我需要修改请求。我更新了输入上的名字,谢谢你的提示,我完全错过了