ここで作るもの → ユーザーが入力したデータを加工して、ブラウザに結果を表示する。
では、さっそく作ってみましょう。
user-input.php
<?php require ‘header.php’; ?> <p>名前を入力してください</p> <form action=”user-output.php” method=”post”> <input type=”text” name=“user“> <input type=”submit” value=”確定”> </form> <?php require ‘footer.php’; ?> | formタグで入力フォームの記述が始まることを示します。action属性にuser-input.phpが指定されていて、確定ボタンを押すと実行されます。method属性にはpostを指定してます。送信するデータ容量が大きいことや、送信するデータ内容がユーザーに見えにくいことがgetに比べて利点です。 |
複数のスクリプト(PHPで書かれたプログラムの呼び方)で同じ部分を使いまわすことがあります。このような場合は、使いまわす共通部分を別のファイルに保存しておき、スクリプトから読み込むようにします。それには次のような利点があります。
- 繰り返し同じ内容を入力する手間が省け、スクリプトが簡素にできる。
- 共通部分を一括して変更する場合に、複数のスクリプトを1つひとつ変更する必要がなくなり、共通部分のファイルだけを変更すればよくなる。
別のファイルに書かれたPHPプログラム、そのスクリプトを読み込んで実行するための機能が「require」文です。使い方は「require ‘ファイル名’;」です。
user-output.php
<?php require ‘header.php’; ?> <?php echo ‘ようこそ、’, $_REQUEST[‘user’], ‘さん。’; ?> <?php require ‘footer.php’; ?> | フォームで入力した内容は、リクエストパラメータとしてWEBサーバーに送信されます。上記のname属性で指定した「user」が、リクエストパラメータ名です。$_REQUEST[‘user’]で指定した名前のリクエストパラメータを取得します。echoの後に複数の値を「,」(カンマ)で区切って並べると、値を連結して表示できます。 |
$_REQUESTは、リクエストパラメータを取得するための仕組みです。PHPの文法上の意味合いでは変数の一種となります。変数は値を格納するための仕組みです。$_REQUESTにはリクエストパラメータの値が格納されます。
header.php
<!DOCTYPE html> <html lang=”ja”> <head> <meta charset=”UTF-8″> <meta http-equiv=”X-UA-Compatible” content=”IE=edge”> <meta name=”viewport” content=”width=device-width, initial-scale=1.0″> <title>PHP sample</title> <link rel=”stylesheet” href=“style.css“> </head> <body> | HTMLドキュメントの先頭部分を記述しました。 |
footer.php
</body> </html> | HTMLドキュメントの末尾部分を記述しました。 |
style.css
@charset “UTF-8”; body{ background-color: white; background-image: url(PHPlogo.jpg); background-size: 70px 70px; background-repeat: no-repeat; padding-left: 70px; } footer{ padding-left: 70px; background-color: saddlebrown; margin: 20px 0px 0px -10px; padding: 10px; } | PHPロゴの修飾などをしています。 |
単価と個数から合計金額を計算するプログラム
ここで作るもの → 入力された値を計算して、結果をブラウザ上に表示する処理
ではさっそく作ってみましょう。
price-input.php
<?php require ‘header.php’; ?> <form action=”price-output.php” method=”post”> 単価<input type=”text” name=”price”>円 X 個数<input type=”text” name=”count“>個 <input type=”submit” value=”計算”> </form> <?php require ‘footer.php’; ?> | 短歌と個数のname属性は、priceとcountです。したがって、リクエストパラメータ名も、それぞれpriceとcountになります。 |
price-output.php
<?php require ‘header.php’; ?> <?php echo $_REQUEST[‘price‘], ‘円X’; echo $_REQUEST[‘count‘], ‘個=’; echo $_REQUEST[‘price’] * $_REQUEST[‘count’], ‘円’; ?> <?php require ‘footer.php’; ?> | リクエストパラメータとして渡されたテキストボックスの値を、$_REQUESTにて取得します。 演算子「*」を用いて「単価*個数」を記述します。 |
変数を使って計算をする。
price-input2.php
<?php require ‘header.php’; ?> <form action=”price-output2.php” method=”post”> 単価<input type=”text” name=”price”>円 X 個数<input type=”text” name=”count”>個 <input type=”submit” value=”計算”> </form> <?php require ‘footer.php’; ?> | 赤字のみ変更 |
price-output2.php
<?php require ‘header.php’; ?> <?php $price = $_REQUEST[‘price’]; $count = $_REQUEST[‘count’]; echo $price, ‘円x’ ; echo $count, ‘個=’ ; echo $price * $count, ‘円’; ?> <?php require ‘footer.php’; ?> | 変数を使うには、最初に変数に名前を付けます。 ➀変数名の前には$を付ける。 ➁1文字目は英字またはアンダースコア(_) ➂2文字目以降は英字、数字、アンダースコアのいずれか。 ④英字の大文字と小文字は区別される $count $count2 $count_tag |