登录验证时刷新页面


Page refresh while login validation

在PHP代码中,当我试图验证基本的登录验证(空字段、数字字段等)时,我的页面会被刷新,所有已经输入的数据都会消失。我的样本代码:

if(isset($_POST['Submit']))
{
// username and password sent from form 
$MailId=$_POST['MailId']; 
$Password=$_POST['Password']; 

  if(empty($_POST['MailId'])) 
  {
    $MerrorMessage = "You forgot to enter a MailId!";
  }
  else if(!preg_match("/^[_'.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+'.)+[a-zA-Z]{2,6}$/", $MailId))
  {
    $MailformaterrorMessage = "Email ID format is not correct!";
  }

  if(empty($_POST['Password'])) 
  {
    $PerrorMessage = "You forgot to enter a Password!";
  }

  else
    {
      main Logic
    .....
  }

如果不使用Javascript,可以避免页面刷新,有什么建议吗?

使用AJAX将其验证到服务器,而无需重新加载。阅读更多关于AJAX如何工作及其用途的信息。

您有两个选项,可以在不刷新页面的情况下验证数据。CCD_ 1&AJAX

我更喜欢后者,但下面是简单的Js验证的样子,只是为了了解情况。

<script type='text/javascript'>
var name = 'PHPNoob'; 
if(name.length < 2){
        document.write('Name can not be less than 2 characters long');
}else{
    document.write('Name is oK');
}
</script>

例如,如果名称的长度是否小于2个字符,则会进行验证。

如果您想使用AJAX进行验证,则必须创建与您所拥有的相同的PHP页面和另一个AJAX文件,才能将这些值发送到服务器进行验证。由于AJAX非常快速,使用它而不是Js 可能会有很多好处