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

スクリプト改造工房 Part3

■ このスレッドは過去ログ倉庫に格納されています
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を用意すればなお良し)
を必ず明記しよう。
0066名無しさん@お腹いっぱい。2001/06/10(日) 00:28ID:???
>複数のログを使えるようにしたいのですが
ここがよくわからん
人にわかってもらう説明をするのが吉
0067名無しさん@お腹いっぱい。2001/06/10(日) 03:05ID:wIreiASQ
しょぼいソースのcgiscriptがおおいから
いっそのこと最初から自分で作ったほうがいいんじゃないの?
0068名無しさん@お腹いっぱい。2001/06/10(日) 04:47ID:VLepH.gU
$comment = &post_decode;
if($comment eq ""){$comment = "あいうえお"};

これって$commentの欄に何も記入しなければ、
あいうえおって表示されますよね。
これをランダムに"あいうえお"の他に"かきくけこ""さしすせそ"って
表示させるにはどうしたらいいんでしょうか?
0069名無しさん@お腹いっぱい。2001/06/10(日) 05:40ID:???
>>68

$comment=&post_decode();
if($comment eq ''){
  srand();
  @commentDef=('あいうえお','かきくけこ','さしすせそ');
  $comment=@commentDef[int(rand($#commentDef+1))];
}
0070名無しさん@お腹いっぱい。2001/06/10(日) 15:28ID:hNgApf/.
>>69さん
ありがとうございます。
それから、もう一つお聞きしたいんですが
>>68の"あいうえお"のfontの色を変えるにはどうしたらいいんでしょうか?
0071名無しさん@お腹いっぱい。2001/06/10(日) 15:47ID:???
>>70

$comment = "あいうえお";
↓
$comment = '<font color="red">あいうえお</font>';
0072名無しさん@お腹いっぱい。2001/06/10(日) 16:12ID:hNgApf/.
>>71さん
ああ、やっぱりそうすればいいんですよね
なんかCGIだと<と>が&lt;、&gt;になってしまい
タグそのままが表示されちゃうんです。。
どうしたらいいかわかりませんか?すみません、、、
0073722001/06/10(日) 16:28ID:???
ありゃタグ禁止してるからでした
すみません、、
0074名無しさん@お腹いっぱい。2001/06/10(日) 19:40ID:hNgApf/.
$comment = &post_decode;
if($comment eq "あ"){$comment = '<font color="red">あいうえお</font>'};
$comment=~s/>/>/g;
$comment=~s/</</g;
これだと、$commentに"あ"と入れても<font>タグは弾かれちゃいますよね
上記のように特定の文字を入れたときのみタグを許すことってできないですか?
0075名無しさん@お腹いっぱい。2001/06/10(日) 19:42ID:???
$comment = &post_decode;
$comment=~s/&gt;/>/g;
$comment=~s/&lt;/</g;
if($comment eq "あ"){$comment = '<font color="red">あいうえお</font>'};

タグのエスケープを先にすればいいだろ。無能か?
0076名無しさん2001/06/10(日) 22:22ID:MvSHCY4o
すみませんが、ここのCGIをhtmlに表示する方法がわかりません。
http://cgi-jp.virtualave.net/bookmark/index.html

こんな感じにしたいのですが・・・
http://inchiki.com/main.cgi
0077名無しさん@お腹いっぱい。2001/06/11(月) 18:47ID:BtETe8tI
はじめまして、いきなりぶしつけで失礼かもしれませんが
誰か教えて下さい。↓下記サイトの画像掲示板を使っているのですが、
http://www2u.biglobe.ne.jp/~k-saka/img_get/#upload_bbs03

投稿された元記事に「レス」をつけると、元記事が最新(先頭)へ
あがって来ます。様は、2ちゃんねる板で言う「あげ」です。
この「あげ機能」を殺したいのです。
元記事にレスをつけても「あげ」にならない様にするには、この
スクリプトの何処をどのように改造すればいいのでしょうか?
お手数をお掛けいたしますが、どうか教えていただけたら幸いです。

↓スクリプトURL(テキストでアップしてあります)
http://www.dream-fact.com/bbs_cgi.txt

宜しくお願い致します!m(__)m
0078名無しさん@お腹いっぱい。2001/06/11(月) 20:55ID:???
うー見づらいソース…これでダメだったら別の人に頼んでくれ。
848行目の辺りをこんな感じに変えて。

$new_line_data = "$res_date,$res_img,$res_1,$res_2,$res_3,$res_4,$new_res_line,$res_agent,$res_addr,$res_host";
push (@new_lines,$new_line_data);
}
}
@DATA = @new_lines;
&data_save;
}
0079772001/06/11(月) 21:40ID:tFbyR8r2
>>78さん!
出来ました!!
78さん!どうも有り難う御座いました!!
本当、助かりました!!^^
>848行目の辺りをこんな感じに変えて。
あ、ちなみに928行目でした。(笑)

