せっかくだからPHPで掲示板作ってみませんか?
■ このスレッドは過去ログ倉庫に格納されています
0001⊂(´ー`⊂⌒ヽつ
NGNG結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
0136名無しさん@お腹いっぱい。
2001/07/10(火) 21:54ID:VaMPoT2kただしphp4以上ね
0137PHPはいいのかな?
2001/07/25(水) 20:00ID:tQkHrkGs今、掲示板のような情報登録システムを作ろうと思っています。
http://world.gokinjo.net/
↑こんなかんじのやつです。
情報を登録してもらう件数が、1000件程度ならPerlで作ればいいのかなと思ってます。
しかし、1万〜10万件の登録数になったら、PHP+DBでないと検索が遅くなってしまうのかなと心配しています。
オライリーのプログラミングPerlを10ページほど読んだだけですが、できればPerlで作りたいと思っています。
もし、PHP+DBを使う場合は、Perlに比べてどのような優位性がありますか?
よくわからんのですが、Java+DBとPHP+DBではどんな違いがありますか?
(=プログラミングやメンテナンスの難易度、動作の速さ、コスト等)
4649
0138名無しさん@お腹いっぱい。
2001/07/25(水) 20:52ID:???http://corn.2ch.net/test/read.cgi?bbs=php&key=982687820&ls=50
0139Thanks
2001/07/27(金) 11:32ID:Mtq49UWAありがとうー。
0140名無しさん@お腹いっぱい。
2001/08/16(木) 00:52ID:???無理ですかね。
MiniBBSタイプの追加していくだけのものならできるのですが、レス付きの
age sage のさせ方が思いつかなくて。
上のMiniBBSタイプの掲示板程度の簡単なものしか作ったことがなく
経験は浅いです。<この程度でMySQL使うなよーって言われそうですが
0141名無しさん@お腹いっぱい。
2001/08/16(木) 05:19ID:???俺も初心者でよくわからんけどレスのテーブル作るのは?
メインのテーブルにスレッド更新時間フィールド作って
age の時だけそれを更新したら期待する動作になると思うけど。
age
insert into res (....)
update main set (updatetime=... where id=...)
sage
insert into res (....)
てか、これ以外の方法でいいの知ってる人
教えてほしいです。頭弱くて他に思いつかん・・・
0142名無しさん@お腹いっぱい。
2001/08/16(木) 14:22ID:gmLqYaug>>141の言うようにテーブルを2つ分けるのが良いと思う。
1つのテーブルでやろうとするなら、こんなテーブルかな。
create table bbs(
ita_id int /* 板ID */
thread_id int /* スレッドID */
name text /* 発言者名 */
mail text /* 発言者メールアドレス */
comment text /* 発言内容 */
comment_date date /*発言日時 */
update_time date /* 更新日時 各スレの1のみ利用 */
);
select thread_id from bbs where ita_id = '板id' and update_time is not null order by update_time desc limit 20;
1つでやれと言われたら、俺ならこうするだろうな。
0143名無しさん@お腹いっぱい。
2001/08/16(木) 14:26ID:???0144名無しさん@お腹いっぱい。
2001/08/16(木) 16:38ID:???それだと板名、スレ名は別テープルになってしまうのでは。
1テーブルにするにはvarchar型の板名、スレ名フィールドにしなければ。
でも order by の部分がどうなるのか複雑すぎて考えたくない。ナナシたんなら分かるかも。
0145名無しさん@お腹いっぱい。
2001/08/16(木) 16:55ID:1.nHpY.wここの真似すればいいんじゃない?ツリーだけど。。
ヘッドライン用テーブル作れば済むじゃん
0146名無しさん@お腹いっぱい。
2001/08/16(木) 17:11ID:???板名とスレ名のことを忘れてた。
となると、板IDなんていらないのかな、1テーブルで全てを
処理しようとするなら。類似スレタイトルが出てくる可能性も
あるわけだから、スレIDは良いとしても、スレ名フィールドも
必要だね。
掲示板表示に関しては1つのSQL文で全ての処理を行うのは
無理じゃないかなぁ。特に2ch型の場合。
0147名無しさん@お腹いっぱい。
2001/08/16(木) 17:15ID:???>>140は1つのテーブルで実現したいと言っているんだ、これが。
複数のテーブルを使った方が楽なのは2ch型の場合明白でしょう。
俺でもヘッドライン用、ログ用と最低でも2つは用意するね。
0148名無しさん@お腹いっぱい。
2001/08/17(金) 01:28ID:/R.1WTn.0149◆sUui9gxA
2001/08/17(金) 01:58ID:???0150◆sUui9gxA
2001/08/17(金) 01:58ID:???0151140
2001/08/17(金) 02:39ID:???やはりテーブルは複数の方がよいようですね。
>>145 のPhorumが、とりあえず動いたので、ちょっと勉強して
真似してみます。
0152名無しさん@お腹いっぱい。
2001/08/18(土) 11:48ID:???0153名無しさん@お腹いっぱい。
2001/08/18(土) 12:15ID:???0154PantuHakePantu
2001/08/23(木) 19:20ID:???テーブル一個で済ますのはあまりよろしくないね。
分割するがよろし。板一個に付き一個。
create table bbs(
NO INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, //記事NO
RNO INT UNSIGNED NOT NULL, //レスポンス時の親記事NO
NAME TINYTEXT, //名前
MAIL TINYTEXT, //メアド
TITLE TINYTEXT, //親記事の場合の記事タイトル
MSG TEXT, //内容
DATE INT UNSIGNED, //発言日時
TS INT UNSIGNED //タイムスタンプ(age,sage用)
);
あとは適当なフィールドをINDEXにする。
0155名無しさん@お腹いっぱい。
2001/08/23(木) 23:53ID:???板ごとにテーブル作る必要ないんじゃないの?
その方が邪魔臭い。板NOを作れば済むと思うぞ。
0156名無しさん@お腹いっぱい。
2001/08/25(土) 05:49ID:???http://www.runser.jp/softlib.html
こんなのがあった。動いているのがこっち
http://www.runser.jp/bbs.php
元々はDBで動いていたのを、使わないように改造したらしい。
0157名無しさん@お腹いっぱい。
2001/08/25(土) 18:55ID:???http://www.phorum.org/の掲示板だとレス付いてもあがらないし
0158名無しさん@お腹いっぱい。
01/08/30 21:56ID:YzLgVA/.いまんとこnamazuで全文検索出来ないのが痛いんだよねえ。
みんなはその辺、どうしてるの?
0159名無しさん@お腹いっぱい。
01/08/30 23:31ID:M8F0Dr3gMLに流れてたけど、テーブルの内容全部書き出してそれにインデクサかけるんだっけ?
0160名無しさん@お腹いっぱい。
01/09/01 02:49ID:8xYEHKqEこれもPHPですか?
0161名無しさん
01/09/02 03:19ID:zatSDIFM違うよ。
JSPダヨ
0162名無しさん@お腹いっぱい。
01/09/02 23:20ID:9EIA//fo0163名無しさん@お腹いっぱい。
01/09/05 00:52ID:0Ucsm3soしてみてちょ。
http://popee.gasuki.com/bbs/test/
0164名無しさん@お腹いっぱい。
01/09/05 01:28ID:z8oXKVes横漏れチェックはOKでした (w
0165名無しさん@お腹いっぱい。
01/09/05 13:23ID:h3vD9HpA0167ちたん
01/09/05 16:25ID:5qOPNXQ6(・∀・)イイ!
0168名無し
01/09/05 20:26ID:VpO1BIGg>indexをPHPで吐いてるんで穴が恐い。
これってどういうことですか?
0169名無しさん@お腹いっぱい。
01/09/05 20:39ID:mVb.tFT2掲示板トップをindex.phpで吐いてるってことでしょ?
0170E_ERROR
01/09/05 20:41ID:etg59saISSI呼出やらHTML・PHPタグの除去を上手く出来ないと怖い事に
なるってところでしょうね。
でも良い感じですね〜、163さん。
0172名無しさん@お腹いっぱい。
01/09/07 23:07ID:P553JcYI.htmlでいいじゃん。
0173名無しさん@お腹いっぱい。
01/09/07 23:25ID:ig7A6p6A0174名無しさん@お腹いっぱい。
01/09/08 03:37ID:???ピカチュウ警報
0175名無しさん@お腹いっぱい。
01/09/08 10:09ID:???.phpにすればクッキーが使える。
SSIは動かないだろ
0176名無しさん@お腹いっぱい。
01/09/08 12:56ID:KBW0zPWMjavaスクリプトで抜けばいいだろ。
.phpなんかでファイル吐いたらセ
キュリティーも糞も無くなる。
初心者は黙って名。藁
0177名無しさん@お腹いっぱい。
01/09/08 15:17ID:???>.phpなんかでファイル吐いたらセ
>キュリティーも糞も無くなる。
詳しく知りたいのですが...
0178名無しさん@お腹いっぱい。
01/09/08 16:23ID:???意味不明なんですが・・・
> .phpなんかでファイル吐いたらセキュリティーも糞も無くなる。
htmlファイルを吐いてブラウザにはそれを見せるのは危険ってこと?
って事は.phpで直接表示しろって事だよね?
> javaスクリプトで抜けばいいだろ。
ならPHPでクッキー使えばいいじゃん。
0179名無しさん@お腹いっぱい。
01/09/08 16:59ID:h6rIpquUhttp://php.s3.to/bbs/fstyle/
0180ちたん
01/09/08 21:30ID:9w.nIrBA0181名無しさん@お腹いっぱい。
01/09/08 22:41ID:???0182ちたん
01/09/08 22:44ID:9w.nIrBAPHPは手を出した事が無いんだけど
今いろいろ乗ってるサイトで調べたら
PHPは全くCGIとは別物なんだね
ribbon.toってとこのスペースにでも置くか
0183名無しさん@お腹いっぱい。
01/09/09 21:54ID:YAPKaUzkindexにphpファイル使うのがヤヴァイってことですか?
ファイル名がindexでなければ大丈夫?
index.htm置いても関係なっしんぐですか?
ribbon.toのスペース借りたので、PHPも挑戦してみようと
思ってるんですが、さっぱり進みません。
0184163
01/09/09 23:05ID:FMpp59YYindex.htmlなら大丈夫。index.phpで吐いてphpタグの除去漏れが
あったりすると悲惨な攻撃を喰らう可能性が。
例えばディレクトリ内の全ファイル削除するphpスクリプトを書き
込まれたり。
0185名無しさん@お腹いっぱい。
01/09/09 23:29ID:wbHvU30kどうやって書き込むんですか?
パスワードをハックするんですか?
0186名無しさん@お腹いっぱい。
01/09/09 23:40ID:FMpp59YYあくまでPHPで掲示板やチャット作る場合ね。
フォームからの入力を受け付けないスクリプトなら
問題無いです。
0187185
01/09/09 23:45ID:wbHvU30k知らなかった ありがとうございます。
0188名無しさん@お腹いっぱい。
01/09/09 23:56ID:???たとえばフォームから$varにPHPコード入ってる入力受けたとして、
echo $var ってやったら $var に入ってるコードが実行されるの?
そんなわけないよね?
$var を直接unlinkやsystemやexecやevalとかしなけりゃ問題ないでしょ?
他には$varにSSIのコードが入っててPHPからhtml「ファイル」を
書き出すときに$varをそのまま埋め込んでそのhtmlにアクセスされた時に
SSIが実行されちゃうとかでしょ。
なんか勘違いしてる人ばっかりっぽい。
それとも俺が勘違い?
0189183
01/09/10 00:30ID:???早々レスありがとうございます!
自分がいかに厨房か身にしみました。
レンタルなんで、他のユーザに迷惑かけるのもアレだし、
もっと勉強してから設置します。
0190名無しさん@お腹いっぱい。
01/09/10 00:30ID:???それが出来るのがphpなのでわ?
$varは汚れているってやつ
0191163
01/09/10 00:37ID:nli.P4co場合に限りってことですので。
0192188
01/09/10 00:47ID:???そりゃ気を使わないといけないね。
「indexをPHPで吐いてる」
を単にindex.phpが動的にデータ読んでHTML生成してる
という意味だと思ったよ。
0193185
01/09/10 01:16ID:WNjUYDFQphpがphpを吐く場合ですか。そりゃそうかも。
まだよく分かってないけど…。
0194163
01/09/10 12:00ID:???のと従来通りスレッド毎にファイルで持たせるのだとどっちが
効率いいんでしょう?
なんかDB化すると書き込み時にSELECT連発になりそうで不効
率なイメージがあるんだけどDB詳しくないので分かんないや。
0195名無しさん@お腹いっぱい。
01/09/10 13:45ID:RS6j19mI0196ちたん
01/09/10 14:22ID:NewyOZz.0197名無しさん@お腹いっぱい。
01/09/10 14:23ID:unceqOvo0198ちたん
01/09/10 14:26ID:NewyOZz.0199名無しさん@お腹いっぱい。
01/09/10 14:52ID:LD3E6s7.スレ立て時にINSERT二回、レス時にSELECT,UPDATE,INSERT各一回
でできると思う。
0200163
01/09/10 15:23ID:RS6j19mIインデックスページ吐くときに表示スレッド数だけのSELECTが必要
になりますね。
あと、全板のログが入り乱れたテーブルからSELECTで必要な発言持
ってくるのって凄い効率悪そうに思えるんですけど、レスの数が膨大
になった場合の不可なんかはどんなもんなんでしょう?
0202名無しさん@お腹いっぱい。
01/09/10 16:05ID:KqO6xo7o0203名無しさん@お腹いっぱい。
01/09/10 16:29ID:LD3E6s7.ファイルでやったら表示スレッド数だけのファイルを開いて閉じてを
繰り返さなければダメですよね?それよりは速いとおもう。
きちんとレステーブルにスレッドIDのフィールド作って
インデックス張っておけば問題ないレベルでしょう。
>>202
も出来る。
0204672
01/09/13 13:48ID:7asnw6oIPEAR使うとOOPが、でけそう気配だ。
0205名無しさん@お腹いっぱい。
01/09/13 22:50ID:Nq5e6DE2テーブル一つに全スレッド放り込むのとどっちがいいですか。
あるいは板ごとにテーブル作って(以下同文)
ようするにテーブルはいっぱい作らない方がいい?
0206202
01/09/14 04:28ID:YRsOR1eUPerlのOOと似たようなもんかな。。
0207163
01/09/14 14:44ID:NHumwnBYとりあえずスレッド一覧とレス格納用のテーブル一つずつ作って
PHP+MySQLでやってみました。今んところ問題ないみたい。
http://popee.gasuki.com/bbs_db/test/
0208ななしさん
01/09/14 21:40ID:I5Sj1HiA0209名無しさん@お腹いっぱい。
01/09/14 21:48ID:5kAOJ0Zkageってどうやってんの?
書き込まれたらスレッドの順番書いてあるフィールド書き換えてるの
か?何か効率悪っぽいな。ファイルの方がいいんじゃねぇ?
0210163じゃないけど
01/09/14 22:10ID:???ageの時は現在時刻入れておいて降順で並べればよいと思われ。
0211けん
01/09/19 11:08ID:hhAgINVoさらにDHTMLをかました掲示板もあります。
興味のある方は見てください。
http://www1.development-network.net/~ken/index.php
0212名無しさん@お腹いっぱい。
01/09/19 13:45ID:???0213名無しさん@お腹いっぱい。
01/09/19 17:45ID:tSRZDv1c(・∀・)イイ!!
0214名無しさん@お腹いっぱい。
01/09/22 16:41ID:G0469FQk0215名無しさん@お腹いっぱい。
01/09/22 16:52ID:hg/f7G7gあります
0216名無しさん@お腹いっぱい。
01/09/22 17:05ID:???綴り、ハァハァ……
0217けん
01/09/23 07:40ID:gaxvcfRoこのサーバーは友達がADSLで構築しています。
\200/月
で使用できます。
0218けん
01/09/23 22:29ID:5jHAZsXAMySQLってフリーだからいらないですよ。
0219ちたん
01/09/24 02:26ID:???0220名無しさん@お腹いっぱい。
01/09/28 21:01ID:yatlQWYk0221名無しさん@お腹いっぱい。
01/09/30 06:52ID:Adl10q6oそんなもんは出なくて、
白紙(IEでソース見るとレンタルサーバの広告のみ)しか出ない。
これはいったい何のエラーなんだか。
0222名無しさん@お腹いっぱい。
01/10/05 01:08ID:vTyw9JIM↑これはPHPですか?
0223名無しさん@お腹いっぱい。
01/10/09 12:21ID:ATYJfjH.0224名無しさん@お腹いっぱい。
01/11/06 22:17ID:BzxtU/sO同じ症状だよ。ここのスクリプト使ってみたんだけど。
http://www.charling.net/php/chat.html
0225名無しさん@お腹いっぱい。
01/11/07 01:45ID:FJMcKMjyサーバによっちゃエラーメッセージでないよ。
0226名無しさん@お腹いっぱい。
01/11/07 01:56ID:jj1CZs+fしかし奴はECUで書かなないとあかんのでめんどいのー。
ところでレンタルスペースのミルトクラブはトップからphpなのはいいが、
エラーメッセージさらしっぱなしでひじょうにみっともないんだが…。
直す気ないのか?
0227名無しさん@お腹いっぱい。
01/11/07 02:14ID:FJMcKMjyちなみに何処のサーバ?
0228名無しさん@お腹いっぱい。
01/11/07 03:13ID:MaWgfgVWhttp://kawara.adam.ne.jp/php/read.php?bbs=test
0229名無しさん@お腹いっぱい。
01/11/08 09:54ID:???$fp = fopen ("$logfile","a");
flock($fp,2);
fputs($fp, $hoge);
flock($fp,3);
fclose($fp);
で効きますか?
配布などは考えてません。
0230名無しさん@お腹いっぱい。
01/11/08 12:53ID:A2A4Idoa(・∀・)イイ!
0231名無しさん@お腹いっぱい。
01/11/09 16:15ID:t6/s73d3Cのflockと同じものなのか、それともPHPらしくもちょっと実用的にっていうか
229さんが書いたコードでオッケーな感じになっているのか……。
PHPのflockの中身を知りたいです。
あ。ソースを見ればいいのか。逝ってきます……。
0232柚鈴車 ◆sMGFahw.
01/11/26 10:28ID:???スレッドフロート式掲示板の開発を進めている。
学習しながらなんで非常に時間掛かってるけど。
只今の進行状況:3%ってとこか?
0233柚鈴車 ◆sMGFahw.
01/11/26 10:28ID:???0234hogehoge
01/12/20 16:19ID:gQq9NcEnツリー表示をする際のアルゴリズムとデータベースの構成を説明して貰えませんかのう。
PHP-Nukeのソース読んだけど理解出来ない...(・ A ・)
・[ 1 ] 逝ってヨシ
・[ 2 ] あぼーん
・[ 4 ] あぼーん
・[ 3 ] ワショーイ
↑こういう表示がスマートにできるようなアルゴリズム.....。
レスのテーブルに子レスIDのデータを持たせようとすると、
複数のレスがついた場合を考えて配列にしなきゃいけない。
レスのテーブルに親レスIDのデータを持たせると、
こんどは描画の際に面倒。
あとはレスに階層の深さテーブルを持たせるとか、
子レスの「数」を親レスに持たせるとか...。 ああ面倒。
php-nukeはいったいどうやって。
ttp://phorum.org/support/list.php?f=1&collapse=0
0235名無しさん@お腹いっぱい。
01/12/21 02:58ID:???データベースは知らんが
W1・新規スレッドの>>1とそれに対するレスを区別しないで時間順にテーブルにぶち込む。
その際、ユニークなメッセージIDを振る。
W2・レスはその返信先のIDをリファレンスとして保持、>>1は空欄のまま。
R1・書き出し時にリファレンスの項目を参照して1を取り出す。(時間順に並んでいれば普通は最初だが)
R2・1のメッセージIDでリファレンスを検索。一致するものを配列として取り出す。見つからなければreturn。
R3・とりだした配列の要素へR2の手順を実行。
な感じじゃないか?
要はただの再帰呼び出しだが。
0236名無しさん@お腹いっぱい。
02/01/19 09:39ID:???■ このスレッドは過去ログ倉庫に格納されています