概要

このページは、ユーザーの 作成・読み取り・更新・削除(CRUD)権限ロール状態管理検索/並び替え/ページングCSV出力 を備えた小規模向けユーザー管理の実装例です。データはサーバーの /data/users.json に保存します。

📚 目次

基本

  • ユーザー属性:id, name, email, role(admin/editor/viewer), status(active/inactive/suspended), createdAt
  • 機能:検索、列ソート、ページング、追加/編集/削除、CSV出力
  • API:?api=list|create|update|delete|export.csv(JSON, CSRF必須)

基礎

  • 保存:JSON ファイル(小規模・学習用に最適)
  • 検証:メール形式、重複禁止
  • セキュリティ:CSRF トークン、エラーハンドリング、エスケープ

導入

  1. /programming/UserManagement/ に本ファイルを index.php として配置
  2. /data ディレクトリを作成(Webサーバーの書き込み権限を付与)
  3. 初回アクセス時に users.json を自動生成します

※ 本コードは学習・社内ツール想定。本番では DB、認証、監査ログ、入力制約やレートリミット等を導入してください。

最新情報

応用

  • CSV 出力(ワンクリック)
  • サーバー側での重複チェックとバリデーション
  • アクセシビリティ:テーブル操作に ARIA ラベル

発展

  • RBAC(Role-Based Access Control)を DB で厳密化
  • 2段階認証/パスワード強度チェック
  • 監査ログ(誰がいつ何を変更したか)

例(デモ UI)

📄 CSV出力
CSRF: c6599fd72f3a1539c217b8a2516a1547
操作
API 仕様(クリックで展開)
// GET  ?api=list[&q=keyword]
// POST ?api=create     { name, email, role, status }
// POST ?api=update     { id, name?, email?, role?, status? }
// POST ?api=delete     { id }
// GET  ?api=export.csv (CSVダウンロード)