6日でできる 新HTML&CSS入門|PHPで動的なWebページを作る

HTMLにPHPを加えると、ページは状況に合わせて変化する。
サーバーで動く仕組みを理解して、現在時刻を表示する動的なWebページを作ってみよう。

HTMLとCSSを使うと、見出し、文章、画像、表、フォームなどを配置したWebページを作れます。ただし、HTMLだけで作ったページは、基本的にあらかじめ書いた内容をそのまま表示する静的なページです。誰が見ても同じ内容が表示され、現在時刻やユーザーごとの情報を自動で変えることはできません。

そこで登場するのがPHPです。PHPは、Webサーバー側で動作するサーバーサイドスクリプト言語です。HTMLの中にPHPコードを埋め込むことで、現在の日付や時刻を表示したり、フォームから送信された内容を受け取ったり、データベースから情報を取り出してページに表示したりできます。

たとえば、お問い合わせフォーム、ログイン機能、掲示板、ブログ、会員ページ、商品一覧ページなどは、ユーザーの操作や保存されたデータに応じて内容が変わります。このようなページを作るときに、PHPのようなサーバーサイド言語が使われます。

PHPを学ぶと、HTMLで作ったページに動的な機能を追加できるようになります。最初は、画面に文字を表示するechoや、日付や時刻を取得するdate関数など、シンプルな処理から始めると理解しやすいです。

この記事では、PHPの基本的な特徴、PHPコードの書き方、MAMPを使った実行準備、PHPファイルの保存場所、ブラウザでの実行方法、現在時刻を表示するサンプルプログラムを、初心者にも分かりやすく解説します。

PHPとは何か

PHPは、Webページを動的に生成するためによく使われるプログラミング言語です。正式にはHypertext Preprocessorの略とされています。PHPはブラウザ上で直接実行されるのではなく、Webサーバー上で実行されます。

ユーザーがPHPファイルへアクセスすると、WebサーバーがPHPプログラムを処理します。その結果として作られたHTMLがブラウザへ送られ、画面に表示されます。つまり、ブラウザに届く時点では、PHPの処理結果がHTMLとして表示される仕組みです。

特徴説明
サーバーサイド言語ブラウザではなく、Webサーバー上で実行される
HTMLに埋め込めるHTMLの中にPHPコードを書いて、必要な部分だけ動的にできる
データベースと連携しやすいMySQLなどと組み合わせて、投稿や会員情報を扱える
無料で利用できるオープンソースの言語として利用できる
学習しやすい多くのレンタルサーバーやローカル環境で利用しやすい

PHPは、HTMLやCSSの学習後に取り組みやすいサーバーサイド言語です。特に、Webページの中にPHPコードを埋め込めるため、HTMLで作った画面に少しずつ動的な処理を追加できます。

静的Webページと動的Webページの違い

PHPを理解するには、静的Webページと動的Webページの違いを押さえておくと分かりやすくなります。

静的Webページは、あらかじめ作成されたHTMLファイルをそのまま表示するページです。会社概要や固定のお知らせページなど、内容があまり変わらないページに向いています。

動的Webページは、アクセスしたタイミング、ユーザーの入力、ログイン状態、データベースの内容などによって表示内容が変わるページです。

種類特徴
静的WebページHTMLに書かれた内容をそのまま表示する会社概要、プロフィール、固定ページ
動的Webページ状況やデータに応じて表示内容が変わるログイン後のマイページ、掲示板、検索結果
PHPで作るページサーバーでPHPを実行し、HTMLを生成する現在時刻表示、フォーム処理、投稿一覧

たとえば、HTMLに「こんにちは」と書けば、いつ見ても同じ文字が表示されます。一方、PHPで現在時刻を取得して表示すれば、アクセスするたびに表示される時刻が変わります。この「状況によって表示が変わる」ことが、動的Webページの基本です。

図1:PHPはサーバーで実行され、結果がHTMLとして表示される

この図から分かること

PHPはブラウザで直接実行されるのではなく、Webサーバー上で実行されます。ブラウザがPHPファイルへアクセスすると、サーバーがPHPコードを処理し、その結果をHTMLとして返します。そのため、現在時刻やデータベースの内容など、状況に応じた情報をページに表示できます。

PHPの基本構造

PHPのコードは、<?php と ?> の間に書きます。このPHPコードの部分が、サーバー側で実行されます。

<?php
echo "こんにちは、PHPの世界!";
?>

echoは、文字列や値を画面に出力するための命令です。上の例では、「こんにちは、PHPの世界!」という文字がHTMLの一部として表示されます。

書き方意味
<?phpPHPコードの開始
?>PHPコードの終了
echo文字列や値を出力する
;PHPの命令の終わりを示す

