2016-07-18 17 views
0

送信ボタンを押すと、isset()を使った条件が使われてもヘッダーには向いていません。 注:これは単なるテストページですので、私はパスワードを格納すると、私は私のヘッダがPHPで動作していません

私の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); 

歓迎をやっているやり方では安全ではありません知っています.php

<?php 

echo"Hello world"; 

?> 

私が実際に無視しているセッションは何もありません。変更する必要がありますか?

+0

タグをタグの前に閉じます。 – Dave

+0

bodyタグを開く前にheadタグを閉じます。 ? – ABuckau

+0

まだ応答がありません。 –

答えて

0

サーバーのREQUEST_METHODは文字列で、これを_POST配列と比較しています。

適切サーバのリクエストメソッドをチェックする

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

この

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

を交換してください。 その後、残りのコードを実行する必要があります。

+0

ありがとうございます。それは完全に動作します。 –

+0

問題はありません。 – ebildude123

関連する問題