PHP - Webページの作成
公開日:2020-12-22 更新日:2020-12-22
[PHP]
1. 概要
PHP を Nginx や Apache HTTP Server などの Web サーバと連携することで、
Webページを PHP で動的に出力することができます。
今回は「PHP - 動作環境構築(Windows)」でインストールした Nginx の環境を使います。
Webページを PHP で動的に出力することができます。
今回は「PHP - 動作環境構築(Windows)」でインストールした Nginx の環境を使います。
2. PHP による HTML の出力
Nginx や Apache のドキュメントルートに、次の PHP をファイルを UTF-8 で作成します。
(ドキュメントルートは、配置したファイルが公開されるフォルダのこと)
C:/nginx-1.18.0/html/test.php
Nginx と php-cgi.exe を起動して、http://localhost/test.php にブラウザでアクセスすると、
HTML 内の PHP が実行されて、3 と表示されます。
拡張子を php にしたファイル内では、<?php と ?> で囲った部分を PHP として処理します。
それ以外の部分は、文字列としてそのまま出力されます。
また、変数の値や数式の結果を表示する場合は、<?= 式 ?> とすることができます。
(ドキュメントルートは、配置したファイルが公開されるフォルダのこと)
C:/nginx-1.18.0/html/test.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
</head>
<body>
<?php
$v1 = 1;
$v2 = 2;
$v3 = $v1 + $v2;
print($v3);
?>
<br />
省略版:<?= $v1 ?> + <?= $v2 ?> = <?= $v3 ?><br />
</body>
</html>
Nginx と php-cgi.exe を起動して、http://localhost/test.php にブラウザでアクセスすると、
HTML 内の PHP が実行されて、3 と表示されます。
拡張子を php にしたファイル内では、<?php と ?> で囲った部分を PHP として処理します。
それ以外の部分は、文字列としてそのまま出力されます。
また、変数の値や数式の結果を表示する場合は、<?= 式 ?> とすることができます。
3. if による分岐
if で分岐することもできます。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
</head>
<body>
<?php
$value = 1;
if ($value == 1) {
?>
value は 1 です。
<?php
} else {
?>
value は 1 ではありません。
<?php
}
?>
</body>
</html>
4. for によるループ
for でループして、HTMLのタグを動的に増やすこともできます。
ブラウザでソースの表示を行って、liタグが3行になっていることを確認してください。
ブラウザでソースの表示を行って、liタグが3行になっていることを確認してください。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
</head>
<body>
<ul>
<?php
$list = ['りんご', 'みかん', 'すいか'];
for ($i = 0; $i < count($list); $i++) {
?>
<li><?= $i + 1 ?>:<?= $list[$i] ?></li>
<?php
}
?>
</ul>
</body>
</html>
5. 画面遷移
次の3つのファイルを作成して、input.html にアクセスしてください。
「足す」ボタンをクリックすると、post.php に入力値が送信されて、加算の結果が表示されます。
また、一番下の「足す」リンクをクリックすると、get.php へ移動します。
この時に、リンクに埋め込まれていた値の加算をして結果を表示します。
input.html(入力画面)
post.php
get.php
submitのボタンを押すと、form タグの action で指定されたURLへ移動します。
この時に、formタグの開始タグと終了タグの間にある input タグの値も送信されます。
また、method を GET にすると、入力値が、URLの後ろに付く形で送信されます。
リンクをクリックした時と同じです。
「足す」ボタンをクリックすると、post.php に入力値が送信されて、加算の結果が表示されます。
また、一番下の「足す」リンクをクリックすると、get.php へ移動します。
この時に、リンクに埋め込まれていた値の加算をして結果を表示します。
input.html(入力画面)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>入力画面</title>
</head>
<body>
<form action="post.php" method="POST">
<input type="text" name="value1" value="10" /><br />
<input type="text" name="value2" value="20" /><br />
<input type="submit" value="足す" />
</form>
<br />
<a href="get.php?value1=10&value2=20">足す</a>
</body>
</html>
post.php
<?php
print('答え:');
print($_POST['value1'] + $_POST['value2']);
print('<hr />');
print('POST<br />');
var_dump($_POST);
get.php
<?php
print('答え:');
print($_GET['value1'] + $_GET['value2']);
print('<hr />');
print('GET<br />');
var_dump($_GET);
submitのボタンを押すと、form タグの action で指定されたURLへ移動します。
この時に、formタグの開始タグと終了タグの間にある input タグの値も送信されます。
また、method を GET にすると、入力値が、URLの後ろに付く形で送信されます。
リンクをクリックした時と同じです。