PHPでは、命令の終わりにセミコロンを付けます。echoで文字列を表示する場合、文字列はダブルクォーテーションで囲むことができます。

HTMLの中にPHPを埋め込む

PHPはHTMLの中に埋め込めます。これにより、ページ全体はHTMLで作り、一部だけPHPで動的に表示することができます。

<h1>PHPテストページ</h1>
<p>
<?php
echo "この文章はPHPで表示しています。";
?>
</p>

この例では、h1やpは通常のHTMLです。その中にPHPコードを入れて、pの中身として文字を出力しています。

部分役割
h1ページの見出しを表示する
p文章のまとまりを作る
<?php ... ?>PHPコードを書く
echoブラウザに表示する文字を出力する

PHPを使うと、HTMLの固定部分と、PHPで変化する部分を組み合わせられます。最初は、見出しや本文の中にPHPで文字を表示するところから練習するとよいでしょう。

PHPを実行するにはWebサーバーが必要

PHPファイルは、HTMLファイルのようにダブルクリックして開くだけでは正しく実行できません。PHPはサーバー側で動く言語なので、PHPを実行できるWebサーバー環境が必要です。

学習用のローカル環境としてよく使われるのがMAMPです。MAMPを使うと、自分のパソコン上にApacheやPHPを含むローカルサーバー環境を用意できます。

項目説明
Webサーバーブラウザからのリクエストを受け取り、ページを返す仕組み
PHPサーバー上で実行されるプログラム
MAMPローカル環境でWebサーバーやPHPを動かすためのツール
localhost自分のパソコン上のサーバーを表す名前

PHPを実行するときは、MAMPを起動し、Apacheサーバーを動かした状態でブラウザからlocalhostへアクセスします。

PHPファイルの保存場所

WindowsでMAMPを使う場合、PHPファイルは通常、次のフォルダー内に保存します。

C:\MAMP\htdocs

たとえば、lesson57_1.phpというファイルを作る場合は、次のような場所に保存します。

C:\MAMP\htdocs\lesson57_1.php

このhtdocsフォルダーは、Webサーバーから公開されるファイルを置く場所です。ブラウザでhttp://localhost/lesson57_1.phpへアクセスすると、htdocs内のlesson57_1.phpが実行されます。

保存場所ブラウザでのアクセス例
C:\MAMP\htdocs\lesson57_1.phphttp://localhost/lesson57_1.php
C:\MAMP\htdocs\sample.phphttp://localhost/sample.php
C:\MAMP\htdocs\test\index.phphttp://localhost/test/index.php

保存場所とURLの対応を理解しておくと、PHPファイルを実行するときに迷いにくくなります。

図2:MAMPのhtdocsにPHPファイルを保存してlocalhostで開く

この図から分かること

PHPファイルは、MAMPのhtdocsフォルダーに保存し、Apacheサーバーを起動してからブラウザでlocalhostへアクセスして実行します。HTMLファイルのように直接開くのではなく、Webサーバーを通して実行することがポイントです。保存場所とURLの関係を理解すると、PHPの実行手順が分かりやすくなります。

PHPファイルの拡張子は.phpにする

PHPコードを含むファイルは、基本的に拡張子を.phpにします。拡張子が.htmlのままだと、通常の設定ではPHPコードが実行されず、そのまま文字として扱われることがあります。

ファイル名内容
lesson57_1.phpPHPを実行するためのファイル
index.phpトップページとして使われることが多いPHPファイル
contact.phpお問い合わせ処理などに使われるPHPファイル
sample.html通常のHTMLファイル。PHPは基本的に実行されない

PHPを含むページを作るときは、ファイル名をlesson57_1.phpのように.phpで保存しましょう。HTMLが含まれていても、PHPコードを実行したい場合は.phpにすることが大切です。

PHPで現在時刻を表示するサンプル

ここでは、PHPを使って現在の日時を表示するサンプルを作ります。HTMLの中にPHPコードを埋め込み、date関数で現在時刻を取得して表示します。

ファイル名: lesson57_1.php

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPで現在時刻を表示する</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
  body {
    font-family: sans-serif;
    margin: 40px;
    line-height: 1.7;
    background-color: #f7fbff;
    color: #222222;
  }

  h1 {
    color: #205c8a;
  }

  .time-box {
    background-color: #ffffff;
    border: 1px solid #b8d7ee;
    border-radius: 8px;
    padding: 18px;
    max-width: 520px;
  }

  .message {
    color: #205c8a;
    font-weight: bold;
  }
