我是PHP的初學者,所以這個登錄腳本會有很多安全漏洞。不過不要擔心。一旦我得到修復,我會得到修復。這是我的登錄PHP腳本。PHP登錄腳本未選擇行
<?php
$error='';
if(isset($_POST['submit'])){
if(empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username or Password is Invalid";
echo "<script type='text/javascript'>alert('$error');</script>";
}
else {
$user = $_POST['username'];
$pass = $_POST['password'];
$servername = "localhost";
$username = "id1394453_users";
$password = "password";
$database = "id1394453_users";
$conn = mysqli_connect($servername, $username, $password, $database);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$query = mysqli_query($conn, "SELECT * FROM Users WHERE user='username' AND pass='password'");
$rows = mysqli_query($conn, $query);
if (mysqli_num_rows($rows) == 1) {
header("Location: Home.html");
}
else {
$error = "Username of Password is Invalid";
echo "<script type='text/javascript'>alert('$error');</script>";
echo "<script type='text/javascript'>alert('$user');</script>";
echo "<script type='text/javascript'>alert('$pass');</script>";
echo "<script type='text/javascript'>alert('$rows');</script>";
}
mysqli_close($conn);
}
}
?>
我已經檢查,以確保它連接到MySQL數據庫和所有的變量是正確的。當它到達線26
如果(mysqli_num_rows($行)== 1){
它需要的其他路徑。這不是我想要的。正如你所看到的,我檢查了$ rows是什麼值,它什麼也沒有。因此,我將注意力轉移到第25行
$ rows = mysqli_query($ conn,$ query);
我已經在測試$ conn以確保連接正常工作。所以這使我想到這是在第23行
$查詢= mysqli_query定義的$查詢veriable($康恩, 「SELECT * FROM用戶WHERE USER = '用戶名' 並通過= '密碼'」);
這是我認爲有麻煩的地方。問題是我不確定它有什麼問題。該表被稱爲「用戶」,我想要的列被稱爲「用戶名」和「密碼」。嗯是的。我在這裏做錯了什麼?
; *是否/將它?* – nogad
我希望這件事不是去現場 –