のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,664,908人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ[PHP]弱い掲示板の改造手伝ってください

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
1 2 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
1 : ◆k2l5ss - 2008/06/25(水) 22:19:38 ID:???.net (+88,+29,-2)
http://www.dotup.org/uploda/www.dotup.org11328.zip.html

とりあえず作ったファイル。
興味ある人はぜひ手伝ってください…
2 : nobodyさん - 2008/06/25(水) 22:22:35 ID:???.net (+57,+29,-10)
掲示板見てみた。

めっちゃ弱いけど自分としては「~つくろう!」で終わるやつよりはいいと思う。
がんばれ。
3 : nobodyさん - 2008/06/25(水) 22:44:53 ID:???.net (+0,-29,-20)
表示イライラするからファイル構成変えた方が吉。

・書き込み、読み込みに分ける
・読み込みは基本Ajax

こんな感じがいいと思う。
4 : nobodyさん - 2008/06/25(水) 23:33:32 ID:???.net (+3,-30,-111)
>>1
とりあえず、ユーザ関数作ったら?


function findAll($log_dir){

$lines = file($log_dir);

$return = array();
foreach($lines as $line){

$array = explode('<>', $line);

$return[] = $array;

}

return $return;

}

とかで、全部のログを一回配列に吐き出してみたり。

とりあえずKENTのBBSを参考にしたのか、元々Perlやってた人なのかわからんけど、
PHPでやるならもうちょっとPHPの便利な関数や書式を覚えたほうがよさげ。
5 : nobodyさん - 2008/06/26(木) 00:04:17 ID:???.net (-1,-29,+0)
preg_replace()→str_replace()
6 : nobodyさん - 2008/06/26(木) 01:43:41 ID:???.net (+57,+29,-70)
>全部のログを一回配列に吐き出して

そういう主婦の洗濯物整理みたいな下らない工夫が低レスポンスのシステムが作られるきっかけになる。
7 : ◆k2l5ss - 2008/06/26(木) 15:47:35 ID:???.net (+3,-30,-206)
>>4
PHPは始めたばかりです、すいません
>>5
変更しました。ありがとうございます
>>3
Ajaxでの読み込みを試してみましたが、JavaScriptの知識は少ないもので。
変数valueが文字化けしてしまいました。どうすればいいでしょうか・・・
function xmlhttp () {
var xmlhttp;
try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
catch () {
try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e) {xmlhttp = false;}
}
if (!xmlhttp) {xmlhttp = new XMLHttpRequest();}
return xmlhttp;
}
var xmlhttp = xmlhttp;
var node = document.getElementsByTagName("dl")[0];
var i, n;
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var value = xmlhttp.responseText;
}
}
};
xmlhttp.open("GET", "<?php echo $log ?>?<?php echo date(ymdHis) ?>", true);
xmlhttp.send();
8 : nobodyさん - 2008/06/26(木) 16:05:01 ID:???.net (-1,-29,-38)
datファイルをAjaxの得意なXMLやJSONに変えるとか。
でも無駄にログが重くなるかもね。
10 : nobodyさん - 2008/06/26(木) 17:21:15 ID:???.net (-6,-29,-11)
prototype.jsつかうんだ
11 : ◆k2l5ss - 2008/06/26(木) 19:09:48 ID:FaFOoHlP.net (+28,+28,-32)
ライブラリはあまり使いたくありませんが・・・
prototype.js使う以外に手が無いなら仕方ないですね
12 : nobodyさん - 2008/06/26(木) 19:27:53 ID:???.net (+2,-25,-14)
Ajaxより先にMVCを分けてみたら?
13 : ◆k2l5ss - 2008/06/26(木) 19:31:55 ID:FaFOoHlP.net (+29,+29,-10)
MVCを分けるのが先かな?
でもスレッド式にする気はまだないしとりあえず基礎だけ作っちゃいたいな
14 : ◆k2l5ss - 2008/06/26(木) 19:36:36 ID:FaFOoHlP.net (+11,+2,+0)
じゃあXMLで試してみなよ
15 : ◆k2l5ss - 2008/06/26(木) 19:37:11 ID:FaFOoHlP.net (+30,+29,-3)
>>14
ミスった
試してみます、ですね
何が起きたのやら
16 : ◆k2l5ss - 2008/06/26(木) 19:53:31 ID:FaFOoHlP.net (+29,+29,-31)
http://www.dotup.org/uploda/www.dotup.org11950.zip.html

