防止提交空表单的PHP表单验证
我已经创建了一个具有登录会话功能的简单表单,我正在使用mysqli\u connect\u errno并添加了一个条件防止提交空表单的PHP表单验证,php,validation,Php,Validation,我已经创建了一个具有登录会话功能的简单表单,我正在使用mysqli\u connect\u errno并添加了一个条件 if ($_POST['username']=="") { $home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/form.html'; header('Location: ' . $home_url); $Err = "
if ($_POST['username']=="") {
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/form.html';
header('Location: ' . $home_url);
$Err = "Invalid value";
}
及
但是如果以这种方式写入,则错误消息不会显示在空提交上
if ($_POST['username']=="") {
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/form.html';
header('Location: ' . $home_url);
$Err = "Invalid value";
}
会发生什么情况?您的页面将从标题函数重定向,下面的代码将永远不会执行。这是一个悬而未决的代码。因此,你需要写以下内容
if ($_POST['username']=="") {
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/form.html';
$Err = "Invalid value";
header('Location: ' . $home_url);
}
您提到了标题“位置:”。$home\u url;那你怎么能看出错误呢。在标头位置传递错误消息
将代码替换为
$Err = "Invalid value";
header('Location: ' . $home_url.'?err='.$Err);
然后像这样打印错误
if(isset($_GET['err']))
{
echo $_GET['err'];
}
上面这一行是用php页面编写的
<?php if(isset($_REQUEST['flag']) && $_REQUEST['flag'] == 'y'){ echo "valid";} else{ echo "Invalid"; } ?>
上面的代码是用html页面编写的,因为在您的条件下,您将重定向到某个页面。下一行永远不会被执行。如果我以前写它,它是不可见的redirecting@Ezhil您看到他正在重定向到html页面了吗。PHP代码将无法工作。OP必须将其更改为.php文件。我想这就是问题所在。我会检查它。使用Javascript现在应该可以了。我是PHP的初学者。如果我在重定向之前编写它,它是不可见的
header('location:' .$home_url?flag=y);
<?php if(isset($_REQUEST['flag']) && $_REQUEST['flag'] == 'y'){ echo "valid";} else{ echo "Invalid"; } ?>