如果可能,我需要帮助,
我有以下代码,我需要使用$ User = $ _ POST [' User'];
让用户登录login.php但我不能,有人请帮助我吗?
我可以获取哈希,但不能获得用户。
非常感谢你
function login() {
var p = hex_sha1(document.getElementById('pass').value);
var k = document.getElementById('key').value;
var h = hex_sha1(k+p);
var hash = document.getElementById('hash');
hash.value = h;
var User = document.getElementById('User').value;
var f = document.getElementById('finalform');
f.submit();
}
<form action="javascript:login()" method="post" >
<input type="hidden" id="key" value="<?php echo $key; ?>" />
<div class="form-group">
<input class="form-control" placeholder="User" type="text" id="User" name="User" required>
</div>
<div class="form-group">
<input class="form-control" placeholder="password" type="password" id="pass" required>
</div>
<center><input type="submit" value="Submit" /></center>
</form>
<form action="login.php" method="post" id="finalform">
<input type="hidden" name="hash" id="hash"/>
<input type="hidden" name="User" id="User"/>
</form>
在login.php中
$hash = $_POST['hash'];
$User = $_POST['User'];
echo $hash;
echo $User;
$ User为空值,为什么?
非常感谢
答案 0 :(得分:3)
您有两个id="User"
,一个在您的可见表单中,一个在您的隐藏表单中。
此外,除非你有特殊的理由像现在这样做,否则只需使用普通表单并让PHP进行散列。如果您担心安全性,请添加SSL证书(价格不是借口,因为LetsEncrypt是免费的)。无论如何,表格应该是SSL。