とりあえず自分的に感じるイライラ感を修正。
これからXMLたらAjaxやら放っておいて分別に入ります
17 : nobodyさん - 2008/06/27(金) 02:58:36 ID:???.net (+44,+21,-1)
自演で自爆してるじゃんwwwwwwwwwwwwwwwwwwwwwwwwww
18 : nobodyさん - 2008/06/27(金) 10:57:20 ID:???.net (+58,+29,+1)
>>14
できるよ。
以上。
はい、次。
19 : nobodyさん - 2008/06/28(土) 13:56:23 ID:???.net (-11,-29,+0)
jien w
20 : nobodyさん - 2008/07/02(水) 10:24:46 ID:???.net (+32,+9,-1)
なんという名スレwwwwwwwwwwwwwwwwww
21 : nobodyさん - 2008/07/02(水) 17:24:23 ID:???.net (+38,+20,+0)
ひどいww
22 : nobodyさん - 2008/07/05(土) 16:50:31 ID:???.net (+44,+26,+0)
おもしれーwww
23 : nobodyさん - 2008/08/29(金) 11:54:06 ID:R6NVGMeq.net (+6,+21,+0)
すごい自演・・・
24 : nobodyさん - 2008/08/29(金) 12:54:53 ID:L3jLcqre.net (-8,+6,+0)
自演・・・
25 : sss - 2008/08/29(金) 14:43:59 ID:A31VP/+E.net (-20,-8,+0)
www
26 : 自演まにあ - 2008/08/29(金) 18:07:47 ID:???.net (+51,+28,+0)
ここまで全部俺の自演
27 : nobodyさん - 2008/08/31(日) 07:34:17 ID:???.net (+26,+3,-1)
ワロタwww
何がしたいんだw
28 : nobodyさん - 2008/09/01(月) 15:16:57 ID:???.net (-1,-29,-39)
いまだにログファイルをベタテキストに書いてる奴ってなんなの?
とSQLiteが申しております
29 : nobodyさん - 2008/09/06(土) 07:01:47 ID:lwG85S9Z.net (+129,+29,-53)
なんだか>>1さんが複雑な事情でいなくなったみたいですが、
自分も弱い掲示板を作ったので、
http://www.dotup.org/uploda/www.dotup.org0369.zip.html
のコードレビューをしてみていただけないでしょうか?
まずは機能的にどうこうというよりも、セキュリティ的な
見落としがないか気になっています。
30 : 29 - 2008/09/06(土) 07:04:46 ID:???.net (+57,+29,-18)
あとPHPの作法というか、ファイルや関数の分け方、命名のしかたなど、
機能追加しやすいというか、保守性の高いソースコードにするには
どうしたらいいのか教えて下さい。
31 : 29 - 2008/09/06(土) 07:16:38 ID:???.net (+57,+29,-4)
すみません。ミスをしていたのに気付いたので、直したものをあげ直します。
http://www.dotup.org/uploda/www.dotup.org0372.zip.html
32 : nobodyさん - 2008/09/06(土) 08:28:11 ID:???.net (+45,+11,-1)
Web上でソース見れるようにしてくれ
33 : 29 - 2008/09/06(土) 09:19:41 ID:???.net (+36,+7,+2)
34 : nobodyさん - 2008/09/06(土) 15:36:00 ID:???.net (+25,-16,-33)
とりあえずライブラリディレクトリ掘って(libとか)
データの入出力を担当するクラスを作れ。
そんで掲示板の読み込み、書き込み、削除を全てそのクラスを通してやってみろ。
他のファイルからは一切mysql関係の関数呼ぶな。
35 : 29 - 2008/09/06(土) 16:38:08 ID:???.net (+61,+29,-30)
>>34
クラス一つでデータの入出力全部ですか。
難しそうですが、やってみます。
36 : nobodyさん - 2008/09/06(土) 21:44:16 ID:SQQYgTPo.net (+20,+25,-63)
あと、MVC意識したいなら、テンプレートとPHPの処理は極力分けれるようにしたほうがいい。
HTMLにPHPべた書きはメンテナンス面でもお勧めしない。
37 : 29 - 2008/10/02(木) 17:28:28 ID:???.net (+57,+29,-83)
クラス一つでデータの入出力全部を扱うことに挑戦してみましたが、
二つのエラーに悩まされています。
詳しくは下記に書きました。
http://d.hatena.ne.jp/nobodysan/20081002/1222935662
どなたか教えて下されば幸いです。
38 : nobodyさん - 2008/10/02(木) 18:22:26 ID:???.net (+12,-14,+0)
マルチ乙
39 : 29 - 2008/10/02(木) 18:30:32 ID:???.net (+59,+29,-12)
>>38
マルチしてませんよ?といっても、証拠は出せませんが。
他にどのスレに書き込みがありましたか?
40 : nobodyさん - 2008/10/02(木) 18:31:46 ID:???.net (+52,+29,+0)
お前は何を言ってるんだ
41 : nobodyさん - 2008/10/02(木) 19:53:05 ID:???.net (+12,-30,-99)
カス乙wwwwwwwwwマニュアル嫁wwwwwwwwwww


