PHPスクリプト(写メール掲示板)「IMG-BBS」について質問です。

http://www.mt312.com/

上記サイトの有償版を使い、デザインなどをカスタマイズしています。
デザインのカスタマイズはできたのですが、システム内部の処理で、
以下のことをしたいと思っています。

■記事の投稿項目を増やす。
→たとえば、名前+メールアドレス+本文のように、規定のフォームがありますが、
これ以外にも「好きな食べ物」などの項目を増やし、登録したいのです。

log.cgiに<>区切りで登録されていくようなのですが、
どのように登録させればいいのか、わかりません。

対象はmobile処理だけで、PCからの登録は改造しません。
PHPに強い方、カスタマイズ経験豊富な方からのアドバイスをお待ちしています。

よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2009/05/12 08:45:11
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント100pt

コメント欄に書き込めないので、回答欄にて失礼します。

IMG-BBS スクリプトを見てみましたが、ビューだけでなくモデルの改造が必要です。私の力では、ここで回答できるような作業量ではありません。

ここでは、ポイントだけかいつまんで説明します。


モバイル用のビューは、"view_m.html" で定義されています。

「好きな食べ物」のようなテキスト入力であれば、<textarea name="mes" rows="2" cols="17"&gh; を参考に、name が重複しないように入力フォームを追加してください。


モデルは "model.php" で定義されています。

先ほどの name="mes" の入力テキストは $_POST["mes"] で受け取り、文字コードやエスケープ処理を行っています。これを参考に、「好きな食べ物」に対応するロジックを追加してやる必要があります。


なお、モデルは PC と携帯で共有しているようなので、携帯だけ POST パラメタを変えるのであれば、冒頭に PC と 携帯の条件分岐が必要になると思われます。

id:takupon2009

pahooさん、お忙しいところ、御回答ありがとうございます。

実は、私もスクリプトを色々と弄ってみまして、改造を試みていました。

pahooさんのおっしゃるように、model.phpに相当する箇所があり、

そこに定義を追加したのですが、どうもこうも追加されません。

ちなみに、教えて頂いた改造案、残念ながら[IMG-BBS]のフリー版だったため、仕様が少々異なるようです。

私が使用しているのは有償版で、IMG-BBS+と呼ばれるものです。

http://www.mt312.com/script/15/

ですが、こちらは購入後の配布のため、内部構造を知ることが出来ないと思います…。

ご指摘頂いた変更箇所が書かれているソースはあり、私も同じように変えてみました。

ですが、log.cgiには追加されてくれませんでした…。(html側も改修済)

当方で変更したソースをお渡しして見ていただけると一番助かるのですが…。

2009/05/11 09:45:32
  • id:takupon2009
    takupon2009 2009/05/12 08:51:25
    Pahooさんのご指摘の内容を参考に、PHPソースをもう一度見直したところ、

    登録時のアクションPHP(app/action/write_do.php)にて
    $_POST["hoge"]の内容をgetParameterEscしてやることで、反映されました。

    [変更例]
    $hoge = $request->getParameterEsc('hoge');

    上記の定義の追加を行うことと、検索結果にも反映させるために
    search.phpのfunction extractTargetにも追加してあげる必要がありました。

    とりあえず目標の作業は実現できました!
    貴重なアドバイス、ありがとうございました!!
  • id:pahoo
    的外れのアドバイスだったような気もしているのですが、解決して何よりです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません