トップページ⇒php
982コメント390KB

スクリプト改造工房 Part3

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。2001/05/02(水) 21:59ID:nr93n3do
「こういうふうにスクリプトを改造したいけどやりかたわかんないよー」
という人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。

前スレ
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=986986227
#板移動に伴い「CGI改造工房」→「スクリプト改造工房」に改名

なお、質問するときは
1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
を必ず明記しよう。
0950one02/02/03 18:51ID:v7n/KP97
>948
でもついさっきまではブラウザの戻るのボタンおしても戻れなかったのが戻れるようになったで。
初心者やけどなんでもやってみないと分からないと思いますが。
なにが分からんかも分かってない時点で本読んだりサイト調べても結局理解できないと思うよ。

あなたは親切なので、言葉遣いが悪すぎるのか、ほんとに嫌味なやつなのかわかりません。
とりあえずありがとう。
0951名無しさん@お腹いっぱい。02/02/03 19:09ID:???
新手の荒らし依頼かと思ったよ。
095293502/02/03 19:20ID:POOEDT6u
>>935
誰かおしえてちょ〜〜〜
0953名無しさん@お腹いっぱい。02/02/03 19:24ID:???
>>952
chmod(0000,$file);
0954名無しさん@お腹いっぱい。02/02/03 19:53ID:???
厨房はなんでこう付け上がるかね
0955名無しさん@お腹いっぱい。02/02/03 19:54ID:???
>>952
17スクリプトってなに?
探し出して教えろってこと?
0956名無しさん@お腹いっぱい。02/02/03 19:54ID:???
>>950
とっとと死ね。
095793502/02/03 19:55ID:???
>>955
はい、オマエが自分で探して教えて下さい
0958名無しさん@お腹いっぱい。02/02/03 19:57ID:???
>>957
偽者ハッケン
0959名無しさん@お腹いっぱい。02/02/03 20:02ID:???
そろそろ次スレ行くか。
0960名無しさん@お腹いっぱい。02/02/03 20:57ID:???
質問なのですが、
http://www.buri.ne.jp/perl/sample2/profile.cgi

上記のプロフィールのCGIで年齢の部分がソートしても数字と漢字が混じっていて上手くいきません。
これはどう改造したら宜しいでしょう?

http://www2.famille.ne.jp/~kuwa/perl/profile.html
↑
ここの「Ver.5.35β」なのですが。。

