こんにちは、作成した CMS で複数のユーザーを作成しようとしています。テーブルにすべてのデータがありmysql_num_rows
、レコードが一致するかどうかを確認してsession_register()
から、セッションを設定するために使用していました。これを PDO コマンドに変更しました。
ユーザーが CMS を使用しているときにユーザーを追跡できるようにして、変更されたすべてのレコードに usrID を関連付けられるようにしたいと考えています。後日、誰が更新を行ったかを確認し、最終的にこれを使用して作成者などに関する情報を表示できるようにします。
たとえば、フォームを使用して新しいレコードを更新または追加する場合、非表示の入力にセッション ID がエコーされ、ログイン時にユーザー レコードから取得されます。
これを行う最善の方法はありますか?このログイン コードの構文は正しく記述されていますか?
$con = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$sql="SELECT * FROM $tbl_name WHERE the_username='$the_username' and the_password='$the_password'";
$result = $con->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();
if($number_of_rows==1){
$info = $result->fetch(PDO::FETCH_ASSOC);
$_SESSION['username'] = $info['the_username'];
$_SESSION['id'] = $info['id'];
header('Location: admin.php');
}else{
echo "Wrong username or password, please refresh and <a href=\"login.php\">try again.</a>";
}
入れたほうがいいのではないでしょうか?
if($number_of_rows==1 && $info = $result->fetch(PDO::FETCH_ASSOC)){MAKE SESSION}