为什么这段代码会重定向到a.php,而不考虑我输入的密码和用户名?

为什么这段代码会重定向到a.php,而不考虑我输入的密码和用户名?,php,forms,Php,Forms,提交表单的代码: </form> <script> var user = prompt('Enter username'); var pass = prompt('Enter password'); document.getElementById('user').value = user; document.getElementById('pass').value = pass; document.getElementById('form').submit(); <

提交表单的代码:

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>

var user=prompt('输入用户名');
var pass=提示(“输入密码”);
document.getElementById('user')。value=user;
document.getElementById('pass')。value=pass;
document.getElementById('form').submit();
验证用户名和密码的代码:

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
   <?php
if($_POST['user'])
{
    $user = $_POST['user'];
    $pass = $_POST['pass'];
    if($user = "root")
    {
    if($pass = "pass")
    {
        header('Location: a.php');
    }
    else
    {
        echo'<b>Access Denied</b>'; 
    }
    }
else
    {
        echo'<b>Access Denied</b>';
    }
}   

?>

即使我在提示框中键入的用户名和密码分别不是“root”和“pass”,valid.php页面也会重发到a.php,我无法解释原因

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
if($user = "root") 
应该是

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
if($user == "root")
对其他人来说也是如此

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
= assignment

== / === comparison 
您需要纠正这些情况

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
了解有关

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
应该是

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
if($user == "root")
对其他人来说也是如此

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
= assignment

== / === comparison 
您需要纠正这些情况

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>

了解有关

使用
=
比较而不是
=
分配的更多信息…所有人都会遇到的正常错误

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
您可以使用单个
if-else
语句来完成

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
if($user == "root"  && $pass == "pass" )
        {

            header('Location: a.php');
        }
    else
        {
            echo'<b>Access Denied</b>';
        }
if($user==“root”&&$pass==“pass”)
{
标题('Location:a.php');
}
其他的
{
echo“拒绝访问”;
}

使用
=
比较,而不是
=
分配…所有人都会犯的正常错误

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
您可以使用单个
if-else
语句来完成

</form>
<script>
var user = prompt('Enter username');
var pass = prompt('Enter password');
document.getElementById('user').value = user;
document.getElementById('pass').value = pass;
document.getElementById('form').submit();
</script>
if($user == "root"  && $pass == "pass" )
        {

            header('Location: a.php');
        }
    else
        {
            echo'<b>Access Denied</b>';
        }
if($user==“root”&&$pass==“pass”)
{
标题('Location:a.php');
}
其他的
{
echo“拒绝访问”;
}

如果($user=“root”)
这句话总是正确的,因为您成功地将
root
分配给了
$user
。如果需要比较,则需要
=
==
如果($user=“root”)
这句话总是正确的,因为您成功地将
分配给了
$user
。如果您需要比较,您需要
===
===
还提到
==
检查值的相等性,并且
===
检查相等性和类型,因此
1===1.0f
为false,而
1==1.0f
为true。是正确的,为了更好地理解运算符,我在答案中添加了链接。还提到,
==
检查值的相等性,
===
检查相等性和类型,因此
1===1.0f
为false,而
1==1.0f
为true。是的,正确,为了更好地了解运营商,我在答案中添加了链接。