</style>
</head>
<body>
  <h1>PHPで作る動的なWebページ</h1>

  <div class="time-box">
    <p class="message">
      <?php
        date_default_timezone_set("Asia/Tokyo");
        echo "現在の日時は " . date("Y年m月d日 H時i分s秒") . " です。";
      ?>
    </p>

    <p>このページは、アクセスしたタイミングに合わせてPHPが日時を作成しています。</p>
  </div>
</body>
</html>

サンプルPHPのコード解説

サンプルでは、HTMLの中にPHPコードを埋め込んでいます。特に重要なのは、date_default_timezone_set、echo、date、文字列連結です。

コード内容
<?php ... ?>PHPコードを書く範囲
date_default_timezone_set("Asia/Tokyo")タイムゾーンを日本時間に設定する
echo文字列や値を画面に出力する
date("Y年m月d日 H時i分s秒")現在の日時を指定した形式で取得する
.文字列と値を連結する
;PHPの命令の終わり

PHPでは、文字列と関数の結果をつなげるときにドットを使います。サンプルでは、「現在の日時は 」という文字列と、date関数で取得した日時と、「 です。」という文字列をつなげています。

echo "現在の日時は " . date("Y年m月d日 H時i分s秒") . " です。";

この1行によって、実行時点の日時を含む文章が画面に表示されます。

date関数で日時を取得する

date関数は、現在の日付や時刻を指定した形式で取得するための関数です。フォーマット文字を使って、年、月、日、時、分、秒などを表示できます。

指定表示される内容
Y西暦4桁
m月を2桁で表示
d日を2桁で表示
H時を24時間表記で表示
i分を2桁で表示
s秒を2桁で表示

たとえば、date("Y年m月d日")と書くと、2026年07月25日のように日付を表示できます。date("H:i:s")と書くと、14:30:10のように時刻を表示できます。

コード表示例
date("Y年m月d日")2026年07月25日
date("H:i:s")14:30:10
date("Y/m/d H:i")2026/07/25 14:30

日付や時刻は、ニュースページ、予約ページ、更新日時、ログ、投稿日時など、さまざまな場面で使われます。PHPのdate関数は、動的なWebページを学ぶ最初の練習に向いています。

タイムゾーンを設定する理由

サンプルでは、date_default_timezone_set("Asia/Tokyo")を使っています。これは、PHPで扱う日時の基準を日本時間にするための指定です。

date_default_timezone_set("Asia/Tokyo");

サーバーの設定によっては、PHPの日時が日本時間ではなく、別の地域の時間になる場合があります。そのため、学習用のサンプルでは、明示的にAsia/Tokyoを指定しておくと分かりやすくなります。

指定意味
Asia/Tokyo日本時間を使う
date_default_timezone_setPHPのタイムゾーンを設定する関数
date設定されたタイムゾーンに基づいて日時を表示する

日時を扱うWebアプリでは、タイムゾーンの考え方が大切です。投稿日時や予約日時を表示する場合、どの地域の時刻として扱うのかを意識しておきましょう。

図3:PHPで現在日時を作り、HTMLの中に表示する

この図から分かること

PHPでは、date関数を使って現在日時を取得し、echoでHTMLの中に出力できます。ページを実行したタイミングによって表示内容が変わるため、HTMLだけの固定ページとは違う動的な表示を作れます。小さなPHPコードをHTMLに埋め込むだけでも、ページに動きを加えられます。

PHPプログラムの実行手順

作成したPHPファイルは、MAMPを起動してからブラウザで開きます。手順を整理すると次のようになります。

手順内容
1lesson57_1.phpを作成する
2C:\MAMP\htdocsに保存する
3MAMPを起動する
4Apacheサーバーをスタートする
5ブラウザでhttp://localhost/lesson57_1.phpへアクセスする
6現在日時が表示されることを確認する

大切なのは、ファイルを直接ダブルクリックして開くのではなく、http://localhost/lesson57_1.phpのようにWebサーバー経由でアクセスすることです。

操作手順

1.上記プログラムを「lesson57_1.php」として保存
 保存場所例:C:\MAMP\htdocs\lesson57_1.php

2.MAMPを起動(Apacheサーバーをスタート)

3.Webブラウザで
 「http://localhost/lesson57_1.php」
 と入力してアクセスすると、ページに現在の日時が表示されます。

ブラウザの表示例

表示例は次のようになります。

現在の日時は 2026年07月25日 14時30分10秒 です。

表示される日時は、ページを実行したタイミングによって変わります。これが、PHPで動的なWebページを作る基本的な例です。

localhostとは

localhostは、自分のパソコン上で動いているサーバーを表す名前です。MAMPでApacheを起動すると、自分のパソコンが学習用のWebサーバーとして動きます。

