SE/システムエンジニアのIT系就職/転職/派遣サイト システムエンジニアになるためのJava Linux資格の講座(スクール)IT Boost
ITエンジニアとして 知る 学ぶ 買う
 
Java
.NET
PHP
プログラミング一般
DataBase
システム/サーバ構築
システム/サーバ運用
技術系一般知識
 
 
>IT技術情報>php>PHP第3回:PHP応用
【連載 】PHP

第3回:PHP応用

 
PHPを用いたWebアプリケーションを開発する際に必須となるリロード対策、データベースアクセス、日付処理などを解説します。また更に一歩進めてPDF出力やオブジェクト指向プログラミングまで触れます。

株式会社アイティーブースト
2003/08/29
 

【 目次 】
1.リロード対策クラス
2.PostgreSQL
3.MySQL
4.メール
5.メール用クラス
6.セッション管理(PHP4)
7.日付処理 Tips
8.配列処理 Tips
9.オブジェクト指向
10.PDF 関数の使用

【動作環境】
バージョン PHP3

1.リロード対策クラス

  ブラウザをリロードされたり、「戻る」ボタンを押した後 再び submit されたりすると困ることがありますが、そういうのをチェックするためのクラスです。

  submit ボタン(URL埋め込みでも構いません)があるページで ID を発行し、HIDDEN として埋め込んでおきます。 submit ボタンを押したとび先のページでは、HIDDEN で 渡ってきた ID での実行が既になされたかどうかをチェッ クします。

  とりあえず PHP4 のみ対応としておきます。 本質的に PHP4 でないと いけないところはないので、関数を書く順序や、 可変変数の書き方の問題などの細かい部分を修正すれば PHP3 でも動くとおもいます(未確認)。
# これを機会に PHP4 に移行するっていうのもアリかもしれませんね。


会員登録のメリット! ▼Java や Linux を体系的に学びましょう!▼
Stack*のアイティーブーストが、
新学習方式のカリキュラムを開発しました!
14700円から(*1)、Java や Linux を体系的に学べます!!
(*1 テキスト代のみの税込料金です)




また、OS 依存の命令は特に使用していませんので Windows などでも動作すると思います(これも未確認)。


ダウンロード


      Reload クラス ver. 1.0

こちらからお願いします。

使用法

まず、フォームの表示は、
 

<?
require "reload.inc"
$rl = new Reload();
?>

<form action="exe.php" method="POST">
<input type="submit" value="OK">
<?echo $rl->embed()?>
</form>



のようにし、受け取る側では
 

<?
require "reload.inc"
$rl = new Reload();

if( $rl->isReload() ) {
  print "リロードしましたよね!?<br>";
  print '<a href="'.$PHP_SELF.'">Back</a>';
  exit;
} else {
  print "OK. リロードしてませんね。<br>";
}
?>


のようにします。簡単ですよね?

URL への埋め込みにも対応しています。 受け取る側の処理は同じですが、その前のページが違います。
 

<?
require "reload.inc"
$rl = new Reload();
?>

<a href="exe.php?<?=$rl->urlparam()?>">Go</a>


のようにします。他の URL パラメータがあるならば、それ も & でつなげていきます。

サンプルプログラム

一緒に入っている test.php をご覧ください。

その他

  ご意見、バグなどは、mats@itboost.co.jp までお願いします。

  業務等でも使っていただく分には構いませんが、それによって 発生した問題の責任はすべて負いません。 また、転載などは基本的にしないでください。

  最近のブラウザ(少なくとも私のIE5.5)では、ダブルクリック をひとつのリクエストとして処理する場合があるようです。 テスト中もダブルクリックによる問題は発生頻度が低かったです。

関数リファレンス

isReload() リロードされたかどうかを真偽値で返す。
embed() HIDDEN の生成。文字列で返す。
urlparam() URLパラメータの生成。文字列で返す。
getRegisted() isReload() で生成されたチェック用ファイル名の取得。文字列で返す。
gc() 古いチェック用ファイルの削除。
isReload から、GC する確率で呼び出される。
setDir($aDir) チェック用ファイルの保管用パスを設定。
setLifetime($aLifetime) チェック用ファイルの最低存続期間を設定(単位は秒)
setGCProbablity($aGCProbablity) GC する確率を設定。
setParamName($aParamName) ページ間で受け渡す、チェック用ファイル名が格納される変数名を設定。
setParams($aDir, $aLifetime,  $aGCProbablity, $aParamName) 上記4つのパラメータを一気に設定する。
Reload() コンストラクタ
er() エラー出力用関数


>>次のページへ

【 ページ 】 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

【 関連記事 】
PHP
第1回:PHP基礎
第2回:PHP中級
第3回:PHP応用

サイト内全文検索
スタックアスタリスクのサイトを検索します。検索には、Googleを利用しています。そのため、最新の情報で検索されない可能性があります。


簡単レンタルメールフォーム
300メガ1000円〜 XBitのレンタルサーバー
500メガ1995円〜 電話サポート/PostgreSQL/専用SSLなどにも対応!お客様のニーズを網羅したレンタルサーバ
ホームページ制作のアシストウェブ
STACK* 執筆の講師陣から習得する!! ITエンジニアスクール アイティブースト
統合メールサポートシステム 〜MailDealer(メールディーラー)〜
システム開発,IT教育 〜株式会社アイティーブースト(ITBoost)〜
  利用規約 お問い合わせ・ご意見 スタックアスタリスクについて 運営会社について  
  レンタルサーバー ホスティング 専用サーバー メールフォーム ショッピングカート メール共有 ITエンジニア派遣 Linux講座 Java講座 メール配信 レンタルサーバー Webデータベース 検索サービス
メール管理・共有 顧客管理(CRM)もできるメール対応サポートシステムJAVA LINUX CISCO 技術者派遣 育成事業 システムエンジニアになるためのJava Linux資格の講座(スクール)