使用PHP脚本进行服务器端验证
我已经使用使用PHP脚本进行服务器端验证,php,server-side,Php,Server Side,我已经使用核心PHP中的服务器端验证为表单编写了这段代码 if(empty($s_email)){ $er = "Please enter E-mail"; }else if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $s_email)){
核心PHP中的服务器端验证为表单编写了这段代码
if(empty($s_email)){
$er = "Please enter E-mail";
}else if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $s_email)){
$er="Email-ID is invalid!<br>";
}else if(!filter_var($s_secemail, FILTER_VALIDATE_EMAIL)){
$er="Secondary Email-ID is invalid!<br>";
<p>
<label class="required" for="s_email">Email Address:</label><br/>
<input type="text" id="s_email" class="half" value="" name="s_email"/>
</p>
<p>
<label for="s_secemail">Secondary Email Address:</label><br/>
<input type="text" id="s_secemail" class="half" value="" name="s_secemail"/>
</p>
if(空($s_电子邮件)){
$er=“请输入电子邮件”;
}如果(!preg_match(“/^[[U a-z0-9-]+(\.[U a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i”,$s_电子邮件)){
$er=“电子邮件ID无效!
”;
}如果(!filter_var($s_secemail,filter_VALIDATE_EMAIL)){
$er=“辅助电子邮件ID无效!
”;
电子邮件地址:
辅助电子邮件地址:
我的问题是,当我跳过$s_secemail
字段时,我收到了这个消息
“辅助电子邮件ID无效”,它不是强制性的如果(!empty($s_secemail)和&!filter_var($s_secemail,filter_VALIDATE_Email))
仅在提供$s_secemail时检查条件如果(!empty($s_secemail)和&!filter_var($s_secemail,filter_VALIDATE_Email))则使用
要仅在提供$s_secemail时检查条件,可以这样尝试,仅检查$s_secemail
是否为有效电子邮件
或是否为非空
,如下代码所示
if(empty($s_email)){
$er = "Please enter E-mail";
}else if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $s_email)){
$er="Email-ID is invalid!<br>";
}else if(!empty($s_secemail) && !preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $s_secemail)){
$er="Secondary Email-ID is invalid!<br>";
}
<p>
<label class="required" for="s_email">Email Address:</label><br/>
<input type="text" id="s_email" class="half" value="" name="s_email"/>
</p>
<p>
<label for="s_secemail">Secondary Email Address:</label><br/>
<input type="text" id="s_secemail" class="half" value="" name="s_secemail"/>
</p>
if(空($s_电子邮件)){
$er=“请输入电子邮件”;
}如果(!preg_match(“/^[[U a-z0-9-]+(\.[U a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i”,$s_电子邮件)){
$er=“电子邮件ID无效!
”;
}如果(!empty($s_secemail)&!preg_match(\.[u a-z0-9-]+(\.[u a-z0-9-]+)*.[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i),$s_secemail)){
$er=“辅助电子邮件ID无效!
”;
}
电子邮件地址:
辅助电子邮件地址:
您可以这样尝试,只需检查$s_secemail
是否为有效电子邮件
或是否为非
如果为非空
,如下代码
if(empty($s_email)){
$er = "Please enter E-mail";
}else if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $s_email)){
$er="Email-ID is invalid!<br>";
}else if(!empty($s_secemail) && !preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $s_secemail)){
$er="Secondary Email-ID is invalid!<br>";
}
<p>
<label class="required" for="s_email">Email Address:</label><br/>
<input type="text" id="s_email" class="half" value="" name="s_email"/>
</p>
<p>
<label for="s_secemail">Secondary Email Address:</label><br/>
<input type="text" id="s_secemail" class="half" value="" name="s_secemail"/>
</p>
if(空($s_电子邮件)){
$er=“请输入电子邮件”;
}如果(!preg_match(“/^[[U a-z0-9-]+(\.[U a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i”,$s_电子邮件)){
$er=“电子邮件ID无效!
”;
}如果(!empty($s_secemail)&!preg_match(\.[u a-z0-9-]+(\.[u a-z0-9-]+)*.[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i),$s_secemail)){
$er=“辅助电子邮件ID无效!
”;
}
电子邮件地址:
辅助电子邮件地址:
我找到了实现服务器端验证的好源代码,希望与大家分享
我找到了实现服务器端验证的好来源,希望与大家分享
这很奇怪。你确定$s_secemail=$\u POST['s_secemail']
?你也可以修剪数据,这样空白就会像这样被截断,如果(!empty(trim($s_secemail))&&!filter_var($s_secemail,filter_VALIDATE_EMAIL))
。最后,如果奇怪的话,你会在最后一次之后丢失一个
。你确定$s_secemail=$\u POST['s_secemail']
?您还可以对数据进行修剪,以便在(!empty(修剪($s_secemail))&!filter_var($s_secemail,filter_VALIDATE_EMAIL))
的情况下,像这样截断空白。最后,您在上次ifUse var_dump($s_secemail)之后缺少一个}
,以查看$s_secemail中的内容。如有必要,请使用trim($s_secemail);使用var_dump($s_secemail)查看$s_secemail中的内容。如有必要,使用trim($s_secemail)@SagarPanchal我更新了代码..您现在可以检查..它在我的系统中工作..@SagarPanchal我更新了代码..您现在可以检查..它在我的系统中工作..链接的站点不再活动(至少在撰写本文时)链接的站点不再活动(至少在撰写本文时)