嘗試在php上驗證用戶登錄。即使我使用正確的信息,我也只是被髮送到'index2.php'。任何想法我應該如何調試這個或我需要做什麼? 感謝sql/php - 驗證用戶登錄
**我也改變了查詢,SELECT COUNT(ID)FROM CUSTOMER
,如果語句設置, 「如果($結果> 1){」
但還是得到了發送到'index2.php'
<?php
// ----------------------
// Retrieve login information
include("db_info.php");
// ----------------------
// Connect to database
$conn = oci_connect($db_user, $db_pwd, '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=*****.edu)(Port=1521)))(CONNECT_DATA=(SID=asuka)))');
if (!$conn) {
$e = oci_error();
print_r($e);
exit();
}
// ----------------------
// Authenticate User
// Create query
$sql = "SELECT COUNT(ID) FROM CUSTOMER WHERE EMAIL='$email' AND PASSWORD='$password'";
// Create database query statement
$statement_id = oci_parse($conn, $sql);
// Execute query statement
$result = oci_execute($statement_id, OCI_COMMIT_ON_SUCCESS);
// Check for successful authentication
if ($result==1) {
if ($email=="[email protected]") {
$db_login_status = 2;
header("location: index1.php");
} else {
$db_login_status = 1;
header("location: index.php");
}
} else {
header("location: index2.php");
}
// ----------------------
// Close connections
oci_free_statement($statement_id);
oci_close($conn);
請停止使用古老的'mysql_ *'函數編寫新代碼。他們不再保持和社區已經開始了[棄用過程(http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –
您是否以明文存儲用戶密碼? [這是一個壞主意](http://stackoverflow.com/questions/1581610/how-can-i-store-my-users-passwords-safely)。 *編輯*:在檢查之前,你實際上沒有給'$ result'賦值? – DCoder
您在查詢中使用了Oracle擴展(oci),然後您想使用mysql_error()獲得錯誤! –