从$ _POST PHP中获取价值

时间:2017-08-17 09:41:34

标签: javascript php

如果可能,我需要帮助,

我有以下代码,我需要使用$ 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为空值,为什么?

非常感谢

1 个答案:

答案 0 :(得分:3)

您有两个id="User",一个在您的可见表单中,一个在您的隐藏表单中。

此外,除非你有特殊的理由像现在这样做,否则只需使用普通表单并让PHP进行散列。如果您担心安全性,请添加SSL证书(价格不是借口,因为LetsEncrypt是免费的)。无论如何,表格应该是SSL。