ユーザーログインをphpで認証しようとしています。私は正しい情報を使用したとしても、単に 'index2.php'に送られています。どのように私はこれをデバッグするか、私は何をする必要がありますか?sql/php - ユーザーログインを認証します。
しかし、まだだ "($結果> 1){場合" おかげ
は**私はまた、顧客
FROM SELECT COUNT(ID)、にクエリを変更し、if文に設定します'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()を使ってエラーを取得したい! –