以下代码传递用户名检查,但密码失败。
如您所见,哈希值得到回应,但出于某种原因,它们会输出e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
,即sha256sum
/dev/null
。由于密码似乎根本没有回应,我只能假设它无法获得POST,但为什么呢?
<form action="dologin" method="post">
Username: <input type="text" name="username">
Password: <input type="password" name="password">
<input type="submit">
</form>
if ( $_POST[username] == $actualusername ) {
// Hash the password
$hashedpassword = hash('sha256', $_POST[password]);
echo $_POST[password];
echo $hashedpassword;
if ( $hashedpassword == $actualpassword ) {
echo '<h2>Logged in</h2>';
} else {
echo '<h2>Incorrect password</h2>';
echo $hashedpassword;
}
} else {
echo '<h2>Incorrect username</h2>';
}
答案 0 :(得分:2)
关闭输入标签会解决您的问题吗? 此外,您可以使用
isset($_POST["blabla"])
测试值是否在$_POST
中设置。