(第1回)PHPでSNSを作成してみる

(第1回)PHPでSNSを作成してみる

目次

はじめに
環境設定
DB作成
画面イメージ作成
次回予告

はじめに

本記事では、PHPを使って、SNSを作成してみたいと思います。流れとしては、投稿した人の名前、内容が反映されるような簡易掲示板をまず作成し、ブラッシュアップして、簡単なブラウザ版のSNSを実装できればと思っております。情報共有・交換の場として使えるようなものを制作目標としていきたいと思います。

環境設定

OS
Windows10(64bit)
WebサーバーApache/2.4.41 (Win64)
PHPバージョン7.2.21
DB(MySQL)8.0.17 for Win64

上記の環境で作成を進めていきます。環境設定に関しては、使いたいサービスや既にインストール済みのもの等があると思うので、そちらを使っていただければと思います。
今回使用するMySQLに関しては、すでに私のPCで環境構築済みでしたので、インストール手順等は省いております。
下記公式HPからダウンロードは可能ですので、DB環境がない方は参照してください。

サーバーのポート指定に関してですが、ApacheとMySQLに関しては、、MySQLのポートはデフォルトの3306のまま、Apacheに関しては、デフォルトの8080はすでに使用しているものがあったので、「C:\Apache24\conf」のhttpd.confファイルで、ポート番号を80に変更しています。(”Listen ポート番号”の箇所を変更する)

今回インストール手順はPHPのみ紹介します。

PHPのインストール

  1. まず下記よりPHPをダウンロードします

    ※バージョンに関しては自由に選んでいただけますが、あまり古いものですと関数のサポートが切れたりするため、なるべく新しいものを推奨します。
  2. ダウンロードしたZIPファイルを展開し、展開したファイルの名称を「php」にして、C直下に配置します。
  1. 次にphpファイル内にある、「php.ini-production」のファイルをコピーし、コピーしたファイル名を
    「php.ini」に名称変更します。
    この「php.ini」がphpの設定ファイルになります。
    追加の設定等したい場合は、こちらをテキストエディタで開き、追加内容を記載していく流れになります。 
  1. 次に環境変数の設定で「Path」にphpの配置場所を追加しておきます。
    この処理をしておくことで、プログラム名だけで起動することができます。
    ※環境変数の場所
     コントロールパネル→システムとセキュリティ→システム→システムの詳細設定→環境変数

    環境変数画面の下部にあるシステム環境変数でPathを選択し、編集をクリックします。
    新規をクリックして、phpを配置しているパス「c:\php」を指定すると設定完了です。
  1. 最後にphpが動作するかの確認をコマンドプロンプトで行います。
    php -vを打って、以下のようにバージョン情報が表示されれば、phpは動作しています。
C:\>php -v
PHP 7.2.21 (cli) (built: Jul 30 2019 13:10:48) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

以上で環境の設定・確認は終わりです(また今後必要になってくるものに関しては、都度ご紹介します)

DB作成

次に簡易掲示板で使用するDBとテーブルの作成を行います。
今回使用するDBはMySQLになります。

まずはMySQLで使用するDBを作成します。
DB名はfp_bbsにして、文字コードはUTF-8で設定しておきます。

C:\>mysql -u root -p
Enter password: ********************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE DATABASE `fp_bbs` DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected, 1 warning (0.01 sec)

上記のように表示されれば、正常にDBが作成できています。

次にテーブルの作成を行います。
テーブル名は「post」として、各カラムを設定していきます。

  • id      ・・・インデックス用。主キー
  • name    ・・・投稿者の名前
  • comment   ・・・投稿内容
  • created_day ・・・投稿した日時
mysql> CREATE TABLE `post` (
    -> `id` INTEGER NOT NULL AUTO_INCREMENT,
    -> `name` VARCHAR(40),
    -> `comment` VARCHAR(200),
    -> `created_day` DATETIME,
    -> PRIMARY KEY(id)
    -> ) ENGINE = INNODB;
Query OK, 0 rows affected (0.05 sec)

上記のように表示されれば、問題なく作成できています。
※コマンドプロンプトで複数行にわたるコマンドを打つ際は一行目の終わりに^をつけることで、
 複数行のコマンドを実行できます。

画面イメージ作成

DBの用意はできたので、簡単に画面イメージを作成してみます。
本来はphpファイルを用意しますが、今回は画面イメージですので、htmlで表示用に作成してみます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>BBS</title>
</head>
<body>
    <h1>BBS</h1>
    <form action="bbs.php" method="post">
        名前: <input type="text" name="name" /><br>
        内容: <input type="text" name="comment" size="60" /><br>
        <input type="submit" name="submit" value="送信" />
    </form>
</body>
</html>

タイトルが表示され、投稿者と内容が入力できるテキストボックスを用意。
そして送信ボタンで値を送ることが出来るようにして、これから簡易掲示板を作成していきます。

画面イメージは上記になります。これをベースに機能追加していきたいと思います。

次回予告

次回は、phpのコードを書いて、実際に投降した内容がDBに保存される処理を紹介したいと思います。