2017-01-13 7 views
-2

正しい情報で自分のウェブサイトにログインしても「index.php」ファイルを開こうとしていますが、エラーが続いています。PHPファイルをエコーアウト

はここに私のコードです:

<?php 
session_start(); 
include 'dbase.php'; 

$uid = $_POST['uid']; 
$pwd = $_POST['pwd']; 

$sql = "SELECT * FROM user WHERE uid = '$uid' AND pwd = '$pwd'"; 
$result = $conn->query($sql); 

if (!$row = mysqli_fetch_assoc($result)) 
{ 
    echo "Your username or password is incorrect!"; 
} 
else 
    { 
    echo fgets($index); 

} 
+4

は多分あなたが得るエラーを共有

try { $db = new PDO('mysql:host=localhost;dbname=yourDBName', 'username', 'password'); } catch (PDOException $e) { echo $e->getMessage(); } 

のようになりますSQL Injection に対して防ぐことができますか? – Cashbee

答えて

0

にリダイレクトします。プリペアドステートメントは、あなたのdbase.phpは、その後、あなたの実装

include 'dbase.php'; 

$uid = $_POST['uid']; 
$pwd = $_POST['pwd']; 

$sql = "SELECT * FROM `user` WHERE `uid` = :uid AND `pwd` = :pwd"; 
$statement = $db->prepare($sql); 
$userData = [ 
    'uid'=>$uid, 
    'pwd'=>$pwd 
]; 

$statement->execute($userData); 

if($statement->rowCount() > 0){ 
    header('Location: index.php'); 
    exit(); 
}else{ 
    echo "Your username or password is wrong!"; 
} 
0

条件ブロック他では、インデックスファイルあなたはまた、準備された文とPDOを使用することを検討すべきである

if (!$row = mysqli_fetch_assoc($result)) 
{ 
    echo "Your username or password is incorrect!"; 
} 
else 
    { 
    header("location: index.php"); 
    exit(); 

} 
関連する問題