我的标题在php

时间:2016-07-18 05:12:45

标签: php html5

当按下提交按钮时,即使使用带有isset()的条件,也不会指向标题。 注意:这只是一个测试页面,所以我知道存储密码并不是我已经完成的安全方式

我的index.php

<?php
include 'connect.php';

if($_SERVER["REQUEST_METHOD"]==$_POST){
    $username = $_POST['username'];
    $password = $_POST['password'];

    $query = "SELECT id FROM login WHERE username = '$username' AND password='$password'";
    $result= mysqli_query($connection, $query);
        $count = mysqli_num_rows($result);

    if($count==1){
            header("location:welcome.php");
    }
    else{
        echo "invalid credentials";
    }
}
?>
<html>
<head></head>
<body>
<form method="post" action="">
<input type="text" name="username" id="username"  placeholder = "Username"/>
<input  type="password" name="password" id="password" placeholder = "**********"/>
<input type="submit" value="submit" />
</form>
</body>

</html>

connect.php

<?php
   define('DB_SERVER', 'localhost');
   define('DB_USERNAME', 'root');
   define('DB_PASSWORD', '');
   define('DB_DATABASE', 'users');
   $connection = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);

的welcome.php

<?php

echo"Hello world";

?>

我没有使用任何会话而忽略了我应该改变的事实吗?

1 个答案:

答案 0 :(得分:0)

服务器的REQUEST_METHOD是一个字符串,您将它与_POST数组进行比较。

替换此

if($_SERVER["REQUEST_METHOD"]==$_POST){

if($_SERVER["REQUEST_METHOD"] == "POST"){

正确检查服务器的请求方法。 然后,其余代码应该运行。