HTML/CSS

HTMLでPHPを使う方法について解説(PHPについて知りたい方向け)

PHPという言葉は聞いたことあるけど、どういったものか分からないといった方に向けて
PHPの概要や書き方、どんなことに使えるのかなどをお伝えします。
このページを読むことで、PHPについて大枠で理解できるようになると思います。

PHPについて

PHPとは

そもそもPHPとはHTMLにおいてサーバ側で動作するプログラミング言語です。
サーバとはデータを送信したり処理を行うコンピュータのことです。反対に今このページを見ている
表示をする側をクライアントと読んでいます。クライアント側で動くプログラミング言語にはJavaScriptと
呼ばれる言語があります。

PHPを使うための準備

PHPを使うにはWebサーバーソフト「Apache」(アパッチ)または「Nginx」(エンジンエックス)、Apacheにデータベースなどもひとまとめになった「XAMPP」(ザンプ)と呼ばれるソフトをインストールする必要があります。
この中ではインストールや設定が簡単な「XAMPP」が使いやすいです。
本ページではXAMPPをインストールしてあるものとして解説しています。
XAMPPと検索し、ダウンロード・インストールしてください。
インストール完了後、’c:\xampp\xampp-control.exe’をクリックし、Apache,MySQLを起動しておいてください。

PHPでできること

PHPを使うとできることの代表例として

  • 会員登録やお問い合わせフォームのバリテーションを行うことができる
  • 会員登録で入力されたデーターをデーターベースに保存することができる
  • データーベースからデーターを取り出し商品検索や購入履歴の表示を行うことができる

この3つが挙げられると思います。
今回は会員登録やお問い合わせのバリテーションについてお伝えします。

PHPの書き方

PHPの書き方として<?php から始まり ?>で終わります。
また、HTML形式に記入する場合HTMLのタグの合間にPHPが挟まる形になります。

問い合わせフォームのバリテーションの方法

まずバリテーションとは、入力されたデーターが指定した形式になっているか、また必須入力のところが
空欄になっていないか入力されたデーターをチェックする仕組みです。
例えばWebサイトで商品を購入するときに電話番号の欄に氏名を入力して次へをクリックすると
”電話番号の欄が正しく入力されていません。”などと表示されて再入力を促されるといったものです。
バリテーションはHTMLやJavascriptでも行うことができます。

お問い合わせの携帯電話番号の欄に記入がされないまま送信した場合と携帯電話番号のパターン以外を
入力した場合それぞれに赤色で再入力を促すメッセージを表示させたいと思います。
以下のコードをコピーしてメモ帳やテキストエディタに貼り付け、.以降をphpとしてください。
そのファイルをインストールしたフォルダーにある「htdocs」フォルダーに入れて、ブラウザでlocalhost/ファイル名.phpと入力してブラウザで実行してみてください。
実行結果がこのようになったと思います。

<携帯電話番号のパターン以外を入力した場合>


送信をクリック

<何も入力せずに送信をクリックした場合>

<正しく入力した場合>(本来は必要ないです。)

送信をクリック


(ブラウザに何も表示されない場合)
PHPの場合はHTMLとは異なり実行できるフォルダーが決まっています。上記フォルダーに入れているか
またApacheを起動しているか確認してみてください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>PHPの使い方</title>
  <style>
  p {
  color:red;
  }
  </style>
</head>
<body>
  <div class="form">
  <h1>入力フォーム</h1>
  <form action="" method="POST">
  <p>
  <!-- バリテーションチェック -->
  <?php
  $tel_check = '';
  $pat_Numbers ='/^0[7-9]0[0-9]{8}$/';
  if($_SERVER['REQUEST_METHOD'] === 'POST') {
  $tel_check = $_POST['tel_number'];

  if(empty($tel_check)) {
  echo  '携帯電話番号が未記入です。記入してください。';
  }

  elseif(!preg_match($pat_Numbers,$tel_check)) {
    echo '携帯電話番号が正しく入力されていません。再度確認してください。';
  }
  else echo 'OK';
  }
  ?>
  <!--バリテーションチェックここまで-->
  </p>
  <lavel>携帯電話番号</lavel>
  <input type="text" name="tel_number"><br>
  <input type="submit">
  </form>
  </div>
</body>
</html>

コードの解説
PHP全般
PHPでは、変数(箱のようなもの)は$で表します。
また、命令文の最後にはセミコロンの記入が必要です。

正規表現について

$pat_Numbersでは[0-9]で数字が入っているか{8}で8桁か確認しています。
^,$は始まり(^)と終わり($)を表しています。
この書き方については正規表現と呼ばれています。

関数について
プログラム言語にはemptyやpreg_matchなどあらかじめ決められた関数があります。
あらかじめ決められた関数を使うことで簡単に目的の結果を得ることができます。
このコードでは(empty($tel_check)で空欄かどうかの判断
(!preg_match($pat_Numbers,$tel_check)でpreg_match関数でパターンに一致するかしないか見ることに使っています。!をつけることで判断基準(一致するor一致しない場合)を反転させることができます。

エラーについて
命令文の最後にはセミコロン;が必要ですが、このセミコロンを忘れてエラーが発生することがよくあります。
エラー(エラーメッセージの表示or何も表示されないなど)が起こったときはセミコロンの記入が抜けているかどこかでスペルミスをしている可能性が高いです。
どこでエラーが発生しているかを探すには、必要ないところをコメントアウトしてvar_dump($変数名)で表示させる、複雑な関数をシンプルにして実行してみるなどをすると探しやすいです。

まとめ

PHPを用いることでHTMLだけでは実現できないものも作ることができます。
PHPはHTMLに比べると複雑ですが、Webサイトの裏側を支えるものとして欠かせない存在となっていますので
興味を持っていただけたら幸いです。