課題6

課題内容

投稿システムの開発
この課題では、データベースを使った投稿システムをPHPとMySQLを用いて開発します。フォームのデータをデータベースに保存し、それを一覧表示・詳細表示・削除ができる機能を実装します。

開発要件

  1. データベースとテーブルの作成

    • MySQLをインストールし、以下のカラム構成のテーブルを作成してください。
    • テーブル名、データベース名は自由です。
      カラム名 データ型 長さ(バイト) NOT NULL その他
      id INT はい AUTO_INCREMENT
      title VARCHAR 255 はい
      description VARCHAR 255 いいえ
  2. ページ構成 以下のページを作成してください。

    • 投稿一覧ページ
      • データベースに保存された投稿のタイトルを一覧表示します。
      • 各タイトルはリンクになっていて、クリックすると「投稿詳細ページ」に移動します。
      • URLは /detail/{ID} の形式で、{ID} には投稿のIDが含まれるようにします。
    • 投稿詳細ページ
      • /detail/{ID} のURLでアクセスされるページです。URL内の {ID} の値を使って、データベースから該当の投稿を取得し、タイトルと説明を表示します。
      • ページ下部に「削除」ボタンを追加し、ボタンを押すとその投稿をデータベースから削除し、投稿一覧にリダイレクトされるようにします。
      • 存在しないIDでアクセスされた場合も投稿一覧にリダイレクトします。
    • 新規投稿ページ
      • 新規投稿を行うフォームを設置します。フォームには以下のフィールドを含めます。
        • タイトル入力欄 (input type=”text”)
        • 説明入力欄 (textarea)
      • フォーム送信時に、データベースに新規投稿としてデータを保存し、投稿一覧ページにリダイレクトします。
  3. 動作要件

    • すべてのページでPHPを使用し、MySQLデータベースとの連携を行ってください。
    • URLに含まれるIDパラメータを使用して投稿データを取得・表示する機能を実装してください。
    • POSTリクエストを使用して、フォームから送信されたデータをデータベースに保存できるようにしてください。
    • 削除処理が正しく動作し、削除後に一覧ページにリダイレクトされること。
  4. セキュリティ

    • フォームから送信されたデータは適切にサニタイズし、不正なリクエストやSQLインジェクションを防ぐ対策を行ってください。
    • 存在しない投稿IDでのアクセスや不正なリクエストは、投稿一覧ページにリダイレクトされるようにしてください。
  5. CSS不要

    CSSのスタイリングは不要です。機能の実装に専念してください。

SQLの操作に関しては、ProgateのSQL編に取り組むか、下記サイトを参考にしてください。
参考サイト: MySQLでデータベースを作成しよう
参考サイト: macローカル環境にMySQLをインストールしデータベース環境を設定する
参考サイト: MySQL DBとテーブルとカラムの作成方法

完成目標期間

3日間を目安に完成させてください。

使用言語

  • HTML: フォームやページの基本構造を作成するために使用します。
  • PHP: サーバーサイドでフォームのデータを処理し、データベースとのやり取り(保存・取得・削除)を行います。
  • MySQL(SQL): データベース管理システムとして使用し、データの保存や取得、削除を行います。
  • JavaScript(オプション): 必要であれば、フォームのバリデーションやインタラクティブな動作のために使用します。

習得出来るスキル

  • PHPとMySQLを使ったCRUD(作成、読み取り、更新、削除)操作
  • URLパラメータを使用した動的なページ生成
  • フォームの送信とデータベースへの保存処理
  • データの削除とリダイレクト処理
  • 基本的なセキュリティ対策(サニタイズとエラーハンドリング)

課題提出

1. 制作ファイルを確認する

制作ファイルを確認し、要件通りに動作しているかを確認してください。

2. 制作ファイルをギガファイルで提出

パソコンにLINEを追加していない場合は、必ず追加しておくようにしましょう。
参考サイト: パソコンでLINEを利用する

  1. ギガファイルを開く
  2. 「ファイルの保持期限変更」で【30日】以上を選択します。
  3. 制作ファイルをアップロードします。
  4. 当スクールのITスキルサポートLINE公式アカウント課題名とギガファイルのURLを提出して下さい。
    提出例

提出後について

プロジェクトファイルは必ず保存しましょう。
基本的にはご提出頂いてから1週間以内に順を追って、採点結果を LINE公式よりお送り致します。採点結果で修正があった場合は、指示に従って修正・提出を繰り返し、クリアしたら次の課題に進みましょう!

※注意事項※

課題で作成した動画等をSNS等にアップしたり、ご自身の実績として掲載することは絶対にやめて下さい。もし、見つかった場合は然るべき処置を取らせて頂きます。

感想、意見、質問を残す

※順々にご対応させて頂きますのでご意見、ご質問に時間がかかる場合がございます。

関連記事

課題1

課題2

課題3

課題4