0

在 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,可以避免页面刷新,有什么建议吗?

4

2 回答 2

0

您有两种选择,即在不刷新页面的情况下验证数据。JavaScript&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 可能会有很多好处

于 2013-07-02T16:21:00.667 回答
0

改用 AJAX 向服务器验证它而不需要重新加载。阅读有关 AJAX 工作原理及其用途的更多信息。

于 2013-07-02T16:12:44.227 回答