$dbaccess = new DBAccess();
                 ~~
$dbaccess->insert_post($name, $comment);
~      ~~
$dbaccess->show_contribution($_GET['page'], false);
~      ~~

べ、別に(ry
42 : 29 - 2008/10/02(木) 20:34:49 ID:???.net (+59,+29,-28)
>>41
カスです。マニュアル読みます。
でもありがとうツンデレなnobodyさん。
43 : nobodyさん - 2008/10/02(木) 21:24:53 ID:???.net (+57,+29,-18)
なんでクラス一つでデータの入出力全部やらしてんの?
44 : nobodyさん - 2008/10/03(金) 02:07:32 ID:???.net (+72,+29,-86)
はてダのアカウントまで取る姿勢は評価してやらんでもないぞ
ただコード書いたらはzip上げてくれ
もしくはSubversion使え

次はデータベースクラスでechoするの禁止にして、
純粋にデータそのものの入出力だけさせてみれ。

で、別途表示関連全部を担当するクラスを作って、
そいつがデータベースクラスから受け取ったデータを
タグやら何やら添付したり加工して表示させると。
45 : 29 - 2008/10/03(金) 08:42:16 ID:???.net (+72,+29,-55)
>>44
Subversionはサーバの準備に結構お金がかかりそうなので、
ちょっと勘弁して下さい。
とりあえず、現時点でのソースを上げておきます。
http://www.dotup.org/uploda/www.dotup.org0372.zip.html

次は表示ロジックのクラスですね。
やってみます。
46 : 29 - 2008/10/03(金) 13:35:04 ID:???.net (+62,+27,-42)
表示ロジックのクラスを一応作ってみたんですが、
全体的に見てものすごく汚いソースになってしまった気がします。
http://www.dotup.org/uploda/www.dotup.org2232.zip.html
http://d.hatena.ne.jp/nobodysan/searchdiary?word=%2a%5bPHP%20%2d%20%b0%ec%b9%d4%b7%c7%bc%a8%c8%c4Ver%2e3%5d

そろそろSmatyなどを使ってみるべきでしょうか?
まだ早いでしょうか?
47 : nobodyさん - 2008/10/03(金) 19:16:11 ID:???.net (+19,-3,-15)
フレームワーク使ったら?
48 : nobodyさん - 2008/10/03(金) 23:37:53 ID:???.net (+10,-7,+0)
ん~
49 : nobodyさん - 2008/10/03(金) 23:40:32 ID:???.net (+20,-30,-113)
>>46
Smartyを使わなくても、もうちょっとやりようはあって、

bbs-admin.php----------------

$hoge = 'mozi';
$moge = 'foo';

require './template.html';


template.html-----------------
<html>
<body>
<?php echo $hoge?>
<?php echo $moge?>
</body>
</html>

とかみたいに、ファイルを分離してやるってだけでいいんじゃない。
50 : 29 - 2008/10/05(日) 22:20:48 ID:???.net (+60,+29,+0)
>>49
そんな書き方が出来たんですね。
やってみます。
1 2 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について