本当に有難う御座いました、77さん大感謝です!!

  m(__)m
0080772001/06/11(月) 21:44ID:???
↑
>あ、ちなみに928行目でした。(笑)
・・・HTMLいじってるから、行目が違うのは当たり前だった・・・
撃つ出し脳

78さん大感謝!!
0081782001/06/11(月) 22:40ID:???
79の言動がめちゃめちゃで面白かったから気にするなよ。
0082772001/06/12(火) 00:03ID:???
>78さん
すいません、ケツに火がついてたもんで。(笑)
温かいお言葉有難うございます♪
0083(-_-2001/06/12(火) 04:54ID:wSh3nSKw
>76
根本的にhtmlの勉強とperlの勉強をしなおしたほうがいい気がする。
CPANにあるText:Templateを使うとらくにcgi->html表記ができるようになるよ
0084(-_-2001/06/12(火) 05:10ID:???

templateクラスは複数の同類の型を持つ物の変換には
使用できなかったな。(例 bookmark1->{_name}, bookmark2->{_name}とか)
掲示板なら独自のクラスを作ってtemplateクラスと同じような機能を
持つものを作成したけどまだ開発途中だから公開しなくてもいいか
0085762001/06/13(水) 00:09ID:U631Wly2
レスありがとうございます。
勉強してみます。(^-^;
0086名無しさん@お腹いっぱい。2001/06/13(水) 14:34ID:YLT6rpEM
CGIをさわり始めたばかりの厨房ですが、
http://www.kent-web.com/bbs/clip.html
を使って「画像付イベント告知掲示板」を作りたいと思っています。
イベントの日付を投稿フォームに追加して、
その日付を過ぎた場合に掲示板から自動的に削除したいのですが、
1009行〜1018行で
# 日時の取得
$ENV{'TZ'} = "JST-9";
$times = time;
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime($times);

# 日時のフォーマット
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year+1900,$mon+1,$mday,$week[$wday],$hour,$min);
}
この後に追加すれば、できるような気がしますが、
何をどうやって、追加すればいいのか全く分かりません...
ひょっとしたら、全く見当違いかもしれません...
宜しくご教授願います
0087(-_-2001/06/13(水) 16:59ID:20J.4Zf6
自動的にログから削除するのはちょっと面倒なんで単に表示しないように
するにしたらどうかな?
BBSのスレッドを表示するときにイベントの日付をチェックする
機能をつければいいんだと思う。
0088862001/06/13(水) 17:26ID:YLT6rpEM
>>87さん
レスありがとうございます
やはり初心者にはムリですか...
手動で削除しか仕方ないですね
イベントの日付をチェックする機能とは検索機能を使うという事ですか?
0089名無しさん@お腹いっぱい。2001/06/13(水) 18:13ID:???
>>88
削除機能があるなら、それを呼び出したらどうよ。
0090862001/06/13(水) 19:23ID:YLT6rpEM
>>89さん
確かに削除の機能はあります。

712行〜746行に以下のような記述があります

# 削除処理
if ($in{'del'}) {

@DEL = split(/\0/, $in{'del'});

# ロック処理
if ($lockkey) { &lock; }

# 削除情報をマッチングし更新
open(IN,"$logfile") || &error("Open Error : $logfile","lock");
@lines = <IN>;
close(IN);

@new=();
foreach (@lines) {
$flag=0;
($no,$date,$name,$mail,$sub,
$com,$url,$host,$pw,$tail) = split(/<>/);
foreach $del (@DEL) {
if ($no eq "$del") {
$flag=1;
if (-e "$ImgDir$no$tail")
{ unlink("$ImgDir$no$tail"); }
last;
}
}
if ($flag == 0) { push(@new,$_); }
}
open(OUT,">$logfile") || &error("Write Error : $logfile",'lock');
print OUT @new;
close(OUT);

がこの記述をどのように呼び出せばいいのか、
素人考えなのですが、例えば

if ($date_1 < $date_now) {

の様な事を追加するのですか?
でもこの場合 $date_1 と $date_nowはどうやって
決めればいいのですか?
全く分かりません。全然違うますかね..
0091862001/06/13(水) 19:33ID:YLT6rpEM
元のスクリプトです

http://selfkkk.hypermart.net/clip.txt

よろしければ、アドバイスをお願いします
0092名無しさん@お腹いっぱい。2001/06/13(水) 20:12ID:???
kentのscriptって改造するのを拒んでるような書き方してるよな。
0093名無しさん@お腹いっぱい。2001/06/13(水) 20:20ID:???
>>92
だな。
処理ごとにサブルーチン化させてくれれば、
>>90のような事に答えるのがずっと楽になるのに…。
0094862001/06/13(水) 21:56ID:YLT6rpEM
新たに素人考えですが


sub decode2 {

# 日時の取得
$ENV{'TZ'} = "JST-9";
$times = time;
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime($times);

# 日時のフォーマット
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year+1900,$mon+1,$mday,$week[$wday],$hour,$min);

$date_now = ($mon + $mday);
$date_1 = ($mon_1 + $mday_1);
if ($date_now > $date_1){

if ($lockkey) { &lock; }

open(IN,"$logfile") || &error("Open Error : $logfile","lock");
@lines = <IN>;
close(IN);

$flag=0;
@new=();
foreach (@lines) {
($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$mon_1,$mday_1) = split(/<>/);
if ($in{'no'} eq "$no") { $flag=1; $PWD=$pw; $upfile="$no$tail" }
else { push(@new,$_); }
}


# 削除キーを照合
$match = &decrypt("$in{'pwd'}","$PWD");
if ($match ne 'yes') { &error("削除キーが違います","lock"); }

# ログを更新
open(OUT,">$logfile") || &error("Write Error : $logfile",'lock');
print OUT @new;
close(OUT);

# 添付ファイルがあれば削除
unlink("$ImgDir$upfile") if (-e "$ImgDir$upfile");

# ロック解除
if ($lockkey) { &unlock; }
}}
}

を追加すればいいですか?
$mon_1 はイベントの開催月
$mday_1 はイベントの開催日
の予定ですが、ムリかな...
ホントに素人でごめんなさい。
0095名無しさん@お腹いっぱい。2001/06/13(水) 23:05ID:???
それが読み込みの度に実行されるんだったら、まともに動かないだろう。
削除記事番号も削除キーも送られてこない。
あと、開催年がないと年またぐときに困るぞ。
0096名無しさん@お腹いっぱい。2001/06/14(木) 00:25ID:???
うーんと、イベントの日時をtime関数の形式に戻してから保存して、
その数字が現在の日時より小さかったら削除、てな感じになるのかなぁ。
0097(-_-2001/06/14(木) 05:39ID:6hQUKvW2
やべ、すげー早起きしちゃったよ
改造を手伝おうと思ったけどkentのscriptは読むのがすげー疲れるんで勘弁して
ちなみに削除を面倒だといった理由は
1.ログから削除されると管理者からみてあとあとデータを解析するのに不便
2.ログを自動的に削除ということはできない(誰かがそのcgiを読み込まないと削除されない)
3.ファイルの更新は最小限にしたい(ログ破壊が防止)

まぁがんばってください。(-_-;;)
0098862001/06/14(木) 12:04ID:JuRlKCCw
みなさんレス付けて頂き本当にありがとうございます。
もう少し頑張ってみようと思います。
kentさんのscriptではムリっぽいので
違う元ネタのscriptを探してみました。
http://selfkkk.hypermart.net/tboard002.txt

ちなみには完成イメージも作ってみました
http://selfkkk.hypermart.net/a.htm
0099rubbish_lister2001/06/14(木) 12:23ID:???
> if($secg < 10){$secg = "0$secg";}
…とほほ(;´Д`)

一応考えますが期待しないでください>>98
0100862001/06/14(木) 14:27ID:JuRlKCCw
>>97さん
今になって>87の意味が分かりました...

ログを削除するのではなく、
日付の過ぎたイベントは記事表示部分には表示させないと言う事ですね
その方法でもOKです。確かにログを触らない方が良いですね
その場合の日付のチェック機能ですか..う〜〜ん

>>99さん
宜しくお願いします。
自分でも色々と試してみたいと思います
0101862001/06/14(木) 21:11ID:JuRlKCCw
http://selfkkk.hypermart.net/tboard002.txt
の過去ログに移す機能をうまく使えば出来そうな気がしますが..
ダメですか..
0102名無しさん@お腹いっぱい。2001/06/15(金) 07:23ID:???
素人考えというか
このスクリプトは会社の仕事じゃないのか?
0103名無しさん@お腹いっぱい。2001/06/15(金) 12:03ID:FBlOwBFk
残念ながら、お金は一切もらえません。
私が趣味で少しだけWEBをさわっている事を知っている
親が知人から頼まれた物です。
私としても勉強になるから、やってます。
でも仕事としてやったら、いくら位もらえる物なのかな〜
ココに書き込むのは仕事中ですけど...
0104名無しさん@お腹いっぱい。2001/06/15(金) 16:56ID:6GSneOsc
現在このスクリプトを使用していて、
http://www15.freeweb.ne.jp/art/premacy/index.txt

アクセス解析を追加したいのですが、
このスクリプトの機能を追加する事はできるでしょうか。
http://www15.freeweb.ne.jp/art/premacy/raic.txt
0105862001/06/15(金) 18:07ID:FBlOwBFk
http://selfkkk.hypermart.net/tboard002.txtの
752行から779行の所で

# 投稿記事のログを開く
open(IN,"$logfile") || &error("Can't open logfile");
@lines = <IN>;
close(IN);
}
$s = 0;
while($s<@lines){
($rdate,$rname,$remail,$rtitle,$rcom,$rurl,$rkey,$rmenu01,$rmenu02,$rmenu03,$rmenu04,$rmenu05) = split(/\t/,@lines[$s]);
if($FORM{'mode'} eq 'rewrite' && $FORM{'date'} ne $rdate){$s++;next;}
if($newdate && &newflag($date,$rdate)){
# 新着記事
$ncolor = $back19;
$nfont = $color20;
$tcolor = $back21;
$tfont = $color22;
$kcolor = $back23;
$kfont1 = $color24;
$kfont2 = $color25;
}else{
# 通常記事
$ncolor = $back12;
$nfont = $color13;
$tcolor = $back14;
$tfont = $color15;
$kcolor = $back16;
$kfont1 = $color17;
$kfont2 = $color18;
}

この部分で
$date_1をイベントの開催日(最終日)$date_1 = ($year_1 + $mon_1 * 100 + $mday_1 )として
$newdateを$newdate = ($year + $mon * 100 + $mday )とした場合に
$date_1と$newdate比較する命令文と
この通常記事を表示させない命令文が分かれば
出来る気がしますが、どうでしょうか?
ただ、命令文が全く分かりません...教えて頂けないでしょうか
毎度の事ながら、検討違いな事を言ってるかもしれません
0106rubbish_lister2001/06/15(金) 20:41ID:???
>>105
概把握しましたが、このスクリプトを使えるようにするにはかなり面倒です。

1.パスワードが生のままログに書き込まれている。
 これにcryptをかけるのは簡単ですが、
 こんなスクリプトを配布するなど(以下自粛)

2.イベント日時をログに記録する必要がある。
 これ、考えてますか?
 別に私が付けても構いませんが。

可能なら、再度スクリプトを探すことをお勧めします。
その際はデザインではなく機能重視で探してください。
# 機能追加よりデザインを変える方が容易なので。

どうしてもこのスクリプトが必要なら、
手を加えたものを送るのでフリーのメールアドレスを取得しておいてください。
0107862001/06/15(金) 21:11ID:???
>>rubbish_listerさん、ありがとうございます
申し訳ありませんが、
>イベント日時をログに記録する
も付けてお願いします
お手数ですが、下記アドレスまで宜しくお願いします
[email protected]
0108rubbish_lister2001/06/15(金) 21:29ID:???
なるほど。
まぁデカイ口を叩いていますが、1週間音沙汰無ければ諦めてください。

それでは質問。

1.flockは使用できるか
2.色はCSSに任せて構わないか(CSSを自分で書けるか)
3.Perlのバージョンは幾つか
4.標準モジュールは使用可能か

答えてください。
0109862001/06/15(金) 23:11ID:???
>>rubbish_listerさん
ファイルのロックは使用
CSSスタイルは自分でやります。
Perlのバージョンは5.005_02
標準モジュールは使用可能です。

サーバーはどうやらコバルト?のようです
宜しくお願いします
0110名無しさん@お腹いっぱい。2001/06/16(土) 10:45ID:tJUWvw2U
お絵かき掲示板http://www16.cds.ne.jp/~ohno/
でコメント入力フォームでも他の人のコメントを表示させたいのですけれど、
抽出・繰り返し処理がうまくいかずに困っております。
http://suzuka.cool.ne.jp/wheats/picbbs.txt

コメント投稿フォーム(sub commentform)のところに掲示板の閲覧(sub viewlog)
を参考にしてコピペしてみたりしたのですが、案の定最新の絵のコメントが全部に
出てきてしまってます。
0111名無しさん@お腹いっぱい。2001/06/16(土) 12:58ID:5OiSEq72
>>110
軽く見てみたけどソースは改造したものなのかそのままなのかわからん。
もし改造してるんなら場所わかるようにしてもらいたい。

表示部分が出せるのならログを行ごとに取捨選択するだけだろう。
($current, $mode, $pngfile, $commentno, $ownerpassword) = split(/\t/, $article);
で受け取ってる内、 $current がコメントの番号なので
表示させたい行ごとにこの番号が表示させたいものと同じかを見て、分岐入れればできると思う。
多分あってると思うが間違ってたらスマソ
01121112001/06/16(土) 13:00ID:???
ちなみに commentform 関数内なら
$basenum にコメントを入れる目標の画像の番号が入ってるはず。
0113名無しさん@お腹いっぱい。2001/06/16(土) 13:15ID:tJUWvw2U
>>110
すみません、そのままのものです。
とりあえず試してみます。ありがとうございます。

どうも一致がうまくいかなくて、全部表示されちゃったりするんですよね。とほ。
0114アルトキング2001/06/16(土) 14:39ID:soBAHkW6
さっそくですがCGIの改造の仕方を教えてください。
The Room http://dream.lib.net/room/ の
ツリー掲示板 http://dream.lib.net/room/cgi/e_treebbs.html で
">"で引用色がでるのですが
">>"">>>"">>>>"と引用色を変えるにはどのようにしたらいいのでしょうか?

上のスレッドの事はごめんなさい
初心者で礼儀を知らずに・・・
許してください。
0115rubbish_lister2001/06/16(土) 15:21ID:???
>>86
悪いけど諦め。
なんとかしたいのは山山ですが、
過去ログの書式から出力イメージまで変えるとなると、改造の範囲を超えてます。

# あれこれ振り回した挙句投げ出して本当に申し訳ない。
0116アルトキング2001/06/16(土) 17:38ID:soBAHkW6
$temp1[8]="\a".$temp1[8];
if ($quotecolor eq ""){
$temp1[8] =~ s/\a/<br>/ig;
}else{
$temp1[8] .= "\a";
$temp1[8] =~ s/\a>([^\a]*)\a/\a<font color=$quotecolor>>$1<\/font>\a/ig; $temp1[8] =~ s/\a>([^\a]*)\a/\a<font color=$quotecolor>>$1<\/font>\a/ig;
$temp1[8] =~ s/\a/<br>/ig;
}
のところだと思うのですが、どのように応用したらいいのかわかりません。

お手数かけますがよろしくお願いします。
0117名無しさん@お腹いっぱい。2001/06/16(土) 18:02ID:???
>116
このコードひどくないか?
なにがしたいんだかさっぱりわからないよ
0118名無しさん@お腹いっぱい。2001/06/16(土) 18:26ID:mziCEtfk
>>116
3レベルまで色を変えるとして、
s/\a&gt;([^\a]*)\a/\a<font color=$quotecolor>&gt;$1<\/font>\a/ig;
↓
s/\a((?:&gt;){1,3})([^\a]*)\a/\a<font color=$colors{$1}>$1$2<\/font>\a/ig;

ただし、連想配列%colorsは、あらかじめ設定しておく。
my %colors = (
"&gt;" => "#666666",
"&gt;&gt;" => "#999999",
"&gt;&gt;&gt;" => "#cccccc",
);

#"&gt;"がうまく書き込めてますように(ナムナム
0119S2001/06/16(土) 18:40ID:QjdpSRZc
>>116
たぶん \a を一時的な改行にしているので、そう仮定すると、上の部分を

if( @qc ){
$temp1[8] =~ s/^(>+)([^\a]*)/<font color=$qc[length($1)]>$1$2<\/font>/ig;
$temp1[8] =~ s/\a(>+)([^\a]*)/\a<font color=$qc[length($1)]>$1$2<\/font>/ig;
}
$temp1[8] =~ s/\a/<br>/ig;

てな感じに直せばできます。配列 @qc には
@qc = ( >の色、 >>の色、 >>>の色 … );
というように、好きなだけ指定してください。
0120S2001/06/16(土) 18:42ID:???
かぶった…(;´Д`)
しかも間違い。 $qc[length($1)] ではなく $qc[length($1)-1] です。
0121アルトキング2001/06/16(土) 20:00ID:5dARUk7k
できました。
皆さん本当にありがとうございました!!
01221102001/06/16(土) 22:56ID:???
あまりうまくいかなかったので、別の方向を模索することにしました。
>>111さん、ありがとうございました。
0123名無しさん@お腹いっぱい。2001/06/16(土) 23:19ID:???
殺す
0124862001/06/17(日) 14:56ID:???

  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか  この低脳が
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ  シネヤ
0125名無しさん@お腹いっぱい。2001/06/17(日) 15:44ID:???
仕事は自分の手でやろうな(w
0126名無しさん@お腹いっぱい。2001/06/17(日) 17:45ID:???
┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┓
┃国語┃算数┃理科┃社会┃英語┃体育┃音楽┃人格┃2ch ┃
┣━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━┫
┃  1 ┃  1 ┃  1 ┃  1 ┃  1 ┃  1 ┃  1 ┃  1 ┃  1 ┃
┗━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┛
                     ミチャダメー
  (´フ`)              (゚Д゚) ──
 □ー               =│  ──
   ハ                ┌┴┘<86
0127名無しさん@お腹いっぱい。2001/06/17(日) 17:49ID:???
86がどうかしたのか?欲輪嫁乱。
0128sage2001/06/17(日) 18:33ID:???
86は仕事で忙しいんだとさ。
0129名無しさん@お腹いっぱい。2001/06/18(月) 07:02ID:V6rP3OlA
簡易掲示板なんだけど、投稿日のところ、時、分、秒まで出ちゃうのを
やめたいです(´ー`)
ようは年、月、日(曜日)だけにしたいんですがどうしたらいいか
教えてくだちい(´ー`)ノ
http://www.makani.to/akutoku/bbs/upload/dat/226.txt
0130名無しさん@お腹いっぱい。2001/06/18(月) 12:14ID:t3WQOS7U
>>129
見えねーよ。
適当に「時」とか「分」で検索かけて、$hour時$min分……とか
いうところがあるだろうから、それを削りな。
0131アルトキング2001/06/18(月) 20:07ID:9LgTi4kM
先日はありがとうございました。
またまた質問で申し訳ないのですが
KENTWEBさんのCOMCHAT
http://www.kent-web.com/chat/comchat.html
に同封されている管理者用のchatmgr.cgiでログ
を消したり出来るのですが、ログを一括削除する
機能をつけたいと思っているのですがそれは容易
な事なのでしょうか?

他のスクリプトなどを参考にやってみたのですが
うまくいきませんでした。

どなたかよろしくお願いします。
0132名無しさん@お腹いっぱい。2001/06/18(月) 20:15ID:???
かんたんだよ。
ログファイルを消去してから新しく作る
ルーチンを付ければいいじゃん?
0133アルトキング2001/06/18(月) 20:19ID:9LgTi4kM
ごめんなさい

CGIのプログラムについての知識がほとんどないんです・・・

そのやり方でいいので教えていただけないでしょうか?
0134名無しさん@お腹いっぱい。2001/06/18(月) 21:29ID:vKbNcDIQ
スレ違いだったら誘導して下さい。コラムCGIをSSI使ってトップのHTMLに表示させたいです。
この時HTMLに書くコマンドと.htaccessについて質問です。
CGIがあるディレクトリにはCGIを許可する.htaccess、SSIを使うHTMLがある
ディレクトリにはSSIを許可する.htaccessでよろしいのでしょうか?
アドバイスよろしくお願いします。
0135名無しさん@お腹いっぱい。2001/06/18(月) 21:47ID:???
>>134
>スレ違いだったら誘導して下さい。
.htaccess関係はこのスレでどうぞ。
http://corn.2ch.net/test/read.cgi?bbs=php&key=988800432&ls=50
あっちに移動したら、問題の.htaccessの中身もコピペしとくとよろし。
01361342001/06/18(月) 22:16ID:???
>>135さん
どうもありがとうございます。
コピペもしますね、アドバイスどうもです。
0137名無しさん@お腹いっぱい。2001/06/18(月) 23:00ID:???
>>131
1:一括削除用キーワード対応のif文を作る
2:そのif文で実行させる一括削除用のサブルーチンを作る

つか、毎回カラのログファイルをftpすれば?
0138アルトキング2001/06/19(火) 15:56ID:3BgLOBXY
いまそうやってるのですが
FTPが繋がるのにえらい時間が掛かってるので・・・

>1:一括削除用キーワード対応のif文を作る
>2:そのif文で実行させる一括削除用のサブルーチンを作る

申し訳ないのですが
具体的にどのように書くか教えて頂けないでしょうか?
0139名無しさん@お腹いっぱい。2001/06/19(火) 16:16ID:???
>ごめんなさい
>CGIのプログラムについての知識がほとんどないんです・・・
>そのやり方でいいので教えていただけないでしょうか?

どれくらいのことならわかるの?


改造を1から人に依頼するには
ソースコードをみたりして手間がかかってあまりに面倒だから(他人のソースコードをみて解析するの面倒なのよ)
このスレをみてる人はやりたがらない(無償で手間かかるのはやりたくない。金とか絡むならやってもいいけど)

基本的にやり方は教えるけど詳しい内容(ソースをみて書き換えたり)は
無償でやってくれる人は少ないと思うよ。
ある程度のことがわかってる相手じゃないと教えたくないのが本音かな。
0140アルトキング2001/06/19(火) 16:38ID:3BgLOBXY
設置とちょっとした言葉の追加ぐらいしか出来ません。

いまKENTさんの違うスクリプトの一括削除機能を埋め込もうとしましたが
何度やってもエラーが出ます。

やっぱり無償じゃ無理なのかな・・・
0141antique2001/06/19(火) 16:56ID:???
教えて君に対して甘すぎるかなと思いつつ
233行に

if ($in{'action'} eq 'all_del') {
        open(DB,">$logfile") || &error("Write Error : $logfile");
        close(DB);
        @lines = ();
}
print <<"_HTML_";
<form action="$script" method="$method">
<input type="hidden" name="color" value="$in{'color'}">
<input type="hidden" name="retime" value="$in{'retime'}">
<input type="hidden" name="pwd" value="$pwd">
<input type="hidden" name="mode" value="edit">
<input type="hidden" name="action" value="all_del">
<input type="submit" value="ログを全て削除">
</form>
_HTML_

を挿入
# 行はデフォルト。動作は非検証。ローカルで動作確認すること。

今回の収穫。相変わらずKentのCGIは(以下自粛)
0142antique2001/06/19(火) 16:57ID:???
教えて君に対して甘すぎるかなと思いつつ
233行に

if ($in{'action'} eq 'all_del') {
        open(DB,">$logfile") || &error("Write Error : $logfile");
        close(DB);
        @lines = ();
}
print <<"_HTML_";
<form action="$script" method="$method">
<input type="hidden" name="color" value="$in{'color'}">
<input type="hidden" name="retime" value="$in{'retime'}">
<input type="hidden" name="pwd" value="$pwd">
<input type="hidden" name="mode" value="edit">
<input type="hidden" name="action" value="all_del">
<input type="submit" value="ログを全て削除">
</form>
_HTML_

を挿入
# 行はデフォルト。動作は非検証。ローカルで動作確認すること。

今回の収穫。相変わらずKentのCGIは(以下自粛)
0143antique2001/06/19(火) 16:59ID:???
何で2重カキコに・・・・。鬱
0144アルトキング2001/06/19(火) 17:40ID:3BgLOBXY
無事出来ました。

本当にありがとうございます!!
0145名無しさん@お腹いっぱい。2001/06/19(火) 20:01ID:???
http://www.cj-c.com/sp/cbbs.cgi?mode=all&namber=6453&type=0&space=0

namber
0146限界です。2001/06/19(火) 20:11ID:dQGYdWvQ
http://perl.gizo.net/download/imode/ezimode_cgi.txt
↑(ソースです)のi-mode掲示板をつけました。
どうしても、EZ−Webからだと文字化けがおこります。
しかも、「タイトル(=dai)」(フォームサブルーチンより)
の部分だけが…。

EZからだと、書き込み方式が違う(UTF−8??)
てのだけ、突き止めましたが、
それって↓
&jcode'convert(*dai,"sjis");
で対応するんですよね?でも、ダメです。

万策尽きてしまいました。
ぜひ、知識人の方々のお力を…。
お願いいたします。

(それとも、送信メソッドをJ−skyのためにGET
にしたんですが、そのせいでしょうか?)
0147rubbish_lister2001/06/19(火) 20:23ID:???
>>146
line 261
&jcode'h2z_sjis(*name);
&jcode'h2z_sjis(*dai);
&jcode'h2z_sjis(*cmt);

&jcode'convert(*name,"sjis");
&jcode'convert(*dai,"sjis");
&jcode'convert(*cmt,"sjis");

これを

jcode::convert(\$name,"sjis");
jcode::convert(\$dai,"sjis");
jcode::convert(\$cmt,"sjis");

jcode::h2z_sjis(\$name);
jcode::h2z_sjis(\$dai);
jcode::h2z_sjis(\$cmt);

とする。

本当にUTF-8なら、Jcode.pmを使うしかないですけどね。
0148限界です。2001/06/19(火) 22:39ID:PvWD1BZY
ありがとござます。試してみます。

Jcode.pm 始めて聞きました。
0149限界です。2001/06/19(火) 23:38ID:z5b3eH/c
・・・ダメでした。
name dai cmt が入れ替わったりしてました。
J-SKYでやるとなんもないんですけどね…。
0150名無しさん@お腹いっぱい。2001/06/19(火) 23:39ID:???
>name dai cmt が入れ替わったりしてました。
??

文字化けはどうでした?
0151rubbish_lister2001/06/19(火) 23:47ID:???
って、タイトルだけが文字化け?
HTMLのTITLEですか?
もう少し詳しく説明お願いします。
0152名無しさん@お腹いっぱい。2001/06/20(水) 16:47ID:vbqon9jw
書き込まれた状態での「タイトル」(=dai)が
(auからのかきこみで)化けるのです。

文字化けも直ってませんでした。
0153名無しさん@お腹いっぱい。2001/06/22(金) 00:30ID:xOiZ1DjE
http://www.kent-web.com/chat/comchat.html?
の COMCHAT-EX のログ表示をhtmlに出力するようにしたいんだけどさ
改造法ここにのってるとかこの本読めとかでもいーから教えてーー
0154名無しさん@お腹いっぱい。2001/06/22(金) 16:26ID:???
>153

らくだ本よめ
0155名無しさん@お腹いっぱい。2001/06/23(土) 02:40ID:1WOcR5po
>>141
ちょこっと訂正してみた。

<form action="$script" method="$method">
<input type="hidden" name="color" value="$in{'color'}">
<input type="hidden" name="retime" value="$in{'retime'}">
<input type="hidden" name="uid" value="$uid">
<input type="hidden" name="upw" value="$upw">
<input type="hidden" name="pwd" value="$pwd">
<input type="hidden" name="mode" value="edit">
<input type="hidden" name="action" value="all_del">
<input type="submit" value="ログを全て削除">
0156名無しさん@お腹いっぱい。2001/06/23(土) 03:13ID:???
>>154
らくだ本てなによ??
0157名無しさん2001/06/23(土) 22:08ID:???
(゚Д゚)ハァ?
0158名無しさん@お腹いっぱい。2001/06/24(日) 14:55ID:???
>>156
表紙にラクダの絵が描かれた本だ。
本屋に行って探して来い。
0159名無しさん@お腹いっぱい。2001/06/24(日) 17:00ID:Xzr/Y/og
i-Mac零式さんで配布している掲示板に
メール配信機能(投稿があると管理者にメールする機能)を付けたいのです。
http://www.geocities.co.jp/HeartLand-Keyaki/4988/BBS.txt

メール配信機能付き掲示板って色々出てますが
i-Macさんトコの掲示板が気に入ってるのでこれに付けたいのです。
KENTさんのスクリプトやレスキューさんのスクリプトを参考にして
自分なりに追加してみたのですが、動作しませんでした・・・

sendmailは使えるプロバイダーなので(KENTさんの配信機能付き掲示板で確認済み)
ちゃんと記載できれば機能するはずなんですが・・・

どうか、よろしくお願いします。
01601592001/06/24(日) 17:01ID:Xzr/Y/og
ちなみに、
ここの方なら書かなくてもわかると思いますが
カール板の改造版です。
0161名無しさん@お腹いっぱい。2001/06/24(日) 17:35ID:???
>>159
「書き込みがあったよヽ(´ー`)ノ」とだけ判ればいいのか?
書き込み内容も全部、知りたいのか?
01621592001/06/24(日) 17:39ID:Xzr/Y/og
投稿者、投稿内容などはわからなくても全然かまいません。
投稿されたことがわかればそれで十分です。
宜しくお願いします。
0163名無しさん@お腹いっぱい。2001/06/28(木) 02:03ID:CXMzFrno
http://corn.2ch.net/test/read.cgi?bbs=php&key=990609484&ls=50
みたいな投票とか、同ジャンルのサイトの投票とかできるような
CGIがあれば便利だと思うんだが、
http://www.mytools.net/cgitools/source/vote700/tvote-cgi.txt
を改造して、URL付きで投票結果を表示できるように
するにはどうすればいいだろ?

例えば、
http://www.mytools.net/cgi/test/vote7/tvote.cgi?event=test1
でいうと、「マルチネス(巨人)」をクリックすると
そのサイトに飛べるって感じ。
投票用フォームには「URL」の蘭も追加しときたい。
0164名無しさん@お腹いっぱい。2001/06/28(木) 04:15ID:???
>>163
投票項目の奴のページにリンクはるってこと?
01651632001/06/28(木) 05:01ID:???
>>164
そういうこと。URLに対する投票。
2ちゃんでよくある板のロゴ決めなんかの
時にも使えそうでしょ?
01661642001/06/28(木) 12:36ID:???
>>163
一応やってみた。
多分問題なく動作すると思う。
こういうのはどこにアップすればいいんだろう。
■ このスレッドは過去ログ倉庫に格納されています