PHP

【超初心者向け】お店レビューアプリのCreate機能を作成しよう

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してみてね!!

こんな人に読んでほしい
  1. 基礎は学んだけど、アプリ作成って何をすればいいの?
  2. そもそも何を勉強すればいいの?
  3. ポートフォリオ作らなきゃヤバい、、
【PHPチュートリアル】Webアプリ作成 この記事を上から学習していくとPHPでWebアプリ作成ができちゃいます!! あけお スクールに多額のお金を支払う前に、僕の記事で...

この記事でやること

  1. Create機能を作成する体験をする
  2. お店レビューの新規作成機能を追加する

1. レビューの新規作成する準備をしよう

ここでは、「簡易的なTwitterアプリ」を参考に「お店レビューアプリ」の「レビューの新規作成」機能を追加します。

まだ、「簡易的なTwitterアプリ」を学習していない方は、先に学びましょう。
以下の記事で学べます!!!

【超初心者向け】PHPで簡易的なTwitterアプリを作成しよう この記事を上から学習していくとPHPでWebアプリ作成ができちゃいます!! あけお スクールに多額のお金を支払う前に、僕の記事で...

1. GitHubを開きます

以下のURLからサイトを開きます。
https://github.com/Aka023v/restaurant-review-create

2. 「Codespaces」を使って環境構築をしよう

※ 環境構築方法がわからない方は、以下URLの記事を参考にしましょう!

【超優秀 環境構築がラクになる】GitHubでCodespacesを使う方法 あけお スクールに多額のお金を支払う前に、僕の記事で学習してみてください https://akeoblog.com/about...

2. 新規作成機能を作成しよう

1. 現在の状況を把握しよう

環境構築は「1. レビューの新規作成する準備をしよう」ですでに実施しましたよね。

環境構築後に「create.php」を確認すると、以下の動画のようになっています。

create.php

2. create.phpに新規レビュー機能を作成しよう

以下の動画と同じになるようにコードを修正しましょう!
※ 以下の「簡易的なTwitterアプリ」の「投稿一覧ページ(create.php)」を参考にしよう。
https://github.com/Aka023v/simple-twitter

3. ヒントを確認しよう

「新規レビューページ」を作成する仕方がわからない方はこちらでヒントを見よう。

①「Twitterアプリ」の「新規ツイートページ(create.php)」をコピペしよう

②「タイトル」等を「お店レビューアプリ」用に変更しよう

③ 「DBの接続設定」を修正しよう

ここからは少し難しいです!!!

④ 「データの取得」を修正しよう

⑤ 「データ取得できている」を確認しよう

⑥「取得したデータ」と「DBのデータ」が同じか確認しよう

※ PHPMyAdminの使い方は、以下の記事を参考にしよう。

4. お店レビュー新規作成の回答

回答を確認しましょう!
できなかった方は、以下のコードを真似して修正してみましょう。

create.php

<body> 
    <h1>新規作成</h1>
    <form method="post" action="./store.php">
        <table>
            <tr>
                <td>投稿者名</td>
                <td><input name="poster" placeholder="投稿者名" required></td>
            </tr>
            <tr>
                <td>レストラン名</td>
                <td><input name="restaurant_name" placeholder="レストラン名" required></td>
            </tr>
            <tr>
                <td>レビュー</td>
                <td><textarea name="review" placeholder="レビュー記入欄" required></textarea></td>
            </tr>
            <tr>
                <td ></td>
                <td><button>送信</button></td>
            </tr>
        </table>
    </form>
</body>

store.php

<?php
$poster = filter_input(INPUT_POST, 'poster');
$restaurant_name = filter_input(INPUT_POST, 'restaurant_name');
$review = filter_input(INPUT_POST, 'review');

$dbh = new PDO(
    'mysql:dbname=restaurant_review;host=mysql;charset=utf8',
    'root',
    'password'
);

$query = "INSERT INTO `review` (`poster`, `restaurant_name`, `review`) VALUES ('$poster', '$restaurant_name', '$review')";
$dbh->query($query);
header("Location: ./index.php");
?>