トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

PHP & XOOPS

PHP & XOOPS

PHPとCMSであるXOOPSについての知識を蓄えていくページです。このページの情報は、PHP 4.3.10 / XOOPS 2.0.13aにて動作確認しております。

PHP

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.phpPHP/HTML/データベース/フォームのテキストでの文字列相互変換を行う関数です
header.phpXOOPSヘッダ情報を読み込みます
index.phpトップページ。view.phpに飛ばします
update.phpメッセージを変更するときの画面を表示します
update_db.phpフォームより変更された情報を元に、データベースを更新(update)します
view.php情報を一覧するページを表示します
xoops_version.phpXOOPSのインストール時の情報を記述します

解説

フォームからの入力〜データベースにデータを格納するまでの流れを確認・理解するためのサンプルです。

文字列の相互変換を行っている点に注意してください。文字列相互変換の関数は、「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.