連載
» 2007年02月23日 00時00分 UPDATE

今から始める MySQL入門(2):PHPプログラミングの基礎を学ぼう (1/2)

[鶴長鎮一,@IT]

 連載第1回目では、MySQL+PHP+Apacheのインストールと動作確認までを解説しました。今回は、PHPによるWebプログラミングの基本と次回以降で作成する「簡易オンラインストア」の概要について説明します。

関連リンク:

連載 快速MySQLでデータベースアプリ!

http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.html

連載 今から始める MySQL入門

http://www.atmarkit.co.jp/flinux/index/indexfiles/mysql5index.html


PHP Webプログラミングの基本

PHPコードの埋め込み

 PHPは、Webアプリケーション構築を前提に開発された言語です。そのため、Webアプリケーション開発で頻繁に使用される処理などを簡単に利用できます。また、HTMLとの相性が良いことでも知られています。

 HTMLテキストの中にPHPコードを埋め込むには、<?php 〜 ?>を用います(図1)

図1 HTMLテキストに埋め込まれたPHPコードの例 図1 HTMLテキストに埋め込まれたPHPコードの例

 PHPは、HTMLテキストのデザインを崩すことなくコード埋め込むことができるため、プログラマーだけでなく本格的なプログラミング経験がないWebデザイナーなどからも支持されています。

 ちなみに、1行スクリプトを用いると、HTMLタグの中に処理を埋め込むことができます。

<font color="red" size=+2><?php print "こんにちは" ?></font>
1行スクリプトの例

フォーム処理

 Webアプリケーションで頻繁に使用される処理に「フォーム処理」があります。通常、<form>タグのaction属性で指定されたWebアプリケーションは送信されたデータの解析、各フォームデータの抽出、格納などの複雑な手順を踏む必要があります。

 しかし、PHPではそのような複雑な手順を省略して「$_POST["name属性"]」で値を取り出せます。

 下記リスト1、2は入力&送信されたフォームデータを「$_POST["input1"]」「$_POST["input2"]」を利用して、画面に表示させる例です。

<form action="sample.php" method="POST">
<input type="text" name="input1">
<input type="text" name="input2">
<input type="submit" value="送信">
</form>
リスト1 sample.html
<?php
print $_POST["input1"];
print $_POST["input2"];
?>
リスト2 sample.php

 ちなみに、<form>タグのmethod属性を「POST」から「GET」に変更する場合は、「$_GET["name属性"]」を使用します。しかし、GETメソッドでは送信できるデータの大きさに限界があります。また、データ内容を簡単に盗み見ることができるため、通常はPOSTメソッドの使用をお勧めします。

 $_POSTや$_GETはスーパーグローバル変数と呼ばれ、PHPであらかじめ用意された連想配列(注)です。ほかにもPOSTとGETどちらにも対応する「$_REQUEST["name属性"]」があります。

注:通常の配列では、インデックス番号で各値にアクセスします。しかし、連想配列の場合はキーを用いて各値にアクセスします。ハッシュテーブルとも呼ばれます。


エラー処理

 本連載では、エラー処理に「die("メッセージ")」を使用します。die()は引数に指定されたメッセージを表示して、それ以降の処理を中断します。ちなみに、exit()を使用すれば、メッセージを表示せずに処理を終了できます。

<?php
print "begin<br>";
die("これ以降の処理は続行されません");
print "end";
?>
die()の使用例

 また、下記のように「TRUE/FALSEを返す処理」と「or」を組み合わせれば、エラーが発生した場合だけメッセージを表示して、以降の処理を中断できます(注)

TRUE/FALSEを返す処理 or die("メッセージ");

エラーの確認方法

 PHPはコンパイルを必要としないため、実行するまで間違いに気が付かない場合があります。実行時のエラーは、Apacheのログ「/var/log/http/error_log(ソースからインストールした場合は/usr/local/apache2/logs/error_log)」に出力されます。

[日付] [error] [クライアントのアドレス] PHP Parse error:  syntax error, unexpected '>' in /var/www/html/sample.php on line 2
PHPのエラーログの例

 また、下記のようにPHPをコマンドモードで実行(「-l」オプションを指定)すれば、ブラウザでアクセスする前に構文のチェックを行うことができます。

$ /usr/bin/php -l sample.php ←(注)
PHP Parse error:  syntax error, unexpected '>' in sample.php on line 2
Errors parsing sample.php      

注:ソースからインストールした場合 は、/usr/local/bin/php -l sample.php


 ちなみに、「-f」オプションを指定すればPHPスクリプトをコマンドラインから実行できます。しかし、「-f」オプションだけではブラウザからのアクセスを完全に再現できません(単純なスクリプト判定の確認程度なら可能)。詳しくは「-h」オプション、または「$ man php」で確認してください。

$ /usr/bin/php -f sample.php

関連リンク:

PHP4で作るWeb-DBシステム

http://www.atmarkit.co.jp/flinux/php4/php4_1/php1.html

オブジェクト指向言語に生まれ変わるPHP5[前編]

http://www.atmarkit.co.jp/flinux/special/php5/php5a.html

オブジェクト指向言語に生まれ変わるPHP5[後編]

http://www.atmarkit.co.jp/flinux/special/php5/php5c.html



       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。