私は自分の Web サイトでログインを作成していますが、ユーザー名またはパスワードが入力されたかどうかを確認し、有効なユーザー名またはパスワードであるかどうかを確認しようとしています。だから私はこれらを持っています: users.php:
<?php
function user_exists($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'"), 0) ==1) ? true : false;
}
function user_active($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE`username` = '$username' AND `active` = 1"), 0) == 1) ? true : false;
}
?>
そして私はlogin.phpを持っています:
<?php
require('core/functions/users.php');
if (empty($_POST) === false){
$username = $_POST['username'];
$password = $_POST['password'];
if (empty($username) || empty($password)){
$errors[] = 'You need to enter a valid username or password';
} else if (user_exists($username) === false) {
$errors[] = 'We cant find that username. Have you registered?';
} else if (user_active($username) === false) {
$errors[] = 'You haven\'t activated your account!';
} else {
// here
}
print_r($errors);
}
?>
私の問題は、正しいユーザー名とパスワードを入力すると、登録済みのエラーを出力する代わりに空白になることです。また、ランダムなユーザー名とパスワードを入力すると、空白になります。have you registered エラーが返されませんか? どうしたの?