アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPで簡単な掲示板(メッセージボード)を作ってみようと思っています。
今考えているのは、
(1)HTMLのテキストエリアの文字列(投稿者名、メッセージ)をサーバーのphpファイルあてにsubmitし、
(2)(1)および投稿日時間をサーバーにあるテキストファイルに追加し、
(3)(2)をブラウザに表示する
というシンプルなものです。

この発想に何か問題はありますか?

あと、上記の掲示板を作るとして、ひとつ気になっていることがあります。
メッセージ10件で1ページ表示するようにしたいと思っていますが、メッセージ10件の区切りをどうしたらいいのかわかりません。
「件名」や「投稿者」という文字列を検索して、メッセージごとの区切りを見つけるという方法を思いつきましたが、これだと、もし万一メッセージの文章中に「件名」や「投稿者」という文字列があった場合、そこが
メッセージの境だと認識されてしますので難しいなと思ったのです。
何かアドバイスありましたら、よろしくお願いいたします。

A 回答 (4件)

掲示板というより簡易メッセージボード的なものなら、別途DBやデータファイルに管理データをもたずに


HTMLにメッセージをためていく仕様でも充分だと思います。

DBを使う場合に必須なSQLインジェクション考えなくてすみますし。
ただし、HTMLタグを拒否する仕組み(サニタイズ)はどちらにしても必要ですが。

なお、区切りを見つける方法としては、
1メッセージ1行のHTMLファイルにする方法もありますし
HTMLコメント式でもいいかと思います。

HTMLコメント式だと、たとえば、
<!---start--->
投稿者:~
メッセージ:~
<!---end--->
みたいにHTMLを生成しておけば、<!--~-->部分はブラウザには表示されませんが、PHPの処理としてはHTMLファイル中のこの文字列を検索できすし、
投稿された投稿者やメッセージをhtmlspecialchars()やstriptags()しておけば、
<!-- -->という文字がでてくることはありませんので、誤認識されません。
    • good
    • 0
この回答へのお礼

レスありがとうございます。
HTMLコメントのアイディアは素晴らしいと思いますので、
簡易的メッセージボードはこれで行こうと思います。

お礼日時:2008/04/09 11:39

PHP5でしたら、最初からSQLiteというデータベースが入っています。


これは、ファイルベースのRDBMSですが、試しに使うのにはいいでしょう。
最初のURLでは、直接sqlite関数を使っていますが、もしその後MySQL、PostgreSQLなどに乗り換えるとしたら、PDO(PHP Data Object)(2番目のURL)を使ったほうがいいでしょう。

参考URL:http://www.phpbook.jp/database/sqlite/,http://ww …
    • good
    • 0
この回答へのお礼

レスありがとうございます。
データベースに関する情報ありがとうございます。
とりあえずSQLiteを試してみます。
まだまだわからないことばかりですので、今後ともご指導よろしくお願いいたします。

お礼日時:2008/04/09 11:43

私もデータベースを使わないときは「タブ区切り」にしますね。

explodeで"\t"で分解するだけで使えますから。

#テキストエリアの改行はnl2brしたあとで\rと\nを削除します。

あと「スレッド」は扱わない前提でいいんですかね?これをしたくなると1スレッド1ファイル(レスごとに行を追加していく)にするとかになってくるので・・。まぁこのあたりも含めてデータベースを使う方が格段に楽です。
    • good
    • 0
この回答へのお礼

レスありがとうございます。
データベースはAccess2007を少し触った程度です(名簿)。
私のようなデータベース初心者がPHPで掲示板を作る時に便利なデータベースを教えていただけると幸いです。

nl2brや\tについては、調べてみます。

お礼日時:2008/04/08 16:49

タブで項目を区切るとか文中の改行を"<br>"に置換して


一件 = 一行 にするとか。
それよりデータベースを利用したほうが簡単だと思います。
インジェクション攻撃対策も必須です。
    • good
    • 0
この回答へのお礼

レスありがとうございます。
文中の改行を<br>に置換する方法を調べてみます。

データベースを使う方法についても検討したいと思います。
データベースはAccess2007を少し触った程度です(名簿)。
私のようなデータベース初心者がPHPで掲示板を作る時に便利なデータベースを教えていただけると幸いです。

お礼日時:2008/04/08 16:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!