在你這麼說之前:我知道密碼應該被加密/散列化,但我想先弄明白: 我有這個登錄函數和一個SQL數據庫。然而,登錄功能似乎不起作用,我不知道爲什麼。我可能錯過了一些愚蠢的東西,但一段時間以來一直在苦苦掙扎。任何幫助,將不勝感激!需要關於PHP/SQL登錄功能的幫助
注意:文件db_connect.php真的只是一個基本的連接到數據庫,沒有錯也
FUNCTION.PHP:
<?
function login($username, $password, $con)
{
$myQuery = "SELECT * FROM Members WHERE Username = '$username' and Password = '$password';";
$result = mysqli_query($con, $myQuery);
if (mysql_num_rows($result) == 0)
{
return false;
}
else
{
return true;
}
}
?>
PROCESS-的login.php:
<?php
include 'db_connect.php';
include 'functions.php';
if (isset($_POST['username'], $_POST['pword'])) {
$username = $_POST['username'];
$password = $_POST['pword']; // The hashed password.
if (login($username, $password) == true) {
// Login success
header('Location: welcome.html');
}
else
{
// Login failed
header('Location: index.html');
}
}
else {
// The correct POST variables were not sent to this page.
echo 'Invalid Request';
}
?>
獲得成習慣,在_every_使用數據庫調用時,測試過程的階段。當你連接時,測試連接。準備查詢時,測試結果。當您運行查詢時,測試結果。當你獲取結果時,也要測試它!如果有問題,函數mysqli_query返回false。 – halfer