我是HTTP / PHP编码的新手,我在PHP中遇到isset
的问题。
这是我目前的代码,它应该检查用户名和密码是否为管理员和密码,如果是,它将回显一些信息。
然而,它不起作用。没有错误,它只接受所有用户名和密码。
$username = isset($_POST['password']);
$password = isset($_POST['username']);
$date = date('d-m-y');
$time = date('h:m:s');
$day = date('l');
if($username == 'Admin' and $password == 'Password')
{ //echo bla bla bla..
答案 0 :(得分:3)
isset
只检查是否设置了变量。另一方面,您的用户案例需要检查实际值:
if(isset($_POST['username']) and
$_POST['username'] == 'Admin' and
isset($_POST['password']) and
$_POST['password'] == 'Password') {
// echo...
为了在你的变量中使用isset()
,你需要使用三元运算符。
即:
$username = isset($_POST['password']) ? $_POST['password'] : "default";
答案 1 :(得分:1)
您可以在php isset中阅读使用isset,其中看来isset的值为true或false。所以变量$ username的值为true或false,因此变量$ password也是如此。因此,如果您要检查POST操作的值,可以使用
if(isset($_POST['username']) && isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
$date = date('d-m-y');
$time = date('h:m:s');
$day = date('l');
if($username == "Admin" && $password == "Password")
{ //echo bla bla bla..
}
}
答案 2 :(得分:0)
试试这个,
if(isset($_POST['password']) && isset($_POST['username'])){
$username = $_POST['password'];
$password = $_POST['username'];
$date = date('d-m-y');
$time = date('h:m:s');
$day = date('l');
// code here
if($username == 'Admin' and $password == 'Password'){
// Okay
}else{
// not Okay
}
} else {
// error
}