在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 可能会有很多好处