私は mysql_ で PDO を使用することに慣れ始めたばかりで、現在、すべての mysql_ 関数を PDO に変換している最中です。私が抱えている問題は、これらの機能に完全に困惑していることです。これらの目的は、ログイン時に作成された $_SESSION から user_id を取得し、その user_id を使用してデータベースからデータを返すことです。ただし、次のエラーが表示されます。
未定義の変数: user_data
たとえば、admin = 1 の場合など、何かが真であるかどうかを確認しようとするたびに、これは user_data 関数です。
function user_data($user_id) {
global $con;
$data = array();
$user_id = (int)$user_id;
$func_num_args = func_num_args();
$func_get_args = func_get_args();
if ($func_num_args > 1) {
unset($func_get_args[0]);
$fields = '`' . implode('`, `', $func_get_args) . '`';
$data = "SELECT $fields FROM `users` WHERE `user_id` = $user_id";
$result = $con->prepare($data);
$result->execute();
$user_data = $result->fetch();
return $user_data;
}
}
このコードはその関数を呼び出し、bann = 1 の場合はセッションを破棄する必要があります。
if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'email', 'password_recovery', 'moderator', 'admin');
if (user_banned($user_data['username']) === true) {
session_destroy();
header('Location: pts.php');
exit();
}
}
これは、$user_data 変数を使用しようとしている場所の例です。
<?php if ($user_data['moderator'] == 1)
私はコーディングに関して初心者であり、物事を説明するのが特に得意ではないため、これが理解しにくい場合は申し訳ありません。さらにコードが必要な場合は、お問い合わせください。喜んで提供いたします。
みんなありがとう。