在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,可以避免页面刷新的任何建议吗?
答案 0 :(得分:0)
使用AJAX代替在没有RELOADING的情况下将其验证到服务器。阅读有关AJAX如何工作及其用途的更多信息。
答案 1 :(得分: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
可能会带来很多好处