結論: PHPは、Webサイトの裏側(サーバー側)で動く、プログラミング言語です。ログイン、フォームの受け取り、会員サイト、ネットショップなど、「利用者の操作に応じて、情報を処理して返す」部分に、広く使われています。WordPressも、PHPで動いており、世界のWebサイトの約7割で使われていると報じられています。
PHPとは
PHPは、1990年代半ばに生まれた、Webサイト向けのプログラミング言語です。名前は、「PHP: Hypertext Preprocessor」の略です。
特徴は、HTMLの中に、書き込めることです。ページのHTMLに、PHPのコードを混ぜておくと、サーバーが、その部分を処理して、結果をHTMLとして返してくれます。
PHPが動く仕組み
Webサイトを見る時は、次の流れで、PHPが動いています。
- 利用者が、ブラウザで、ページを開く(リクエストを送る)
- Webサーバー(ApacheやNginxなど)が、リクエストを受け取る
- 要求されたページに、PHPのコードがあれば、PHPが実行される
- PHPが、必要に応じて、データベースから、情報を取り出す
- PHPが、HTMLを作って、Webサーバーに渡す
- Webサーバーが、そのHTMLを、ブラウザへ返す
- ブラウザが、HTMLを表示する
ポイントは、利用者のブラウザには、PHPのコードは届かず、結果のHTMLだけが届くことです。そのため、サイトの「ページのソース」を見ても、PHPのコードは見えません。サーバーの役割は、サーバーとはで解説しています。
PHPでできること
| 用途 | 具体例 |
|---|---|
| 会員サイト・ログイン機能 | ユーザー登録、ログイン、マイページ |
| フォームの処理 | お問い合わせフォーム、アンケート、申し込み |
| データベースとの連携 | 商品情報や、記事の表示、検索 |
| ネットショップ | カート、注文の処理 |
| CMS(サイトの管理ソフト) | WordPressなど |
| 掲示板・ブログ・SNS | 投稿の保存と、表示 |
WordPressとの関係
WordPressは、世界で最も使われているサイト作成ソフトのひとつで、PHPで作られています。WordPressを使っているサイトは、サーバーで、PHPが動いています。
- 記事を書くだけなら、PHPのコードを書く必要はありません
- ただし、サーバーのPHPのバージョンが古いと、安全面や、動作の面で、問題が出ます
- テーマや、機能を改造する時には、PHPの知識が必要になります
簡単なコード例
画面にあいさつを表示する
<?php
$name = "田中";
echo "こんにちは、" . $name . "さん";
<?phpは、PHPのコードの始まりの印$nameは、変数(データを入れる箱)。PHPの変数は、必ず「$」から始まるechoは、画面に表示する命令- 「.」は、文字をつなぐ記号
変数の考え方は、変数とはで解説しています。
フォームの入力を受け取って、表示する
<?php
$name = $_POST["name"] ?? "";
echo "こんにちは、" . htmlspecialchars($name, ENT_QUOTES, "UTF-8") . "さん";
$_POSTは、フォームから送られてきたデータを受け取る、PHPの仕組み?? ""は、データがない時に、空の文字を使う指定htmlspecialcharsは、入力された文字に含まれる、特殊な記号を、無害な形に変換する関数。そのまま表示すると、不正なスクリプトを埋め込まれる危険があるため、表示する時は、必ず変換します
データベースに、安全に問い合わせる
<?php
$stmt = $pdo->prepare("SELECT * FROM users WHERE name = :name");
$stmt->execute([":name" => $name]);
:name が、プレースホルダです。入力値を、SQLの文に直接つなげず、別に渡すことで、SQLインジェクションを防ぎます。詳しくは、SQLインジェクション対策をご覧ください。SQL自体の基本は、SQLとはで解説しています。