表記意味
localhost自分のパソコン上のWebサーバー
http://localhost/htdocsの中をWebページとして表示する入口
http://localhost/lesson57_1.phphtdocs内のlesson57_1.phpを実行するURL

MAMPを使ってPHPを学習するときは、localhostというURLをよく使います。PHPファイルをhtdocsに置き、localhostからアクセスする、という流れを覚えておきましょう。

PHPが表示されないときの確認ポイント

PHPを実行しても思ったように表示されない場合は、次の点を確認します。

よくある状態原因確認すること
PHPコードがそのまま表示されるWebサーバー経由で開いていない、または拡張子が.phpではないlocalhostでアクセスしているか、拡張子が.phpか
ページが開かないMAMPやApacheが起動していないMAMPを起動し、Apacheが動いているか
Not Foundになる保存場所やファイル名が違うC:\MAMP\htdocsに保存したか、URLのファイル名が合っているか
日時がずれるタイムゾーンの設定が違うdate_default_timezone_set("Asia/Tokyo")を指定しているか
画面が真っ白になるPHPコードにエラーがあるセミコロン、カッコ、ダブルクォーテーションを確認する

PHPの学習では、エラーが出ることも大切な経験です。まずは保存場所、URL、拡張子、MAMPの起動状態を確認し、その後にPHPコードの書き間違いを見直しましょう。

PHPでできること

PHPを使うと、単に日時を表示するだけでなく、さまざまなWeb機能を作れるようになります。

できること
フォーム処理お問い合わせ内容を受け取る
ログイン機能ユーザーIDとパスワードを確認する
掲示板投稿を保存して一覧表示する
ブログ記事を登録して表示する
会員ページログイン中のユーザー情報を表示する
データベース連携MySQLから商品や投稿を取得する
ファイル操作画像やテキストファイルを扱う
Web API連携外部サービスのデータを取得する

PHPは、HTMLで作った画面と、サーバー側の処理をつなぐ役割を持ちます。フォームから送られたデータを受け取り、必要な処理を行い、結果をページに表示することで、Webアプリらしい動きを作れます。

PHP学習で次に押さえたい内容

現在時刻を表示するサンプルが理解できたら、次はPHPの基本構文を学んでいくとよいでしょう。

学習項目内容
変数値を名前付きで保存する
if文条件によって処理を分ける
繰り返し同じ処理を複数回実行する
配列複数の値をまとめて扱う
関数よく使う処理をまとめる
フォーム連携入力内容をPHPで受け取る
セキュリティ入力値のチェックや安全な出力を行う
データベース連携MySQLに保存したデータを扱う

PHPは、少しずつ機能を試しながら学ぶと理解しやすいです。まずはechoで出力し、次に変数や条件分岐を使い、フォームからの入力を受け取る流れへ進むと、動的Webページの仕組みが自然に見えてきます。

タグや関数の確認表

今回出てきた主なタグ、拡張子、関数を整理しておきます。

項目・関数名説明
<?php ... ?>PHPコードを書く範囲
echo文字列や値を出力する
date指定した形式で現在の日付や時刻を取得する
date_default_timezone_setPHPで使うタイムゾーンを設定する
.phpPHPを実行するためのファイル拡張子
MAMPローカルWebサーバー環境
htdocsMAMPでWeb公開用ファイルを置くフォルダー
localhost自分のパソコン上のWebサーバーを表す名前
meta charset="UTF-8"文字コードを指定する
titleブラウザタブに表示されるページタイトル
styleページ内にCSSを書くためのタグ

PHPを学ぶときは、HTML、CSS、PHPがどの役割を持っているのかを分けて考えることが大切です。HTMLは構造、CSSは見た目、PHPはサーバー側の処理を担当します。

PHPで動的ページを作るための考え方

PHPは、Webページに動的な機能を追加するためのサーバーサイド言語です。HTMLの中にPHPコードを埋め込むことで、現在時刻の表示、フォーム処理、データベース連携などができるようになります。

最初に理解しておきたいのは、PHPはブラウザで直接動くのではなく、Webサーバーで実行されるという点です。MAMPを起動し、PHPファイルをhtdocsに保存し、localhostからアクセスすることで、PHPプログラムを実行できます。

今回のサンプルでは、date_default_timezone_setで日本時間を設定し、date関数で現在日時を取得し、echoで画面に表示しました。とても短いコードですが、アクセスしたタイミングによって表示が変わるため、動的Webページの基本を体験できます。

PHPに慣れてくると、お問い合わせフォーム、ログイン機能、掲示板、ブログ、会員ページなど、より実用的なWebアプリへ発展させられます。まずは小さなPHPコードを実行し、HTMLの中で処理結果がどのように表示されるのかを確認しながら学んでいきましょう。