!!!PHP & XOOPS
PHPとCMSであるXOOPSについての知識を蓄えていくページです。
このページの情報は、PHP 4.3.10 / XOOPS 2.0.13aにて動作確認しております。
!!PHP
*[[基礎|基礎_PHP]]
*[[php.iniでの設定|php.iniでの設定_PHP]]
*[[配列|配列_PHP]]
*[[関数|関数_PHP]]
*[[クラス|クラス_PHP]]
*[[変数|変数_PHP]]
*[[日時情報の取得|日時情報の取得_PHP]]
*[[文字列処理|文字列処理_PHP]]
*[[機能をファイルに分ける(include/require)|機能をファイルに分ける_PHP]]
*[[データベースへのアクセス|データベースへのアクセス_PHP]]
*[[PEAR|PEAR_PHP]]
*[[テンプレートエンジン(Smarty)|テンプレートエンジン(Smarty)_PHP]]
*[[フォームからのデータを渡す|フォームからのデータを渡す_PHP]]
*[[URL引数のデータを渡す|URL引数からのデータを渡す_PHP]]
*[[文字コード変換(mbstring)|mbstring_PHP]]
*[[セッション管理|セッション_PHP]]
*[[フォームでの文字化け〜"あいうえお眉幅"|フォームでの文字化け_PHP]]
!!XOOPS
*[[XOOPS?|What_is_XOOPS]]
*[[有用な追加モジュール|有用な追加モジュール_XOOPS]]
*[[英語・日本語の切り替え|英語・日本語の切り替え_XOOPS]]
!モジュールを造る
*[[簡単なモジュールを作成|簡単なモジュールを作成_XOOPS]]
*[[ログインユーザ情報の取得|ログインユーザ情報の取得_XOOPS]]
*[[データベースにアクセスするモジュールの作成|データベースにアクセスするモジュールの作成_XOOPS]]
*[[外部データベースへのアクセス|外部データベースへのアクセス_XOOPS]]
*[[セッション管理|セッション管理_XOOPS]]
*[[ハマるとなかなか気づかないワナ|ハマるとなかなか気づかないワナ_XOOPS]]
!!サンプルモジュール「SimpleMessageBoard」(2005/11/15)
以前仮置きしていたのを、いろいろ変更を加えました(Ver 1.10)。
ダウンロード:[xoops_SimpleMessageBoard_110.zip|http://ft-lab.ne.jp/files/php/xoops_SimpleMessageBoard_110.zip]
以下のようなミニ掲示板を実現するモジュール「SimpleMessageBoard」です。
XOOPSのmodulesディレクトリに「SimpleMessageBoard」を放り込んで、
システム管理の「モジュール管理」でインストールします。
{{ref_image xoops_img_20051115.png}}
複数の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のフォームのテキスト入力にて(または