[PHP]弱い掲示板の改造手伝ってください
掲示板見てみた。
めっちゃ弱いけど自分としては「〜つくろう!」で終わるやつよりはいいと思う。
がんばれ。 表示イライラするからファイル構成変えた方が吉。
・書き込み、読み込みに分ける
・読み込みは基本Ajax
こんな感じがいいと思う。 >>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の便利な関数や書式を覚えたほうがよさげ。 preg_replace()→str_replace() >全部のログを一回配列に吐き出して
そういう主婦の洗濯物整理みたいな下らない工夫が低レスポンスのシステムが作られるきっかけになる。 >>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(); datファイルをAjaxの得意なXMLやJSONに変えるとか。
でも無駄にログが重くなるかもね。 ライブラリはあまり使いたくありませんが・・・
prototype.js使う以外に手が無いなら仕方ないですね MVCを分けるのが先かな?
でもスレッド式にする気はまだないしとりあえず基礎だけ作っちゃいたいな >>14
ミスった
試してみます、ですね
何が起きたのやら ttp://www.dotup.org/uploda/www.dotup.org11950.zip.html
とりあえず自分的に感じるイライラ感を修正。
これからXMLたらAjaxやら放っておいて分別に入ります 自演で自爆してるじゃんwwwwwwwwwwwwwwwwwwwwwwwwww なんという名スレwwwwwwwwwwwwwwwwww いまだにログファイルをベタテキストに書いてる奴ってなんなの?
とSQLiteが申しております なんだか>>1さんが複雑な事情でいなくなったみたいですが、
自分も弱い掲示板を作ったので、
http://www.dotup.org/uploda/www.dotup.org0369.zip.html
のコードレビューをしてみていただけないでしょうか?
まずは機能的にどうこうというよりも、セキュリティ的な
見落としがないか気になっています。 あとPHPの作法というか、ファイルや関数の分け方、命名のしかたなど、
機能追加しやすいというか、保守性の高いソースコードにするには
どうしたらいいのか教えて下さい。
とりあえずライブラリディレクトリ掘って(libとか)
データの入出力を担当するクラスを作れ。
そんで掲示板の読み込み、書き込み、削除を全てそのクラスを通してやってみろ。
他のファイルからは一切mysql関係の関数呼ぶな。 >>34
クラス一つでデータの入出力全部ですか。
難しそうですが、やってみます。 あと、MVC意識したいなら、テンプレートとPHPの処理は極力分けれるようにしたほうがいい。
HTMLにPHPべた書きはメンテナンス面でもお勧めしない。 クラス一つでデータの入出力全部を扱うことに挑戦してみましたが、
二つのエラーに悩まされています。
詳しくは下記に書きました。
http://d.hatena.ne.jp/nobodysan/20081002/1222935662
どなたか教えて下されば幸いです。 >>38
マルチしてませんよ?といっても、証拠は出せませんが。
他にどのスレに書き込みがありましたか? カス乙wwwwwwwwwマニュアル嫁wwwwwwwwwww
$dbaccess = new DBAccess();
~~
$dbaccess->insert_post($name, $comment);
~ ~~
$dbaccess->show_contribution($_GET['page'], false);
~ ~~
べ、別に(ry >>41
カスです。マニュアル読みます。
でもありがとうツンデレなnobodyさん。 なんでクラス一つでデータの入出力全部やらしてんの?