PHP & XOOPS
PHP & XOOPS
PHPとCMSであるXOOPSについての知識を蓄えていくページです。このページの情報は、PHP 4.3.10 / XOOPS 2.0.13aにて動作確認しております。
PHP
- 基礎
- php.iniでの設定
- 配列
- 関数
- クラス
- 変数
- 日時情報の取得
- 文字列処理
- 機能をファイルに分ける(include/require)
- データベースへのアクセス
- PEAR
- テンプレートエンジン(Smarty)
- フォームからのデータを渡す
- URL引数のデータを渡す
- 文字コード変換(mbstring)
- セッション管理
- フォームでの文字化け〜"あいうえお眉幅"
XOOPS
モジュールを造る
サンプルモジュール「SimpleMessageBoard」(2005/11/15)
以前仮置きしていたのを、いろいろ変更を加えました(Ver 1.10)。
ダウンロード:xoops_SimpleMessageBoard_110.zip
以下のようなミニ掲示板を実現するモジュール「SimpleMessageBoard」です。XOOPSのmodulesディレクトリに「SimpleMessageBoard」を放り込んで、システム管理の「モジュール管理」でインストールします。
複数のPHPソースの連携、フォームでの入力処理、データベースの格納、など基本的なXOOPSモジュール作成のための情報を含んでいます。
ファイル構成
[language][sql][templates]ディレクトリについての基本的な説明は、同ページ上のTips関連のリンクをご参照ください。
PHPファイル | 内容 |
---|---|
append.php | メッセージを追加するときの画面を表示します |
append_db.php | フォームより追加された情報をデータベースに格納(insert)します |
delete.php | メッセージを削除するときの確認画面を表示します |
delete_db.php | 情報をデータベースより削除(delete)します |
function.php | PHP/HTML/データベース/フォームのテキストでの文字列相互変換を行う関数です |
header.php | XOOPSヘッダ情報を読み込みます |
index.php | トップページ。view.phpに飛ばします |
update.php | メッセージを変更するときの画面を表示します |
update_db.php | フォームより変更された情報を元に、データベースを更新(update)します |
view.php | 情報を一覧するページを表示します |
xoops_version.php | XOOPSのインストール時の情報を記述します |
解説
フォームからの入力〜データベースにデータを格納するまでの流れを確認・理解するためのサンプルです。
文字列の相互変換を行っている点に注意してください。文字列相互変換の関数は、「function.php」にまとめられています。これで、PHPでの関数の使い方が分かるかと思います。
- HTMLとして文字列を表示する際は、「conv_encode」関数で文字列変換を行います。
- フォームから取得した文字列は、「magic quotes」で補正されている可能性があるため、conv_form_to_php関数で元の文字列に戻してます。
- データベースに文字列を格納するときは、'xxx'のようにシングルクォーテーションでくくることになります。しかし、文字列内にシングルクォーテーションやダブルクォーテーション、¥マークが含まれる場合は変換の必要があります(「conv_php_to_db」関数)。
- HTMLのフォームのテキスト入力にて(<input type="text" >または<textarea>)シングルクォーテーションやダブルクォーテーション、「<」「>」がある場合はこれを正常に入力領域に表示できるように変換します(「conv_php_to_formtext」関数)。
上記はXOOPSだけではなく、PHPプログラム全般に言える処理ですのでマスターしておくほうが良しです。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.