わかる方がいましたら宜しくお願いします。。
0961名無しさん@お腹いっぱい。02/02/03 22:30ID:???
名前と日付しかマトモに動作してなくない?
ひどいスクリプトだな
0962 02/02/03 22:41ID:???
@array[sort {...} 0..$#array] なんて書き方あるの?
こう直したらどうだろ

sub listの「###ソート」
>@MEMBS = @MEMBS[sort {$MEMBS2[$a] cmp $MEMBS2[$b]} 0 .. $#MEMBS2];
>@MEMBS = @MEMBS[sort {$MEMBS2[$b] cmp $MEMBS2[$a]} 0 .. $#MEMBS2];
 ↓
@MEMBS = sort {$MEMBS2[$a] cmp $MEMBS2[$b]} @MEMBS[0 .. $#MEMBS2];
@MEMBS = sort {$MEMBS2[$b] cmp $MEMBS2[$a]} @MEMBS[0 .. $#MEMBS2];
0963one02/02/04 16:10ID:m1JMuAbq
遅レスすみません。
949>
<MATA〜ていうとこはさわれるみたいです。
まえのでできなかったのでこれでやってみます。
ほんとにありがとうございます☆
951>
荒らしか・・・。
それだったらそういう態度になるのも納得。
不馴れでごめんんさいでした。。
0964one02/02/04 16:13ID:m1JMuAbq
ごめんんさい→ごめんなさい

こんなとこ間違うなんてバカ。。。
0965質問です02/02/04 16:54ID:KZg5zWpX
<script language = "JavaScript">
<!-- Begin -------------------
var now = new Date();
var hour = now.getHours();
if(hour==0) {document.write("")}
if(hour==1) {document.write("")}
if(hour==2) {document.write("")}
if(hour==3) {document.write("")}
if(hour==4) {document.write("")}
if(hour==5) {document.write("")}
if(hour==6) {document.write("")}
if(hour==7) {document.write("")}
if(hour==8) {document.write("")}
if(hour==9) {document.write("")}
if(hour==10) {document.write("")}
if(hour==11) {document.write("")}
if(hour==12) {document.write("")}
if(hour==13) {document.write("")}
if(hour==14) {document.write("")}
if(hour==15) {document.write("")}
if(hour==16) {document.write("")}
if(hour==17) {document.write("")}
if(hour==18) {document.write("")}
if(hour==19) {document.write("")}
if(hour==20) {document.write("")}
if(hour==21) {document.write("")}
if(hour==22) {document.write("")}
if(hour==23) {document.write("")};
// -- End of JavaScript code -------------- -->
</script>

よくある時間ごとの書き換えですが、
これを3時間おきに変化させる方法はどうしたら良いでしょう?
AAA BBB CCC DDD EEE FFF GGG HHH 版と
ABC DEF GHA BCD EFG HAB CDE FGH 版をどなたかご指導下さい。。。
0966名無しさん@お腹いっぱい。02/02/04 16:59ID:???
>965
・JavaScript、VBScript等クライアントサイドの話題はWeb製作板へ
http://pc.2ch.net/hp/index.html
0967名無しさん@お腹いっぱい。02/02/04 17:02ID:???
>>963
それ以前に「質問の不備」があれば叩かれて当然
0968初心者@携帯好き02/02/04 19:40ID:8txKYoJn
KENT氏のpetit boardのiモード版、petit2iを使ってるのですが、
http://red.tomato.nu/desperado/software/
iモードでアクセスするときに、レスがあるのかないのかわからないのにそれぞれの書き込みのレスを開いてしまうので、
できればレスがある記事はレスにジャンプするボタンの横にレス件数を表示できればなぁ・・・って思ってます。
(例: [レス][2件])cgiをちょっといじれば可能だとおもうんですが、cgi初心者のため全くわかりません。
よろしくお願いします。
0969 02/02/04 20:28ID:???
>>968
整形に全角スペース使ってるんで注意

sub html_log

変更点1

# 親記事のみの配列データを作成
foreach $line (@lines) {
 local($num,$k,$date,$name,$email,...
 # 親記事を集約
 if ($k eq "") { push(@new,$line); }
 else { $res_count{$num}++; } # <-- 追加
}

変更点2

# 自動リンク
if ($autolink) { &auto_link($com); }

...
print "[<a href=\"$script?resno=$num&mode=rr&page=$page\">レス</a>]";
printf("[%d件]", $res_count{$num} || 0); # <-- 追加
0970しんがり ◆DVScXJdU 02/02/04 22:35ID:???
askaBBS を使って身内でAA掲示板を使用してるんですが
検索で半角カナを使えるようにはなりませんか?
http://www.kent-web.com/bbs/aska.html
0971初心者@携帯好き02/02/04 23:53ID:/QMQdZkL
>>969
教えていただき、とてもありがたいのですが、実際に追加してアップした所、
実際のレスの件数と親記事のページに表示される[レス][2件]などの件数が全く食い違っている事に気づきました。
あと、整形に全角スペース使っているから・・・というのがありますが、追加する部分に全角スペースが入ってないので、
私には理解できませんでした。
申し訳ないのですが、$kの意味も含めてもう少し教えてください。
0972名無しさん@お腹いっぱい。02/02/05 00:03ID:???
>>971
狂い方に規則性とかある? 少し例をあげてもらえるといいかも

この板のログは(多分)「メッセージ番号, レス番号, ...」という形式だから
アタマで「レス番号」がある(=小記事)の数をカウントして
「メッセージ番号」をキーとしたハッシュに控えておく
あとは、それを表示してるだけ
0973初心者@携帯好き02/02/05 01:17ID:aKgdzRka
>>972
ログファイルとにらめっこしてたら、ようやく規則性がわかりました。
例として挙げると、([$num][$k]とします。)
[20][]親記事�@ 10:00
[20][20]親記事�@に対する返信記事a 10:30
[20][20]親記事�@に対する返信記事b 11:00
[21][]親記事�A 11:30
[21][20]親記事�@に対する返信記事c 12:00 ←ここが問題!
[21][21]親記事�Aに対する返信記事a 12:30 
[22][]親記事�B 13:00
[23][]親記事�C 13:30
[23][20]親記事�@に対する返信記事d 14:00 ←ここが問題!

というかんじになっており、このCGIは、レスした場合、その時点での最新の親記事の[$num]が
返信記事の[$num]になってしまうという現象が起きており、上記のログをCGIで読み込むと、

[23] 13:30
親記事�C
[レス][1件] ←実際は0件


[22] 13:00
親記事�B
[レス][0件]

[21] 11:30
親記事�A
[レス][2件] ←実際は1件


[20] 10:00
親記事�@
[レス][2件] ←実際は4件

となってしまいます。いかがなものでしょうか・・・

0974名無しさん@お腹いっぱい。02/02/05 01:24ID:???
新スレ。適当に移行して下さい。

http://pc.2ch.net/test/read.cgi/php/1012839651/l50
0975名無しさん@お腹いっぱい。02/02/05 01:30ID:???
>>974 おつ〜

>>973
なるほどねw 簡単、こうすればOK

変更点1

# 親記事のみの配列データを作成
foreach $line (@lines) {
 local($num,$k,$date,$name,$email,...
 # 親記事を集約
 if ($k eq "") { push(@new,$line); }
 else { $res_count{$k}++; } # <-- 真のメッセージ番号「$k」に置換
}
0976初心者@携帯好き02/02/05 01:36ID:aKgdzRka
>>975
ありがとうございました。今回の件でほんのちょっとですが、cgiに触れられて、
すごくいい経験になりました。
0977名無しさん@お腹いっぱい。02/02/12 15:39ID:???
  ∧_∧
 ( ・∀・) ニヤニヤ
 ( 1000 )
 | | |
 (__)_)
0978埋め02/02/21 04:31ID:???
埋め
0979次スレ02/02/21 04:33ID:???
スクリプト改造工房 Part4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50
0980名無しさん@お腹いっぱい。02/02/21 04:34ID:???
埋め立て。
0981名無しさん@お腹いっぱい。02/02/21 04:39ID:???
ラスト
0982名無しさん@お腹いっぱい。02/02/21 05:01ID:???
  ∧_∧
 ( ・∀・) ニヤニヤ
 ( 1000 )
 | | |
 (__)_)
レス数が950を超えています。1000を超えると書き込みができなくなります。