トップページphp
1001コメント413KB

【 スクリプト改造工房 PART 5 】

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん02/08/01 18:19ID:???

#================================
# スレッドの説明
#================================

「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。

質問するときは以下の点に注意して書いて下さい

(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

※答えてくれないからといって逆ギレする厨はお断り

#================================
# 過去のスレッド
#================================

【PART1】行方不明
【PART2】http://pc.2ch.net/test/read.cgi/perl/986986227/
【PART3】http://pc.2ch.net/php/kako/988/988808396.html (HTML化済み)
0002nobodyさん02/08/01 18:42ID:???
( ゚д゚)
0003nobodyさん02/08/01 19:34ID:???
乙カレー
0004nobodyさん02/08/01 19:44ID:???
【PART4】http://pc.2ch.net/test/read.cgi/php/1012839651

なぜスレ名に飾り付けたがるのか
0005nobodyさん02/08/01 20:03ID:???
確実に取れる5をGETしても面白くないな。
0006nobodyさん02/08/01 20:22ID:???
イマダ6ゲト

ズサーーーーーーーーーーーーーーーー

ぷうーあぶねー間に合ったぜ
00077GET02/08/02 00:10ID:SyIGyoHO
Ruby━━━━━(゚∀゚)━━━━━!!!!
0008Pers工房02/08/02 00:22ID:???
( ´_ゝ`)フーン
00093PIO ◆3pIoOHKo 02/08/02 21:41ID:QeEOKQz7
>>1
お疲れさん
0010nobodyさん02/08/02 22:09ID:???
BOCOL
0011nobodyさん02/08/02 22:22ID:???
(・∀・)スーンスーンスーン♪
(゚д゚)ハッ!
(・∀・)スーンスーンスーン♪
(´Д`)イェァスーンスーンスーンスーン
(・∀・)スーンスーンスーン♪
(´Д`)イェイェイェァ
(・∀・)スーンスーンスーン♪
(´Д`)イェァイェァイェァイェァスーン
(゚д゚)ヤ! 
(・∀・)スーンスーンスーン♪
(゚д゚)ヤ! 
(・∀・)スーンスーンスーン♪
(´Д`)イェァモンモン
(゚д゚)ヤ! 
(・∀・)スーンスーンスーン♪
(´Д`)シケタシケタ
(゚д゚)ヤ! 
(・∀・)スーンスーンスーン♪
(・∀・)スーンスーンスーン♪
(・∀・)イェーア!
(・∀・)スーンスーンスーン♪
(・∀・)イェーア! 
(´Д`)スンベスンベソンスンスンバ
(・∀・)スーンスーンスーン♪
(゚д゚)ブベラ!
(´Д`)スーンスーンスーン
0012nobodyさん02/08/02 22:53ID:???

ちなみにこのスレはWEBプログラミングに関する言語ならなんでもOKなんだよね?
Perlだけじゃないよな・・?
0013nobodyさん02/08/02 23:09ID:???
まぁ、そうだが、スクリプト中心で。
0014nobodyさん02/08/02 23:19ID:???
もちろんRubyもPythonもOKですよ
,,というよりPythonだれか教えて
0015nobodyさん02/08/03 12:10ID:QHwXQt4P
鬼レスボードを
http://www.agz.jp/~pawa9/pawa9-bbs/bbs_sub.cgi
このように改造したいんですけど、どうすればいいんでしょうか?
ツリー型にしたいんです。
そこから書き込めるように。
0016nobodyさん02/08/03 12:13ID:???
鬼レスボードって何だ?
>>1をよく読んでくれ。
0017nobodyさん02/08/03 12:26ID:???
鬼レスボード ←ネーミングセンスがイイ(・∀・)!!
0018nobodyさん02/08/03 12:29ID:???
鬼即レスボードきぼん。
00191502/08/03 12:51ID:QHwXQt4P
すいません。
鬼レスボードは、本来
http://www85.sakura.ne.jp/~cgilabo/sample/resbbs/bbs.cgi
このような形なんです。
DLは
http://www85.sakura.ne.jp/~cgilabo/resbbs.html
で、やりたいのは、
http://www.agz.jp/~pawa9/pawa9-bbs/bbs_sub.cgi
のように、スレッド一覧から書き込みできるように。
書き込みしたら、スレッド一覧に戻るように。
したいんです。
悪くいえば、
http://www.agz.jp/~pawa9/pawa9-bbs/bbs_sub.cgi
と同じようなデザイン、
まんまコピーをしたいんです。
どなたかわかる人はいませんでしょうか?


00202002/08/03 18:41ID:hhYBlAJk
20だけど、鬼レスなんて始めて聞いたよ。
00212002/08/03 18:42ID:hhYBlAJk
E-mail欄に
思わずsageって入れたら起こられた…。
ガーン(w
00222202/08/04 15:08ID:???
改造したいスクリプト
 →kent-webのウェブパティオという掲示板http://www.kent-web.com/bbs/patio/patio.cgi
希望 →投稿内容を増やしたい。デフォルトでは名前やコメントだけだが、
年齢と性別、出身地等を記入できるようにしたい。(クッキー保存は無くて構いません)

$logder$in{'no'}\,cgiと$nowfileへの書き込みを中心に変更したのですがうまくいきません。
よろしくお願いします。
0023 ◆adminSE. 02/08/04 16:03ID:???
コードが長いので面倒だが少しずつ。。

patio.cgiの400行目あたりに

<table cellspacing=1 cellpadding=5 width="100%">
<tr bgcolor="$col2">
<td bgcolor="$col2" width=80>題名</td>
<td><input type=text name=sub size=30 value="$resub" maxlength=30></td>
</tr>
<tr bgcolor="$col2">
<td bgcolor="$col2" width=80>名前</td>
<td><input type=text name=name size=30 value="$cname" maxlength=30></td>
</tr>
<tr bgcolor="$col2">
<td bgcolor="$col2" width=80>E-Mail</td>
<td bgcolor="$col2"><input type=text name=email size=30 value="$cmail"></td>
</tr>

ってところがある。そこを
0024 ◆adminSE. 02/08/04 16:04ID:???
<table cellspacing=1 cellpadding=5 width="100%">

<tr bgcolor="$col2"><td bgcolor="$col2" width=80>題名</td>
<td><input type=text name=sub size=30 value="$resub" maxlength=30></td></tr>

<tr bgcolor="$col2"><td bgcolor="$col2" width=80>名前</td>
<td><input type=text name=name size=30 value="$cname" maxlength=30></td></tr>

<tr bgcolor="$col2"><td bgcolor="$col2" width=80>E-Mail</td>
<td bgcolor="$col2"><input type=text name=email size=30 value="$cmail"></td></tr>

<tr bgcolor="$col2"><td bgcolor="$col2" width=80>年齢</td>
<td bgcolor="$col2">

<select name="age">
<option value="10">10歳代
<option value="20">20歳代
<option value="30">30歳代
</select></td></tr>

のように年齢用プルボックスを付け加える
(書き方が上と下ではちょっと違うがどっちでもOK)
0025 ◆adminSE. 02/08/04 16:09ID:???
性別や出身地については同じように

<select name="sex">
<option value="boy">男
<option value="girl">女
</select></td></tr>

<select name="from">
<option value="hokkaido">北海道
<option value="tokyo">東京
<option value="okinawa">沖縄
</select></td></tr>

注意するのは<select name="age" などの name="〜"の〜は重複しないようにする
valueも分かりやすいように重複させないこと
0026 ◆adminSE. 02/08/04 16:10ID:???


<tr bgcolor="$col2"><td bgcolor="$col2" width=80>年齢</td>
<td bgcolor="$col2">

が抜けてた。自分で付け足してね
0027 ◆adminSE. 02/08/04 16:15ID:???
次にinit.cgiの215行目あたりに

$mode = $in{'mode'};
$p = $in{'p'};
$in{'no'} =~ s/\D//g;
$in{'res'} =~ s/\D//g;
$i_nam = $in{'name'};
$i_sub = $in{'sub'};
$i_com = $in{'comment'};

ってのがあるからそこを

$mode = $in{'mode'};
$p = $in{'p'};
$in{'no'} =~ s/\D//g;
$in{'res'} =~ s/\D//g;
$i_nam = $in{'name'};
$i_sub = $in{'sub'};
$i_com = $in{'comment'};
$i_age = $in{'age'};
$i_sex = $in{'sex'};
$i_from = $in{'from'};

にする。
0028nobodyさん02/08/04 16:20ID:???
連続書き込み制限?
0029 ◆adminSE. 02/08/04 16:22ID:???
次にregist.cgiの40行目あたりに

# 投稿内容チェック
if ($i_com eq "") { &error("コメントの内容がありません"); }
if ($i_nam eq "") {
if ($in_name) { &error("名前は記入必須です"); }
else { $i_nam = '名無しのゴンベエ'; }
}
if ($in_mail && $in{'email'} eq "") { &error("E-Mailは記入必須です"); }
if ($i_sub eq "") { &error("タイトルは記入必須です"); }

ってあるからそこを

# 投稿内容チェック
if ($i_com eq "") { &error("コメントの内容がありません"); }
if ($i_nam eq "") {if ($in_name) { &error("名前は記入必須です");}
else { $i_nam = '名無しのゴンベエ'; }}

if ($in_mail && $in{'email'} eq "") { &error("E-Mailは記入必須です"); }
if ($i_sub eq "") { &error("タイトルは記入必須です"); }
if ($i_sex eq "boy") {$i_sex = "男";} else {$i_sex = "女";}
if ($i_from eq "hokkaido") {$i_from = "北海道";}
elsif ($i_from eq "tokyo") {$i_from = "東京";}
elsif ($i_from eq "okinawa") {$i_from = "沖縄";}
$i_age = "$i_age歳代";

ってな感じにする
0030nobodyさん02/08/04 16:27ID:???
コラコラ、◆adminSE さんは答えられる実力なんてないんだからさぁ。
0031 ◆adminSE. 02/08/04 16:30ID:???
>>30

んじゃあとはよろしくね

00322202/08/04 17:02ID:???
>>◆adminSE
ありがとうございます。これから試してみます。
>>30
´_ゝ`
0033 ◆adminSE. 02/08/04 17:11ID:???
>>32

あ、まだ↑のだけじゃ動かないからね。
修正するところいっぱいあってけっこう時間かかる
0034おとのちゃま02/08/05 22:05ID:jr9SkgFH
お初です。
↓エースさんのスケジュール(履歴風)を、進行管理に使いたいのです。
http://www.ace-cgi.jp/cgi/sch/005/index.html

具体的には ・・・ 一行に書き込む数を増やす。
      ・・・ 進行状況によって、該当行の書き込みが変えられる。

改造が簡単そうに見えたのですが、日付管理しているらしく、
同じ日付の書き込みができない。というところにぶち当たってしまいました。
管理を時・分・秒まで細かくすれば…とか思ってやってみたのですが、
だんだんとおかしなシステムになってしまいました^^;
書き込みを編集すると、別スレになる。削除ができない。といった不都合が
でてしまい、もうだめです…

お力をお貸しください。

ソースを挙げておきますので、改造のご指導お願いします。
改造後:http://isweb9.infoseek.co.jp/play/otenba/sample/after.lzh

0035クロス(本当に迷惑かけます)02/08/06 19:04ID:AiGWWT1t
じつは今gzip圧縮のCGIをいじってるんですが
うちのサーバーではgzipに対応していないのです
自分でもいじったんですがうまくいきませんでした
どなたかgzipの記述を見つけて削除してもらえませんでしょうか?
アドレスは
http://x-wing.tsukaeru.jp/t/
です
まことにずうずうしくてごめんなさい
0036nobodyさん02/08/06 20:14ID:???
>35
2行目に
undef($ENV{'HTTP_ACCEPT_ENCODING'});

不具合出たら知らないw
0037nobodyさん02/08/06 20:29ID:???
>>36
そういう問題じゃ無いとおもわれ。
00383702/08/06 20:31ID:???
あ、そういう解決もあるか。すまん>>36
0039クロス(本当に迷惑かけます)02/08/06 22:31ID:4KFNCG3i
えっとすいません>>36さん
詳しくおしえていただけませんでしょうか?
すいません
0040クロス(本当に迷惑かけます)02/08/06 22:39ID:4KFNCG3i
できましたぁ本当にありがとうございます♪
0041nobodyさん02/08/08 16:24ID:???
はじめまして。
CGI-StationさんのAns.Q(http://www7.big.or.jp/~jawa/cgi-bin/ansq/ansq.cgi)なんですが、
ソースにIPアドレスを出さないようにしたいのです。
しょうもない質問ですが、ぜひとも教えて頂けると有り難く思います。
よろしくお願いします。
0042nobodyさん02/08/08 16:56ID:???
219行目の<!--$ipad $rhost-->を消せ。
0043nobodyさん02/08/08 17:23ID:???
>>42
早速の解答有り難う御座いました。
やってみたのですが、投稿した人のIPアドレスは消えたのですが、
答えた人のIPアドレスはやはりソースに残ります。
答えて頂いたのに申し訳ありませんが、今一度どこをいじればいいか
教えて頂けないでしょうか。
すみません。
0044nobodyさん02/08/08 17:31ID:???
投稿した人のIPはもともと出ないはずだが?
0045nobodyさん02/08/08 17:35ID:???
>>44様。
そうですよね。それが、42様の言われた部分を削除すると、
投稿者のIPアドレスは消えて、回答者のIPアドレスが載るように
なってしまったのです。
後いじるところといえば、どこかわからなくて・・・
本当に申し訳ないです。
0046nobodyさん02/08/08 17:36ID:???
>投稿者のIPアドレスは消えて、回答者のIPアドレスが載るように
だから、投稿者のIPはもともと出ないってば。
00474602/08/08 17:37ID:???
http://www7.big.or.jp/~jawa/cgi-bin/ansq/ansq.cgi
↑だって、回答者しか出てないし。
0048nobodyさん02/08/08 18:30ID:???
>>46様。
大変大変失礼しました。
私の勘違いでした(汗)
IPアドレス消えました。
お手数おかけしてすみません。
有り難う御座いました!!!
0049 02/08/09 11:05ID:???
sage
0050にすと02/08/10 11:17ID:OIUOCS1V
新しい質問なんですけど、kent-web(http://www.kent-web.com/
のyycahtを使っているんですけど、トップから入室者を表示させる方法はありますか?
もし、ありましたらお教え下さい。
0051nobodyさん02/08/10 17:54ID:???
>>50
期待するなよ。
このスレは質問ばかりで答えは少ないから。
0052nobodyさん02/08/10 19:29ID:???
>>50

トップページってindex.htmlの画面の中に表示させたいの?
それだったらSSIつかえば出来るよ。それかインラインフレームの中に
CGIファイルを表示させるとか。

それか参加者一覧みたいので別ウィンドウでCGIファイル開いて表示とか

どっち?
0053Pers工房02/08/11 00:28ID:???
<form method="$method" action="$script" target="form" name="ponny">
<input type=hidden name=mode value="into">
<table border=2 cellspacing=0>
<tr><th colspan=2><font color="$t_color" size=5><b style="font-size:$t_size">$title</b></font></th></tr>
<tr><td><b>おなまえ</b> <input type=text name=name size=20></td></tr>
<tr><td>リロード <select name=retime>
EOM
$in{'retime'} = $retime;
foreach (@retime) {
if ($in{'retime'} == $_) { print "<option value=$_ selected>$_秒\n"; }
else { print "<option value=$_>$_秒\n"; }
}
print "</select> 文字色 <select name=color>\n";
foreach (0 .. $#COLORS) {
print "<option value=\"$COLORS[$_]\">$IROIRO[$_]\n";
}

print <<"EOM";
</select></td></tr></table>
<table cellpadding=0 cellspacing=0><tr>
<th><input type=submit value="入室する"></th></form>
<th><form action="$homepage" target="_top"><input type=submit value="もどる"></th>
</form></tr></table>
<SCRIPT LANGUAGE="JavaScript">
<!-- self.document.ponny.name.focus(); //-->
</SCRIPT>

これをHTML仕様にしてトップにはっつけれ
0054にすと02/08/11 00:42ID:7XQNhXs7
>>53
有り難う御座います。(^^
助かりました。

>>52
一応、index.htm内の事です。
53さんのお陰でなんとかなりそうですが。(^^;
0055nobodyさん02/08/12 19:26ID:0dsfb2nN
imgboard v1.22.Rev6f http://www1.big.or.jp/~talk/t-club/soft/mini_r6/index.cgi に
2chみたいなスレ一覧表示機能を実装する方法はありますか?
ありましたらどなたかお教え下さい
0056nobodyさん02/08/13 02:44ID:???
>>55
> スレ一覧表示機能
具体的にどんなのだ?
↑にあるようなやつか?
0057nobodyさん02/08/13 03:05ID:2vLbRybx
>>56

1: IDにPerlが出た奴は神!PHPがでたらDQN (552) 2: こんなCGI探してますスレッド Ver6 (754) 3: 【 スクリプト改造工房 PART 5 】 (56) 
・・・
スレッド一覧はこちら

みたいな漢字でおながいします
0058コージ02/08/14 04:09ID:???
はじめまして。
http://zurubon.strange-x.com/upload.txt ずるぼんあぷろだ
なのですがひとつひとつのファイルに返信できるように改造できませんか?
希望としてはDATEの横にRESというものを作ってそのRES押すとRES投稿欄
と下に投稿された返信コメントを表示されるようにして欲しいのですが
返信できたら良いです。どうかお願いします
0059nobodyさん02/08/16 13:42ID:???
>>58
ttp://fafa.page.ne.jp/idol/file.html
こんな感じか?
0060nobodyさん02/08/16 16:44ID:fDHEelSJ
>>59の所のように全ページHTML表示にできますでしょうか?
0061nobodyさん02/08/17 08:36ID:???
よろしくお願いします。

「Akiary」(http://www.hi-ho.ne.jp/yakira/akiary/)という日記スクリプトなんですが、
過去日記を、目次(例えば○月×日「タイトル」・○月△日「タイトル」スタイルに
変更することは、ムズカシイことなんでしょうか?
(現在は、過去日記の目次は月毎で、月ボタンを押すとその月がずらずらっと
全て現れる状態です)
あまりPealの知識がなく、どこをいじればいいか皆目検討が尽きません。
申し訳ありませんが、アドバイスをお願いいたします。
0062謎?02/08/17 09:02ID:oGO0yuMm
ハケーソ!
http://ja2kai.hoops.livedoor.com
これはなんだ?
0063nobodyさん02/08/17 09:22ID:???
>>61
漏れもPealは知らないな。
誰か知ってる奴にでも教えてもらえ。(w
0064nobodyさん02/08/17 09:39ID:???
>>63さん。
間違ってました。ごめんなさい。Perlですね・・・。
本当にすみません。
0065コージ02/08/18 03:56ID:???
>>59
遅れてすいません。はい。そういう感じで良いです!
それは配布してないでしょうか?
0066nobodyさん02/08/18 17:38ID:???
*** 殺伐スレにほのぼのキャンペーン ***

http://www.gassan.co.jp/s.es.tasiro/
田舎の寂れた田代小学校のHPを、100万アクセスの
超人気サイトにしてあげる、夏休み特別企画です。

(現在ここがターゲットです)

どんどんコピペして他の板にまいてください
0067nobodyさん02/08/18 21:18ID:a91+qg6N
#●レス書き込み
#####################
sub reswrite{
&datacheck;
my (@lines,@tmp,$inflag,$lastmsg,$xno,$pastpage, $mcount,$insert,$msum,$mdata);
my ($lasttime,$lot,$rflag,$xres) = (0,0,0,0);
my $momy = "";
my @xnew = ();
my $crypted = &encrypt($delkey);
&lock;
open (IN,"$logfile") || die &error("Open Error : $logfile");
my ($xno,$pastpage, $mcount,$msum) = split(/<>/,scalar(<IN>));

while(<IN>){
#書き込み処理
open(WR,">$logfile") || &error("Write Error : $logfile");
#一行目
print WR "$xno<>$pastpage<>$mcount<>$msum<>\n";
print WR "$mlist[0]<>m<>$mlist[2]<>$mlist[3]<>$mlist[4]<>
$mlist[5]<>$mlist[6]<>$mlist[7]<>$mlist[8]<>$mlist[9]<>
$mlist[10]<>$mlist[11]<>$mlist[12]<>$resize<>$name<>$today<>$mlist[16]<>$mlist[17]<>$mlist[18]<>\n";
print WR @xnew;
print WR "$xno<><>$vine<>$xres<>$today<>$name<>$mail<>
$url<>$crypted<>$subject<>$msg<>$addr<>$host<><><><>$color<>$icon<>$admark<>\n";
print WR @lines;
close (WR);
&unlock;
&setcookie;

これではどうしても返信すると親記事が上がってしまうんです
どうしたら、あがらないようにできるのでしょうか?
ご教授願えたら、幸いです
0068nobodyさん02/08/19 00:21ID:fNGRiFtL
>>67
何のソースだよ?
というか一部省略してないか?
00695902/08/19 14:34ID:???
>>65
配布はしていないと思われます。
なんか見つけただけですね。すみません。
00707002/08/19 23:45ID:La8Q9Gx7
CGIの呼び出しが設置しているサイト内のリンク以外からだったら
お断りするロジックを追加したいのですが…

HTTP_REFERER を???良く判りません。宜しくお願いします。
0071nobodyさん02/08/20 01:10ID:???
$myurl = 'http://hogehoge.com.';
if ( $ENV{'HTTP_REFERER'} !~ /^$myurl/ ) {
exit;
}

適当に。
00727002/08/20 01:37ID:Oem70iG+
>71さん

ありがとうございます。やってみます。
0073nobodyさん02/08/20 18:33ID:???
2chに書き込みさせるスクリプトを作っているのですがうまく投稿できないみたいです。
どなたか見ていただけませんか?
http://kari.to/upload/source/4464.txt
0074nobodyさん02/08/21 10:56ID:???
test
00757402/08/21 11:01ID:Nqi4eTFI
55行目の
print $sock "Host: $HostAddr\r\n";

print $sock "Host: $hostaddr\r\n";
にしたら74のように投稿できますた。
perl -cwでSyntax checkしたら一発でわかりましたが。
00767302/08/21 13:34ID:???
>>75
あ、一回手直ししたときにコピー元から直してなかったのか。。
うまくできました。どうもです
0077nobodyさん02/08/21 23:45ID:3+zymHFq
日記風の掲示板なのですが
タグを使用できるようには何とか改造できたのですが
オートリンク?を切ることができません。
色々調べたりしていじってみたのですが結局ダメでした。
オートリンクって設定の命令がないと機能しない物ですよね?

タグで直接
<font><a href="http:ほにゃらら">テスト</a></font>
と書き込むと

  http://ほにゃらら">テスト
と表示され、httpを書くとプログラムで自動的につくのかと抜いて書くと
見た目は成功してるのですが リンク先が

cgiの設置場所URL/http://ほにゃらら  
と設置場所のURLがくっついてきてしまいます。

なんとかできないでしょうか?

配布元はもう無くなってしまっています

スクリプトを以下にUPしました。
http://www.geocities.co.jp/SiliconValley-Bay/5767/dr.txt

分かり難い文で申し訳ないです。よろしくお願いします。
0078nobodyさん02/08/21 23:50ID:???
168行目
00797702/08/23 00:16ID:BMtMcA8t
168行目って言うと
print "<DIV ALIGN=center><NOBR><SMALL>";

の部分ですか??
それとも168行目以降という意味??
0080ビギナー02/08/23 00:43ID:ln2ctNdp
えと、78さんの仰る通りですが、
レスに http が書いてあった場合は自動リンクで良いのかな?
それも外したければ 176行目もコメントアウトです。
クドイでしょうが、以下、そのへんの当たりの付けかた ↓↓↓

http が含まれている文字列を <A HREF="http文字列">http文字列</A> に変える
必要が有るのだから、スクリプト中で 置換命令 ( =~ s/なんとか/かんとか/ ) が
書かれてあって、なおかつ A HREF= も書かれて有れば、その行に見当をつけます。

で、168行目が正にその通りで、
 $hb_txt =~ s/((http|ftp):\/\/[\w]*\.[\w\/\.\?\-~=&#]*[\w\/\?])/<A HREF=\"$1\">$1<\/A>/g;
となっていますから 行頭に # をつけてコメントアウトします。
# $hb_txt =~ s/((http|ftp):\/\/[\w]*\.[\w\/\.\?\-~=&#]*[\w\/\?])/<A HREF=\"$1\">$1<\/A>/g;
説明が下手ですみません。 私は初心者ですのでご勘弁を。
0081nobodyさん02/08/23 00:43ID:???
>>79
http://pc.2ch.net/test/read.cgi/php/1028052835/l50
00827702/08/23 01:46ID:BkAaZ1YH
>>80
ありがとうございました。
なんとか出来たようです。
行番号がずれてたみたいで折角ヒント頂いたのに
生かせなくてもうしわけありません、78さん。
この辺もいじってたんですがいじりが足りなかったようですね(^^;

本当にありがとうございました〜
0083nobodyさん02/08/28 07:34ID:O4565eSf
http://sound.jp/idm/sch003.txt

↑なんですが、置いてるサーバがアメリカのせいで、
日付が狂ってしまいます。日本時間に直すにはどこを
どういじったらいいんでしょうか。
いろいろ見てみたんですが、わかりませんでした。。
よろしくお願いします。。
00843PIO ◆3pIoOHKo 02/08/28 09:29ID:???
上のほうに
$ENV{'TZ'} = 'JST-9';
を書き加えてみたら?
0085nobodyさん02/08/28 14:55ID:???
#---- 現在日付 ----#
の下に加えたらいいよ
00868302/08/28 18:26ID:O4565eSf
>>84 >>85

できますた!ありがとうございますた!
たった一行の追加でOKだったなんて、、、。
ほかにもいろいろ時間の狂ったCGIが置いてあるので
これから片っ端から試してみます。おかげさまで
これでやっと日本時間に日記更新できます(;´3`)
0087nobodyさん02/08/30 01:08ID:???
2ちゃんに自動書き込みのできるスクリプト探してます。
0088nobodyさん02/08/30 02:05ID:RXFLyC5C
以下のようなホームページ上から、感想などを送ってもらうsendmailを利用した
プログラムなんですが、簡単な素材などを提供して貰う為、
ファイルも添付できるように改造したいです。どうすればいいでしょうか?

------------------------------------------------------------------

@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {

($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;

&jcode'convert(*name,'sjis');
&jcode'convert(*value,'sjis');

if ($name eq 'to') { $to = $value; }
if ($name eq 'from') { $from = $value; }
if ($name eq 'subject') { $subject = $value; }
if ($name eq 'body') { $body = $value; }

}

008988の続き02/08/30 02:05ID:RXFLyC5C
# cheack
if ($from eq "") { $from = "unknown\@."; }
if ($from eq " ") { $from = "unknown\@."; }


# send mail
&jcode'convert(*from,'jis');
&jcode'convert(*subject,'jis');
&jcode'convert(*body,'jis');
if (!(open(MAIL,"| $sendmail -t"))) { &error('システムエラー','メールの送信に失敗しました。'); }
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n";
print MAIL "$body\n";
close(MAIL);

# view html
&jcode'convert(*from,'sjis');
&jcode'convert(*subject,'sjis');
&jcode'convert(*body,'sjis');
$body =~ s/\r\n/\r/g;
$body =~ s/\n/\r/g;
$body =~ s/\r/<BR>/g;
0090nobodyさん02/08/30 02:08ID:???
既存のファイルも添付できるのを使え。
0091sage02/08/30 02:12ID:???
>>88
mime
0092nobodyさん02/08/30 17:28ID:eOo55UHJ
すみません。
KENT-WEB(http://www.kent-web.com/の)YY-BOARDを使っているのですが、
アイコンの選択のところで、ランダムを選択してアイコンをランダムに表示するには
どうすればいいのでしょうか?
くだらない質問かもしれませんが、よろしくお願いします。
0093ビギナー02/08/30 18:48ID:???
>>92
ごめん、やりたいことの意味がよく把握できないので、とんちんかんな返事かも?
とりあえず、お書きだったリンクから 'YYBBS v4.6' を入手してテストしてみました。

前準備:
rand.gif という名前でアイコンを作って img/ の中へ入れておきます。

スクリプト修正:
85行目当たりの…

  # アイコンを定義(上下は必ずペアで)
  @icon1 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif');
  @icon2 = ('くま','ねこ','うし','いぬ','きつね','ひつじ',
    'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ');

…に、【ランダム】の項目を付け足すために ↓ のように書き足します。
  −−(改行が多すぎますって怒られて書けないので) 続きは次へ−−
0094ビギナー02/08/30 18:49ID:???
  # アイコンを定義(上下は必ずペアで)
  @icon1 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif','rand.gif');
  @icon2 = ('くま','ねこ','うし','いぬ','きつね','ひつじ',
    'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ','ランダム');


1429行目当たりの…
  # 管理アイコンのチェック
  if ($my_icon && $in{'icon'} eq $my_gif) {
    if ($in{'pwd'} ne $pass) { &error("管理用アイコンは管理者専用です"); }
  }

…の下にでも ↓ を書き足します。
  if( $in{'icon'} eq 'rand.gif' ){
    $in{'icon'} = $icon1[ int( rand( $#icon1 ) ) ];
  }

十分なテストを行ったわけではありませんから動作は未保証です、すみません。
http://you.s16.xrea.com/b/
へ置いてみましたので、チェックしてみてくださいネ。
00959202/08/30 21:03ID:eOo55UHJ
>>93>>94
できました!ありがとうございます!
欲を言えば、クッキーにランダムを覚えさせておきたいんですが…
クッキーの発行辺りをいじればよさそうなんですが、書き方が分からないもので。
それと、rand.gifを用意するということは、ランダム表示の際に、rand.gifが表示されることもあるのでしょうか?
質問続きですみません。
0096ビギナー02/08/30 21:19ID:???
92さん、ご報告、ありがとうございました。
無事に動きましたか、良かったです。 これからも改造、頑張ってくださいね。

> それと、rand.gifを用意するということは、ランダム表示の際に、
> rand.gifが表示されることもあるのでしょうか?
いえ、rand.gif は表示されませんが、ダミーとして入れておかないと、
【画像イメージ参照】をクリックした時に ×印(画像が無いって意味)が表示されて
エレガントじゃ無いですから、その対処として、rand.gif を入れてあるだけです。

> 欲を言えば、クッキーにランダムを覚えさせておきたいんですが…
はい、対応できるように考えてみます。
でも、今からちょっと仮眠タイムですので、明日になっても良いですか? ごめんね。
それでは、また明日にでも…。 (って、どなたかが対応してくだされば嬉しいのですが。)
00979202/08/30 21:30ID:???
>>96
rand.gifは表示されないんですね。分かりました。
クッキーの件については、
お忙しい中、申し訳ありませんがよろしくお願いします。

もう少し勉強せねば…
0098ビギナー02/08/31 06:16ID:???
う〜ん、う〜ん、思ってた以上に難しくって、、、92さん、すみません。
なんとかクッキ対応にしたかったのですが、私のチカラ不足です。
とりあえずのサンプル と 説明は → http://you.s16.xrea.com/b2/

と、いう訳なので、どなたかにバトンタッチ! お願いします。
00999202/08/31 09:21ID:???
>>98
とんでもないです。朝早くからわざわざページまで作ってくださって
感謝感謝です。
自分の思ってたほど処理が簡単じゃなかったんですね。
この機能はあったら便利だけど、なくて困るようなものじゃないので…
しばらくこのままで使ってみます。

ほんとにありがとうございました。
0100ビギナー02/08/31 12:26ID:???
100ゲト!
>>99
92さん、レスをありがと!
お役にたてなくて & 中途半端にしゃしゃり出て すみませんでした。
私も今後、精進に励みますので、どうかご勘弁ください。

ここはこーだろ? って、どなたかが教えてくださればありがたいのですが…。
どうぞよろしくお願いします> 分かるかた
0101nobodyさん02/08/31 12:31ID:???
>100ゲト!















( ´,_ゝ`) プッ
0102nobodyさん02/08/31 13:39ID:???
ッチモニ。
0103nobodyさん02/08/31 14:37ID:???
>>100
クッキーにはそのまま$in{icon} = rand.gifで記憶させとけ。いじる必要無し。
変なとこで変換しないで書き込む直前でのみ変換させれ。
具体的には

sub regist{


# パスワードを暗号化
if ($in{'pwd'} ne "") { $ango = &encrypt($in{'pwd'}); }

の下辺りに

$in{'icon'} = $icon1[int(rand( $#icon1))] if($in{'icon'} eq 'rand.gif');

を置けば事は済むだろ。試しとらんけど。
0104nobodyさん02/08/31 17:18ID:???
>>102
おいおい、ッ が余計だろ
0105ビギナー02/08/31 21:43ID:???
>103
どうもありがとうございます、試してみます。
0106ビギナー02/08/31 22:03ID:???
100さんへ
早速、試してみましたが、うまく動きません。 残念です。
投稿、返信、と移ったときにはクッキは効いてますが
返信、投稿、と戻った時にはクッキが【ランダム】では無くなります。
それと、表示されちゃ困る rand.gif が表示されちゃいます。
テスト結果は → http://you.s16.xrea.com/b2/yybbs.cgi でした。
0107nobodyさん02/09/01 00:23ID:???
>>ビギナー
ならこうしてみ。試したら出来た。

# パスワードを暗号化
if ($in{'pwd'} ne "") { $ango = &encrypt($in{'pwd'}); }

if($in{'icon'} eq 'rand.gif'){
$rand_icon = 1;#フラグを立てる
$in{'icon'} = $icon1[int(rand( $#icon1))];
}else{$rand_icon = 0;}




書き込み処理




if($rand_icon){$in{icon} = 'rand.gif';}#書き込み終わったので戻す

# ロック解除
if ($lockkey) { &unlock; }
01089202/09/01 00:57ID:???
>>107
92ですが、107さんのようにすればできました。
ビギナーさん、103さん、107さん、ありがとうございました!
あと、rand.gifを表示しないようにするには、アイコンの定義のところで

@icon1 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif','rand.gif');
@icon2 = ('くま','ねこ','うし','いぬ','きつね','ひつじ',
    'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ','ランダム');

#rand.gifを除く
@icon3 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif');

という風に、icon3を付け加えて、ランダム処理の記述を

$in{'icon'} = $icon1[int(rand( $#icon3))];

にすればrand.gifは表示されなくなりました。(多分)
合ってるかどうか分かりませんが、とりあえず問題なく動いてます。


0109ビギナー02/09/01 01:51ID:???
107さん、 92さん、ありがとうございました。
順を追って試してみたのですが…。

う〜ん、やっぱり rand.gif が表示されちゃいます
投稿、返信、修正、とやってるうちで クッキの件は解決されましたが
rand.gif が表示されちゃう件は未解決です
修正で【ランダム】を選択すると ↑ の現象が起こります
0110 ◆DYeooZwg 02/09/02 22:41ID:QqVcQsGu
自分が去年書いたコードでは、
unshift (@icon1,"rand.gif");
unshift (@icon2,"ランダム");

foreach(0 .. $#icon1) {
前に加えて

sub regist{
# パスワードを暗号化
if ($in{'pwd'} ne "") { $ango = &encrypt($in{'pwd'}); }
の下辺りに

if ($in{'icon'} eq 'rand.gif'){
# アイコンにランダムが選択されたときの処理
$in{'icon'} = "$icon1[int(rand($#icon1))]";
}
という風にやっています。

もっと、うまい方法があるだろうけど、
これによって、ランダムを選択したときrand.gifが表示される事は無いと思う。
0111nobodyさん02/09/03 00:15ID:???
まずは、99行目の# アイコンモード
の下に
# ランダムアイコンモード (0=no 1=yes)
$rand_icon = 1;
と付け加えてください

357行目と745行目に# 管理者アイコンを配列に付加
とあるので、その上に
 # アイコンをランダムにする配列を付加
 if ($rand_icon) {
  unshift(@icon1,"random");
  unshift(@icon2,"ランダム");
 }
と付け加えてください
 
541行目に# クッキーを発行
とあるので、
 # ランダムアイコンかチェック
 if ($in{'icon'} eq "random") {
 srand;
 $r_icon = int(rand(scalar @icon1));
 $in{'icon'} = $icon1[$r_icon];
  }
こんなの拾った。試してはないけど
0112_02/09/03 14:27ID:???
前記のビギナーですが、、、110さん、111さん、どうもありがとう。
教えていただいた方法を今度、試してみます。
0113きつね02/09/07 21:29ID:ePdmblI2
17氏スクリプトの改造なんですけど
スレッドを立てた1だけのリモホを、表示させるには
どうすれば良いの??

↓書き込みスクリプト
http://band.lib.net/2ch/bbs.txt
0114nobodyさん02/09/07 22:04ID:???
ちっとは自分で試行錯誤してから
質問しろやボケ
0115nobodyさん02/09/08 18:01ID:x3j5SYvz
>>113 同さ未確認ですが何か?
288行目に追加
$threadtate_ip = $ENV{'REMOTE_HOST'};

897行目を変更
print OUT "$FORM{'FROM'}<>$FORM{'mail'}<>$DATE $threadtate_ip <> $FORM{'MESSAGE'} <>$FORM{'subject'}\n";
0116きつね02/09/08 20:11ID:zO9UXU5c
>>114
ここは殺伐としたインターネットですね

>>115
ありがとうございます、早速やってみます。
0117きつね02/09/09 12:30ID:YPMaGOW6
サーバーエラーになっちゃった
print OUT "$FORM{'FROM'}<>$FORM{'mail'}<>$DATE<> $threadtate_ip <> $FORM{'MESSAGE'} <>$FORM{'subject'}\n";
にしても、エラー

http://band.lib.net/2ch/16a.zip
0118nobodyさん02/09/09 13:25ID:???
>>117
$threadtate_ipの宣言と受け渡ししてないだろ。
よくわからないなら3行目の use strict; は消しとけ。そうすりゃ
いつでもどこでも勝手に変数使えるから。
0119nobodyさん02/09/09 23:58ID:5bzF4wXy
>>117
どうしてサーバエラーになるのかくらい調べなさい。
0120nobodyさん02/09/10 12:35ID:???
少しは自分の脳みそ使えやボケ
0121名無し02/09/12 14:40ID:cLzEmwaR
KENT-WEB(http://www.kent-web.com/の)YY-BOARDの改造について質問なのですが
記事に返信する場合に、記事を上に上げるか上げないかは初期設定で行うようになっているのですが、
それをネット上で実際に返信する人が選べるようにしたいのですが、そういう設定にするにはどうしたら良いのでしょうか?
0122nobodyさん02/09/12 15:19ID:???
>>121
上げたくないときは、メール欄にsageと書くのじゃ
0123nobodyさん02/09/12 15:22ID:???
結構簡単そうなんだけどな。
0124nobodyさん02/09/12 15:45ID:???
>>121

103行目の $topsort を削除する

# 返信がつくと親記事をトップへ移動 (0=no 1=yes)
# $topsort = 1;


ログ書き込み処理のとこを変更
593行目

# レス記事の場合:トップソートあり
elsif ($in{'reno'} && $in{'topsort'} eq "age") {


返信フォームのとこにソートするかしないか追加(とりあえず730行目あたりにでも)

<tr>
  <td nowrap><b>URL</b></td>
  <td><input type=text name=url value="http://$c_url" size=$url_wid></td>
</tr>
<tr>
  <td nowrap><b>ソ\ート</b></td>
  <td>
  <select name=topsort>
    <option value="age">スレッドをあげる</option>
    <option value="sage">スレッドをあげない</option>
  </select>
  </td>
</tr>
EOM
012512202/09/12 15:50ID:fqwY/73y
ラジオボタンなら
<INPUT type=radio name=topsort value=1 checked>age
<INPUT type=radio name=topsort value=0>sage
とか
012612202/09/12 15:54ID:CWF7GrNv
>>125の場合は
eq "age"
は要らないです
012712102/09/12 17:36ID:ZMgsQhUH
みなさんどうもありがとうございます。
早速やってみたのですが、一回目は失敗しました。
もう一度やってみます。
できたら報告します。
012812102/09/12 17:40ID:ZMgsQhUH
それとちょっとお聞きしたいのですが、
ディフォルトが記事を上げない設定で
チェックを入れたときだけ記事を上げる設定にする場合が
一番良いのでその記述方法を可能でしたら教えて下さいませ。
厚かましくて申し訳ありません。
0129122じゃないけど02/09/12 17:43ID:FUZonuZ5
<input type="checkbox" name="topsort" value="1">あげる
0130nobodyさん02/09/13 01:22ID:lofLfMBW
私も、KENT氏のMT-BOARDの改造についての質問なのですが。
改造したい部分は、メール欄に書き込んだ時に表示色を
変えたいのですが他のスクリプトと見比べてもわかりませんでした・・・
どなたかご教示下さい。お願いします。
01313PIO ◆3pIoOHKo 02/09/13 22:28ID:oB59gluG
>>130
つーかHTMLの改造で簡単に済むかと思われ
この板で聞く質問ではない。
0132nobodyさん02/09/13 22:43ID:???
>>130
「何の」表示色よ?本文?画面全体?
つーかMT-BOARDってどこにあんのよ。
KENTのサイト探してそのスクリプト探して該当部分探して答え教えろと?
0133nobodyさん02/09/14 02:37ID:8wcKLn20
http://www.big.or.jp/~talk/t-club/soft/index.html
ここにある画像アップロード掲示板を
http://fafa.page.ne.jp/bbslog/imgboard.cgi
ここのように2chみたいにして貰えませんか?
01343PIO ◆3pIoOHKo 02/09/14 21:13ID:???
>>133
大改造が必要です。
自分で改造してください。
01353PIO ◆3pIoOHKo 02/09/14 21:16ID:???
>>130
MT-BOARDって書籍収録でしょ?
スクリプトが簡単に手に入らないのにどうやって改造するのさ
013613002/09/15 01:19ID:???
スクリプト見直し解決しました。
アホな質問してすみませんでした。
0137sage02/09/15 09:18ID:09FtfTkD
ブラクラを防止する方法
結構役に立つ
Enter押して個人情報防止+ブラアクラ防止のテクに行く

http://kobe.cool.ne.jp/sowin/
0138age02/09/15 12:57ID:???
<age>-><sage>
0139長くてごめんなさい02/09/21 02:44ID:TAvfXYri
KENTさんの所のアンケート(投票)のスクリプトです。
http://www.kent-web.com/data/enq.html?
inputボタンの文字のサイズを10pxにしたいのですが、全然できません。
普通に<head>で始まってるものならできるけれど
これの「enq.cgi」だと「&header」とか「print」とかわからないのばかりで
どこにどう書いたらいいのか・・・。
色々試したけれど、ダメでした。

あともう一つ。連続投票をすると「ERROR!」と出るページがあるんですが
その文字のスタイルも変えたいです。
これは「&error」というのをどうにかするのでしょうか?
どうか教えてください!お願いします。
0140nobodyさん02/09/21 02:48ID:???
>>139
>>1
>(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
いちいちDLしてくれる人は少ないぞ、と。
0141nobodyさん02/09/21 02:51ID:???
>>139
ソースを「HTMLヘッダ」で検索した先にHEAD要素の出力があります。
後は御自由に。
014213902/09/21 03:43ID:???
140&141さん、こんな時間にありがとうございます。
で・・・でき・・・できました!大感謝です。嬉しいよー
0143nobodyさん02/09/22 23:11ID:UOCwN/Ov
http://www.kentweb.jp/
の掲示板のYY-BOARDで半角カタカナを使用できるようにしたいんですけど、
どこをどのように改造すればいいでしょうか?
よろしくおねがいします。
0144nobodyさん02/09/23 02:41ID:???
>>143
# 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z");

&jcode'convert(*value, "sjis", "", "");
014514302/09/23 03:01ID:???
>>144
修正したけど無理でした‥
なぜですか?
0146nobodyさん02/09/23 04:43ID:???
# 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z");

&jcode'convert(*value, "sjis");
0147nobodyさん02/09/23 06:01ID:???
>>143
jcode.plじゃ入力文字コードも指定しないと無理。
jcodeg.plを拾ってきて使うか自前でコード判別して
&jcode'convert(*value, 'sjis',"$判別した入力コード");
とするか。
014814302/09/23 06:14ID:???
(ノ゚ο゚)ノ オオオオォォォォォォ-
できました!!!
>>147さん
こんな朝っぱらから初歩的な質問に答えていただきありがとうございます!!!!!
感謝感激雨あられ
0149nobodyさん02/09/23 15:46ID:???
レッツPHPのスクリプトの改造で悩んでいます。
同一ホストからの連続投稿に時間制限を設けたいのですが(例えば一度書き込んだら
その後30分は書き込みできないようにする)、どこに何を書き込めば解決するでしょうか。
ソースは下記のものになります。
ちなみにPHPのバージョンは4.2です。

http://php.s3.to/simple/#short
0150さやか02/09/23 22:10ID:UR9fVmIX
http://dream.lib.net/room/cgi/e_ps.html
↑このパワーサーチという検索エンジンを改造したいです!
後から登録したサイトが上位に表示されるのを
下に表示したいです!seek(ファイルハンドル,0,0)
を変えてもファイルの末尾に書き込んでくれません。
リンクを書き込むファイルlink.datを先頭からではなく
後ろに追加していくにはどうしたらいいでしょう?
ps_user.cgiがネックだと思うんですが・・・。正直誰かに助けられたい。
依存心なさやかです。
0151age02/09/23 22:39ID:???
>>150
ソース見てないけど、seek(ファイルハンドル,0,0)ってのは、
書き込み位置をファイルの先頭にもって行ってるんだ。
だから後ろに書き込むには、そいつをカットしちゃえばいい。
0152心優しきもの02/09/23 22:40ID:UR9fVmIX
>>150 のさやかさんが困ってるみたいですよ〜。
  さやかさんは、ファイルに書き込む時にポインタを先頭に
  あわせる、すると表示される時に後から登録したやつが
  上に表示されるのがいやらしいです。助けてあげようよ〜。
0153nobodyさん02/09/23 22:40ID:???
>>150
ps_admin.cgiの251行目と252行目を入れ替えれば良いんじゃない?
0154むこうの 32302/09/23 22:42ID:???
>>150
>> むこうの 325
> seek(ファイルハンドル,0,0)
> これを0→2にしてもだめだったです

その直前の truncate(IO,0) が何をしてるか理解してる?
それが分かれば seek(IO,0,0) を seek(IO,0,2) にしても
無駄だと分かる筈だよ。

> 登録するときにlinkdata.dat に書き込みますよね

というのが分かっているなら、
linkdata.dat に何を書き込んでいるかを調べるべきだ。

612: seek(IO,0,0);
613: print IO @site;
614: close(IO);

ココだよね? では @site の中身はどこで作られている?

>>152
最後まで付き合うからそういうのはやめようね。
0155nobodyさん02/09/23 22:43ID:???
>>152
IDって知ってる?書き込み時刻の後ろについてるの。
困ってるのはわかるけど自作自演は止めよう。
0156__02/09/23 22:45ID:???
609行目のunshiftをpushにするだけじゃないのか

面倒なんで余り見てないが
015715602/09/23 22:49ID:???
書き忘れたが、admsg.datには今まで通り書き込まれます
これも追加如に下段に追加するなら、pushに
0158さやか02/09/23 23:05ID:UR9fVmIX
すごい!できました!>>156さん!!!嬉しいです。
私も勉強してがんばります!>>156さん!ささやかなお礼です↓






               (*´∀`*)(*^ε^*)チュ♪
0159nobodyさん02/09/23 23:32ID:???
なんというか・・・、ポカーン(゚Д゚)
0160nobodyさん02/09/24 05:49ID:???
―終了―
―再開―
0161nobodyさん02/09/24 19:38ID:MoAiFp7K
up
016202/09/25 02:37ID:g2jBFaOv

http://php.s3.to/online.phps

上はオンライン中の人数をカウントするphp scriptなんですけど
これにUSER AGENTもチェックする処理を追加させたいです。
phpのスキルある方知恵を貸して下さい、お願いしますm(__)m
0163nobodyさん02/09/25 08:29ID:zk1fSPH/
>>162
カウントするだけならIPだけで十分だと思うけど。
016402/09/25 13:02ID:+7v9yKyM
163さんレスありがとです。

PCサイトならIPだけで充分なんですけど、
自分のサイトは携帯からのアクセスがあるのでUAもチェックさせないと
うまくカウントしてくれないと思うんです。
それでも携帯だと来た人が違くてもIPとUAが一緒だとカウント
してくれないですけど、それはしょうがないので我慢します。
UAチェックのscript改造お願いしますm(_ _)m
0165nobodyさん02/09/26 06:17ID:???
>>162
携帯だとアクセスの度にIPアドレスが違うけどいいの?
016602/09/26 08:19ID:kOBv48Nd
>>165さん
はい、構わないです。
IPとUA両方をチェックさせたほうがIPだけよりかは
まだ正確ではないですけど携帯ユーザーの実際のオンラインの
数に近くなると思うので是非お願いしますm(_ _)m
0167toy02/09/26 11:51ID:dWI3M7rO
ttp://ugug.virtualave.net/uub/board.cgi(認証:1234)
ここにあるCGIの板を下記のようにして欲しいのですが良かったら
どなたかアドバイスお願いします。

http://snow.prohosting.com/kvvwpyt/test.html
お礼数の追加。カウントさせる。
http://snow.prohosting.com/kvvwpyt/test2.htm
お礼するにチェックをするとカウントさせる。

ソースのDL場所は、
ttp://ugug.virtualave.net/uub/readme.html#source
です。お願いします。
0168nobodyさん02/09/26 13:15ID:???
犯罪者は部落から出て来るなよ
臭いんだよ
0169nobodyさん02/09/27 12:09ID:???
>>167
僕の犯罪のお手伝いをして貰えませんか?
ってことでしょうか?
0170nobodyさん02/09/27 22:14ID:Oi5LYf+X
http://sound.jp/idm/cabinet.txt

のsub find実行時に件数を一気にださないで
数件ずつ表示するようにしたいんですが、
どうしたらいいでしょうか。

sub view実行時には件数を限定できるんですが、その部分を
コピって$pfind = 7;みたいな変数を作って$pviewの部分を
書き直してもムリでした。

よろしくお願いします。
0171nobodyさん02/09/27 22:32ID:???
>>170
テキトーだけどこんな感じ

# 結果を表示
$i++;



# 結果を表示
$i++;
next if($i < $in{gaisyutu});
if($i > 数件){
print "<a href="URL?gaisyutu=$i&検索条件色々">次</a>"
last;
}
0172nobodyさん02/09/27 22:35ID:???
訂正
×if($i > 数件){
○if($i > 数件+$in{gaisyutu}){

017317202/09/27 22:48ID:???
>>172
即レスありがとうございます。
>>171の方で試してみたんですが、だめでした。。

sub find 時にどういう変数が引き渡されてるか分からないので、
sub view時の

if ($i == 0) { print "<DT><該当する登録内容はありません>\n"; }
else {
$next = $page + $pview;
$back = $page - $pview;
print "<table><tr>\n";
if ($back >= 0) {
print "<td><form action=\"$script\" method=\"POST\">\n";
print "<input type=hidden name=mode value=\"view\">\n";
print "<input type=hidden name=area value=\"$in{'area'}\">\n";
print "<input type=hidden name=cate value=\"$in{'cate'}\">\n";
print "<input type=hidden name=page value=\"$back\">\n";
print "<input type=submit value=\"前の$pview件\"></td></form>\n";
}
if ($next < $i) {
print "<td><form action=\"$script\" method=\"POST\">\n";
print "<input type=hidden name=mode value=\"view\">\n";
print "<input type=hidden name=area value=\"$in{'area'}\">\n";
print "<input type=hidden name=cate value=\"$in{'cate'}\">\n";
print "<input type=hidden name=page value=\"$next\">\n";
print "<input type=submit value=\"次の$pview

の部分に何を入れたらいいのか分かりません。

つづく
0174nobodyさん02/09/27 22:50ID:???
訂正
×print "<a href="URL?gaisyutu=$i&検索条件色々">次</a>"
○print qq(<a href="URL?gaisyutu=$i&検索条件色々">次</a>");

ザルだな俺
017517002/09/27 22:52ID:???
すいません、私は>>170でした。

ちなみにサンプルは
ttp://www.kent-web.com/pubc/cabinet/cabinet.cgi
です。

つづき
sub viewのときは条件が単一なので、
(mode=view&area=0&cate=2のような感じで)
次何件というのが表示できるのは分かるんですが、

上記コピペのmode=viewをmode=find,に下場合、
複数条件を指定したときにどういう風な形で
変数が渡されるのかが分かりません。

てんぱってるので変な文章ですいません、、。
よろしくお願いします。
0176nobodyさん02/09/27 22:54ID:???
sub findはviewを通らずにexitしてるが。
017717002/09/27 22:55ID:???
>>174

ありがとうございます。
厨質問ですいませんが、gaishutuっていうのはそのままでいいんですか?
それともこちらの環境に合わせて何か書き直さないといけないんでしょうか?

また>>175に書いたとおり、
”検索条件色々”の際に渡される変数の形が分からずに困っております。

何度もすいません。。よろしくお願いします。。
0178nobodyさん02/09/27 23:05ID:???
gaisyutuはそのままでも何でもいいよ。
検索条件はこんな感じかなぁ。

$in{'word'} =~ s/([\W])/sprintf("%%%02X",unpack("C",$1))/ge;
print qq(<a href="URL?gaisyutu=$i&area=$in{'area'}&cate=$in{'cate'}&word=$in{'word'}">次</a>);
017917002/09/28 01:18ID:???
すいません、レスありがとうございます。
出先だったので今から試してみます。
ほんとに、助かります。
ありがとうございます。

018017002/09/28 01:42ID:???
>>178
うーん、せっかく書いていただいたのに、だめっぽいです。。
単一条件指定のときにはうまくいくんですが、 area,cateを複数指定すると、
area,cateそれぞれ1つ目の 条件以外が無視されてしまいます。。
>>176
ややこしい書き方ですいません。
>>173のはsub view時のものをsub findのところに
コピったということです。検索結果処理の前に
# 検索情報を整理
@fa = split(/\0/, $in{'area'});
@fc = split(/\0/, $in{'cate'});
$in{'word'} =~ s/ / /g; @wd = split(/\s+/, $in{'word'});
という処理をしてるので
mode=find&area=@fa&cate=@fc&next=$page
みたいな感じだとは思うんですが、変数が2つ以上渡された時、
URL的には どうなっているんでしょうか?
例えば、$pageが9で、areaが1と2,cateが1と3見たいな時は
mode=find&area=1,2&cate=1,3&next=9
みたいな感じなんでしょうか。
0181nobodyさん02/09/28 02:29ID:???
>>180
URLには&area=1&area=2…って並ぶ。
それはそうと自分でもやってみた。一応平気みたいだけどまだ問題ある?

# 結果を表示
$i++;
next if($i < $in{gaisyutu});
if($i > 10 + $in{gaisyutu}){
$in{'word'} =~ s/([\W])/sprintf("%%%02X",unpack("C",$1))/ge;
$in{'area'} = '';foreach(@fa){$in{'area'} .= "&area=$_"}
$in{'cate'} = '';foreach(@fc){$in{'cate'} .= "&cate=$_"}
print qq(<a href="$script?gaisyutu=$i&mode=find&cond=$in{cond}$in{'area'}$in{'cate'}&word=$in{'word'}">次</a>);
last;
}
018217002/09/28 02:41ID:???
>>181

出来ました!!!まじでありがとうです!!!
うれしいいいいいい!!ほんとに感謝してます!!

ああ、、、なんてお礼をしたらいいんだろう、、。
ほんとに会ってお礼を言いたいくらいです、、、。
2ch見はじめて以来の感動です。
マジで助かりました。
こんなに長々付き合って頂いてほんとに感謝します。
ありがとうございました!

#上のコードとほとんど変わってないってことは
#僕のやり方がやっぱりおかしかったんですね、、。
#お手数かけましてほんとにありがとうございます。
#いやあ、、うれしい、、、!!
0183181その他02/09/28 02:47ID:???
>>182
気にすんな。おつかれ(w
018417002/09/28 02:53ID:???
>>182
いやあ、、、一昨日くらいからずっと悩んでいたのでほんとにうれしいです(涙)。
しつこいですけど、ほんとにありがとうございました。
018517002/09/28 02:54ID:???
間違えました
>>182 じゃなくて >>183 でした。
じゃあ、逝ってきます!
0186nobodyさん02/09/29 12:06ID:i0j1EM8S
http://uho.s7.xrea.com/cgi-bin/yy2ch/
なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
0187nobodyさん02/09/29 13:01ID:???
>http://pc.2ch.net/test/read.cgi/php/1032704121/83

sub frame の
&header; を
&header(1); に変更、

sub header を以下のように。

if($_[0]){$doctype = 'Frameset';}
else{$doctype = 'Transitional';}
print "Content-type: text/html\n\n";
print<<"EOM";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 $doctype//EN">
<html>…


質問がスレ違いなのでこっちに書いとく。
018818602/09/29 18:09ID:GVezWC+D
誰か教えて〜〜〜〜〜〜〜。
無理なら、2chで使われてるのに一番近い機能がある板を教えてください。
お願いいたします。
0189nobodyさん02/09/30 00:59ID:???
>>188
やっぱ、メガビだろ?
http://www.megabbs.com/
0190nobodyさん02/09/30 18:45ID:9eniCY8s
ゆいちゃっとを改造したら発言自動消去が効かなくなってしまいました。
どなたか診てください。おねがいします。

http://www.geocities.co.jp/HeartLand-Cosmos/4228/enter.txt
http://www.geocities.co.jp/HeartLand-Cosmos/4228/chat.txt
0191nobodyさん02/09/30 19:21ID:???
http://www.gamehayappari.com/
0192LaLaLa ◆12fmecqU 02/10/03 01:22ID:uq/PQZBf
Webプログラミング板の皆様、こんばんは。
この度は皆様にスクリプト改造のお願いがあって参りました。不束者ですがどうぞ宜しくお願い致します。

早速お願いに入りますが、http://xxx.vis.ne.jp/a/ealis.cgiに設置した掲示板

・スクリプト配布元『http://kano.feena.jp/erial/ealis2/
・スクリプトの改造版レタリングエンジン配布元『http://www85.sakura.ne.jp/~cgilabo/cgi.html』
★レタリングエンジンのソース『http://xxx.vis.ne.jp/a/ealis_let-topic_icon.txt

…について、特定のスレッドに対してのレスが100件に達すると返信フォームが無くなって、これ以上返信不可能になるように改造していただきたいのです。
具体的には100件に達すると返信フォームの部分を、以下のHTML文に変換するようにしていただきたいのです。
↓↓↓
<TABLE border="0" cellpadding="10" cellspacing="1" bgcolor="#000000"><TBODY><TR>
<TD bgcolor="#ffffff"><B>レス数が100を超えたためこのスレッドには投稿できません。<BR>
必要に応じて新しいスレッドを立ててください。</B></TD></TR></TBODY></TABLE>
↑↑↑
そう機能するにはどのように改造すれば宜しいでしょうか?ご教授くださいませ。
どうか宜しくお願い致します。
0193nobodyさん02/10/03 01:58ID:???
if ($no =100) {print $over)
else
{$resform}

全く見てないけど。
0194nobodyさん02/10/03 05:23ID:???
>>193
==。

全く見てないけど。
0195LaLaLa ◆9G12fmecqU 02/10/03 09:08ID:uq/PQZBf
>>193-194
ご回答どうもありがとうございます。感謝しております。

とりあえず$noの部分を$numberに変えてちょっといじってみましたが全然出来ませんでした。
力不足で申しわけありません…。
もし宜しければ、詳しくご指導お願いできないでしょうか?
あつかましい願いで申しわけありません。宜しくお願いいたします。
0196nobodyさん02/10/03 09:55ID:???
これどう?

if($number >= 100){
print "レス100新スレ立てれ";
}else{
print "レスつけろ。";#通常の表示するものなぞ。
}
0197nobodyさん02/10/03 11:01ID:xHS0Gcl+
$numberはスレッドのナンバー。
レスは$tres[$number]。
sub reswindow
{
if($tres[$number] == 100) {
print "書けませんよニヤリッ";
}
0198 ◆9G12fmecqU 02/10/03 13:03ID:uq/PQZBf
こんにちは。ご回答どうもありがとうございます。感謝です。

>>196様のと>>197様のを両方やってみました。

しかし、色々いじってみましたがそれをどうやって組み込むのか全然分かりません。
力不足で本当に申し訳御座いません。
Normal modeとDynamicHTML modeの両方で使用したいのですが、
具体的に何行目にそれらを組み込めば宜しいのでしょうか?教えてくださいませ。
また、(大変失礼で申しわけありません)>>196様のと>>197様のではどちらが正しいのでしょうか?
お手数かけてすみません。どうか宜しくお願いいたします。
0199nobodyさん02/10/03 14:57ID:???
全く見てないけど。

> 色々いじってみましたが

どういじってみたのかを示してみれば?
0200nobodyさん02/10/03 15:42ID:???
この掲示板のパスワード入力を不可にしたいんですが、
どうすればいいでしょうか?
あと投稿語に「ありがとうございました」ってでるので
それも表示させたくないんですけど…やりかた教えてください。
http://www.cgi-down.com/cgi/imodebbs.html
0201 ◆9G12fmecqU 02/10/03 16:30ID:uq/PQZBf
>>199
はい。
えっと、いじったと言うか…ただコピペして放り込んだだけなんですが、
>>196様や>>197様の書いたのを154行目の周辺、187行目の周辺に放り込んで
何回か試してみましたがいずれも上手くいかなかったんです…。
他には全然分からないのです。
…どこにどういう形で入れるのか教えてくださいませ。
教えて君で申しわけありません。どうぞ宜しくお願いいたします。
0202nobodyさん02/10/03 16:30ID:???
消すだけじゃダメなんか?
0203nobodyさん02/10/03 16:37ID:???
>>201 コピペならコピペと正直に書かないと

っつーかコピペじゃ無理だろ
if 文を知らないってことか?
0204 ◆9G12fmecqU 02/10/03 16:43ID:uq/PQZBf
>>203
ゴメンなさい…。バカみたいで書けませんでした。ゴメンなさい。
if文とかそう言うのなんにも分からないです。HTMLしか分からないです。
本当に申しわけないです。どうかご教授ください…。
0205その102/10/03 18:52ID:eT3P8zNo
先頭付近に
----------------------------------
# 1スレッドあたりに書き込めるレス件数
$max_res = "100";
----------------------------------
0206その202/10/03 18:52ID:eT3P8zNo
----------------------------------
sub reswindow
{
#追加
if($tres[$number] <= $max_res) {
------------------------------------
0207その302/10/03 18:54ID:eT3P8zNo
----------------------------------
&footer_menu;
print "\t</Td></Tr></Table>\n";
print "\t</TD></TR></TABLE>\n";
print "<br>\n";
}
#ここから
}else {
print "\t</td></tr>\n</table>\n\n";
print '<TABLE border="0" cellpadding="10" cellspacing="1" bgcolor="#000000"><TBODY>';
print '<TR><TD bgcolor="#ffffff"><B>レス数が'.$max_res.'を超えたためこのスレッドには投稿できません。<BR>必要に応じて新しいスレッドを立ててください。</B></TD></TR></TBODY></TABLE>';
&footer_menu;

print "\t</Td></Tr></Table>\n";
print "\t</TD></TR></TABLE>\n";
print "<br>\n";
}
#ここまで追加
}
sub footer_menu
--------------------------------
以上
0208nobodyさん02/10/03 19:20ID:???
>>200

ダウンロードして解凍して読めってか?
氏んでくれ。

全く見てないけど、多分、

if ($pass != ""){&error}

みたいなところがあったらそこをエスケープしる。
書き込み後のは
「ありがとうございました」
をファイル内から検索してそこをlocationでトップに飛ばすようにしる。
0209 ◆9G12fmecqU 02/10/03 21:45ID:uq/PQZBf
>>205-207
有り難う御座いました!!出来ました♪
レスが何件でも出来るようにアレンジまでして頂いて、本当に感謝のきわみです。
嬉しいです!!本当に有り難う御座いました!!

でも一つおかしいところがありました…。(汗)
えっと、通常のはいいんですが、『レスを全部読む』をクリックすると、
そっちの方は限界をすぎても正常どおり返信フォームが現れてしまうのです。(汗)

これを直すことは出来ませんでしょうか?
再三にわたりお手数をかけて申しわけありません。
どうか、宜しくお願いいたします。

↓改造後レタリングエンジン
http://xxx.vis.ne.jp/a/ealis_let-topic_icon2.txt
↓掲示板
http://xxx.vis.ne.jp/a/ealis.cgi
0210nobodyさん02/10/03 21:46ID:???
>>◆9G12fmecqU
>>1読んだか?
ここは一から十まで全て人任せで改造してもらえる便利な場所ってわけじゃ
ないんだけどな。

#================================
# スレッドの説明
#================================

「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
0211 ◆9G12fmecqU 02/10/03 21:56ID:uq/PQZBf
>>210
た、大変もうしわけ御座いません。
改造していただけて、うれしくて調子にのってしまいました。

本当にゴメンなさい…。
これからはこのようなこと無いように気をつけます。
お気を悪くさせてしまい、本当に申し訳御座いませんでした。

考えていただいた全ての皆様、本当に有り難う御座いました。


では失礼します…。
0212nobodyさん02/10/03 22:01ID:qJG4DIFH
10桁トリップの生成コードってどこかな?
0213nobodyさん02/10/03 22:05ID:???
>>212
10桁も8桁も生成コードは同じだろ
0214nobodyさん02/10/03 22:05ID:???
>>211
自分でやってみてわからない所を聞く。
…なら歓迎なんだけどね。

自分でやる気が無い奴に答えてたらそんな奴ばかりが
集まるようになって大変な事になるのよ。
0215nobodyさん02/10/03 22:44ID:???
>>213
同じだった。すまんこ。
021619002/10/04 00:05ID:8sSFu4uX
書き込みログが残って邪魔なんです。。
思い当たる所はいじってみたんですが変わりませんでした。
ちなみにフレーム解除画面では残りません。
いじったのはtableやstyleなど外観だけです。
どの辺が原因かだけでも(クッキー関係かautoclear関係か)
教えてください。
0217nobodyさん02/10/04 02:28ID:???
>>190==216
発言消去にクッキーは使ってない。
それにHTMLやJavaScript等のクライアントサイドの問題だから
板違いじゃない?
0218nobodyさん02/10/04 05:12ID:???
if($DQN == "190"){&error("itteyoshi");}

でいけるんじゃないかな。
021920002/10/04 11:42ID:???
ごめんなさい。200です。
一応設置してみましたけど、中身みてもよくわかんないです。
パスワード入れなくても書き込みできるのと、
書き込み後のありがとうございましたを表示しなくするの教えてください。
http://www.385ch.tv/cgi/i-modebbs/imodebbs.cgi
0220nobodyさん02/10/04 12:36ID:???
>>200

パスワードのチェック
328行目
if ($FORM{'pwd'} !~ /^[0-9a-zA-Z]+$/) { &error("削除キーは半角英数字で入力して下さい。"); }
を削除

投稿後のお礼表示
445行目の
&html_ok($flag);

print "location: $cgifile\n\n";
に変更する。
でも多分i-modeからの投稿だと駄目かもしれない。

検証がPCでしか出来なかったから後は自分でなんとかしてちょ。

中途半端な返答でスマソ
022120002/10/04 13:23ID:???
>>220
ありがとうございます。出来ました。
あと、投稿を表示してる画面で、PCの画像やケータイの画像の
非表示したいのでがうまくいかないです。画像非表示にするかわりに、
文字で機種表示したいのですが…お手数かけます。
022220002/10/04 13:31ID:???
あと、iモードから投稿したのですが、
無効なデータを受信しましたってエラーがでます><
022322002/10/04 14:05ID:???
>>200
i-mode対応
445行目を元に戻して &html_ok($flag);

450行目の &html_header; を削除する。
453行目の
print "登録ありがとうございました。<br><br>\n";
print "<a href=\"$cgifile\">『掲示板へ戻る』</a><br>\n";
を &html_view; に変える。

456行目 print "<div align=\"center\"><br><br><br><br>\n"; の上に
&html_header; を入れる。

460行目を
print "location: $cgifile\n\n";
exit;
に変える。

記事を変更修正したときのメッセージも飛ばすのなら
458行目も同じ上の460行目に書いたものと同じものに変える。

以上の改造でi-modeで投稿しても確認画面の表示はしないはずです。
確認画面は sub html_ok で行われていますのでそこを重点的に改造するということです。
サブルーチン中にif文が幾つかありますが、先頭の if (index($agent, "DoCoMo/") == 0 || index($agent, "J-PHONE/") == 0) でi-modeか否かを判定しているようなので、
yesなら真下の命令をnoなら次のelseの中へと誘導されています。
しかし、if文の上に&html_headerで生成されるhtml(画面)の上部が呼び出しがかけれら生成されていますので生成(呼び出)されるタイミングをずらします。
これで必要に応じて呼びにいくような形になりました。
022422002/10/04 14:05ID:???
iconの変更はかなりお手間がかかりそうなのでパスさせてください。
機種を判別してそれを数値で記録しているようなので数値に対応したメッセージを出すように改造すればいいです。
どこかに数値に対応した配列が格納されていると思いますのでその中身をメッセージにして呼び出しているところの周りが恐らくimgタグで囲まれていると思います。
ですので、それぞれのポイントをimgタグではなくただの文章として表示(imgタグを抹消)することで解決できると思います。

私が出来るのはここまでです。
一応解りやすいよう解説も書きましたが、あくまで暇なので丁寧にしただけであって常にこのような対応が受けられると思わないほうがいいです。
それと、もう少し基礎というか少しでも勉強してください。
常識で考えれば「パスが無くても投稿出来る」ということは、パスが無いときはエラーのメッセージを出しているところが怪しいと考えるはずです。
ですから、エラー時のメッセージをCGIプログラム中から探し出してそこから流れの逆を辿っていくということくらいは出来るでしょう。

022522002/10/04 14:08ID:???
i-modeでまたエラーが出たら言ってください。
参考程度に改造付近のプログラムはこうなります。

$COOKIE{'mail'} = $FORM{'mail'};
$COOKIE{'hpurl'} = $FORM{'hpurl'};
&html_ok($flag);
}
# ++++++++++++++
# [登録完了ページ表示]
sub html_ok {
$change = $_[0];
if (index($agent, "DoCoMo/") == 0 || index($agent, "J-PHONE/") == 0) {
&html_view;
print "登録ありがとうございました。<br><br>\n";
print "<a href=\"$cgifile\">『掲示板へ戻る』</a><br>\n";
} else {
print "<div align=\"center\"><br><br><br><br>\n";
if($change) {
print "記事の変更を受け付けました。<br><br><br><br><br><br>\n";
} else {
print "location: $cgifile\n\n";
exit;
}
print "<a href=\"$cgifile\">『掲示板に戻る』</a><br>\n";

それじゃまた。

(丸写しでもいいだけどね(汗(気づくかな?))
022622002/10/04 14:19ID:???
>>200
私も相当な暇人だよな。

OSイメージの非表示
212行目の中の <img src=\"$os_gif\" align=\"absmiddle\" width=\"$os_wid\" height=\"$os_hei\" border=\"0\"> を削除する。

機種名はブラウザ(OS)として出てるでしょ?
そういうのは駄目かな?
022722002/10/04 14:31ID:???
>>200
ゴメソ嘘書いちまった。(汗

アイコン表示

184行目付近で投稿内容のデータを見て判別しているので

if ($magent !~ "DoCoMo/" && $magent !~ "J-PHONE/") {
print "PC<img src=\"$spa_gif\" width=\"$spa_wid\" height=\"$spa_hei\" border=\"0\">\n";
} elsif($magent =~ "DoCoMo/" && $magent !~ "J-PHONE/") {
print "DoCoMo<img src=\"$spa_gif\" width=\"$spa_wid\" height=\"#spa_hei\" border=\"0\">\n";
} else {
print "J-PHONE<img src=\"$spa_gif\" width=\"$spa_wid\" height=\"#spa_hei\" border=\"0\">\n";
}

に変えてください。
2,3行増えてますがJ-PHNEとi-modeとを区別すために増やしました。

いい加減疲れたよ、これでいいかいな?
022820002/10/04 14:31ID:???
みなさんありがとうございます。
こんなにいっぱい変えられるんですね…感動しました!
教えてくれた皆さんホントにありがとうです。
いまチクチクいじってますが、また質問するかも…シツコイですね・・><
022920002/10/04 15:52ID:???
>>225
書き込むと
エラーでちゃいます。
023022002/10/04 16:11ID:???
きちんと動いているが?
いじりしくじっただけだろ。
023120002/10/04 16:28ID:???
>>230
224のやつをいれると書き込み後エラーがでてしまうのです…
設定エラーとかで
023222002/10/04 16:42ID:???
i-modeでエラーが出るの?
一応ねどうんな状況でエラーが出たか書いてもらわないときついです。

で、バグあったから直したの書いときます。
sub html_ok {
$change = $_[0];
if (index($agent, "DoCoMo/") == 0 || index($agent, "J-PHONE/") == 0) {
&html_view;
} else {
if($change) {
print &html_header;
print "<div align=\"center\"><br><br><br><br>\n";
print "記事の変更を受け付けました。<br><br><br><br><br><br>\n";
} else {
print "location: $cgifile\n\n";
exit;
}
print "<a href=\"$cgifile\">『掲示板に戻る』</a><br>\n";
print "</div>\n";
}
&html_footer;
exit;
}
&html_header; と もう一行の位置が変わりました。
かえとかないと修正した後の画面で変になりまする。
詳しく教えてくれるならもうちょっと付き合ってもいいよ。
023322002/10/04 16:45ID:???
何となく解った・・・。
漏れのミスだ。(汗

&html_view;

&html_view;exit;
にしてちょうだい。
023422002/10/04 16:59ID:???
スレ使いまくってスマソ・・・皆さん。

>>200

&html_view;exit;

の前に

@DATA = &read_file($datafile);
$agent=$ENV{'HTTP_USER_AGENT'};
$agent =~ s/\,//g;
&read_form;

を書かないと駄目な仕組みになっている模様。
023520002/10/04 17:02ID:???
>>234
動きました!@DATA = &read_file($datafile);
$agent=$ENV{'HTTP_USER_AGENT'};
$agent =~ s/\,//g;
&read_form;
↑入れないとダメって??
023622002/10/04 17:08ID:???
>>200
設定エラーってさ・・・属性の変更し忘れとかの鯖エラーでしょ・・・。
まぁいいや。

それいれとかないと新規投稿が見えない状態で表示されます。
投稿はされてるんだけどね。
って勝手に推測。
やっとくに越したことは無いと思うけど、ちゃんと動いてるならやらなくていいよ。
i-modeの環境が無いもんでね。
検証出来んのだわ。
すまんね。

@DATA = &read_file($datafile);
&read_form;

この2行だけでイイっぽい見た感じ。
023720002/10/04 17:28ID:???
>>220
こんな初心者につきあってくれてありがとうございます。
また現われます!
その前にもうちょっと勉強してきますね!
023822002/10/04 17:33ID:???
>>200
逝ってらっさい。

漏れもヘタレだから大したことは出来ないけど、勉強してきます。


今携帯持ってきて動かしてみたけど上のレスの追加2行はいらんみたいね。
んじゃそういうことで乙彼さん。
0239nobodyさん02/10/04 19:43ID:???
なんとなく許せない200がいるスレはここですか?
0240nobodyさん02/10/04 20:18ID:???
>>239 同士発見
0241nobodyさん02/10/05 21:30ID:???
ウフ♥
0242たく02/10/06 00:56ID:ND83c5Mp
http://goa.cside.to/review/momoco.cgi?btype=docomo&mode=tp&ord=new&page=1&file=20021005044342

この掲示板の投稿フォームで<select></select>の中から選んだ内容を
コメント本文に書き込ませたいんですけどうまくできませんでした…

本文には
raiting:<改行>
★★★★<改行>
コメント内容

というような感じにしたいんですけど、
これはフォームをいじるだけではダメで
スクリプトも変えなきゃダメですか?
0243nobodyさん02/10/06 01:02ID:???
0244nobodyさん02/10/06 01:34ID:???
>>242

そんなこともできないで商売ができると思うな
0245たく02/10/06 01:46ID:ND83c5Mp
商売って?してないすけど。。
0246nobodyさん02/10/06 04:00ID:???
逆切れかよ。
0247nobodyさん02/10/15 17:04ID:???
ごめんなさい、スレ違いかも知れないんですけれど、
http://ayu.csidenet.com/
こちらの
http://ayu.csidenet.com/cgi/whiteforum.html?
ここで配布されているWhite Forumに文字色選択機能を付けたいのです。出来れば、それぞれのフォーラムに別々の色を最低でも10コくらいで選べるようにしたいんです。ラジオボタンで選ぶ形だとだと凄く嬉しいんですけど。
でもちょっと見てみたんですけれど、なんだかplとかがいっぱいあって、設置するのは出来たんですが改造するには私には難しいんじゃないかと思って…。
私はほんとに、簡単な改造くらいしか出来ないんです。
こういうのって、お仕事として改造して下さるところとかあるんでしょうか?
0248nobodyさん02/10/16 04:50ID:???
age
0249nobodyさん02/10/16 22:09ID:vfA8qHJl
KENT-WEBのYY-CHATにJavaの記述を施して
「新規発言のみを読み込む機能」を付けたいのだけれど
何でもいいのでアドバイスいただけませんか?
0250nobodyさん02/10/17 07:50ID:???
もうkentの見た目改造はいいよ・・・
0251nobodyさん02/10/18 05:17ID:???
あげ
0252 02/10/18 13:26ID:W7G/zwxh
ttp://kensaku.s13.xrea.com/tosbbs_1.8.zip 
TOS BBSにアイコン機能をつけたいのですが。。
0253s02/10/18 13:34ID:efsLfX8l
http://yahooo.s2.x-beat.com/
0254nobodyさん02/10/18 15:12ID:???
>>252
勝手に付けてくれ。
025525202/10/18 22:38ID:???
なら携帯対応板にtosbbsのID機能をhttp://www.url-battle.com/cgi/で交付されてる板に移植したいのですが
0256nobodyさん02/10/19 19:03ID:???
>>255
勝手に移植してくれ。
0257nobodyさん02/10/20 00:35ID:???
あげ
0258太郎02/10/20 00:38ID:wHfnl2c6
アンケートに答えても結構ですよ
http://www31.tok2.com/home/sanche/cgi-bin/ankeet/enq.cgi?
0259nobodyさん02/10/20 00:39ID:???
>>258
グロいな
0260nobodyさん02/10/20 18:39ID:RVEI8NIX
DSFBOARDに昇進機能を付ける方法を教えれ!
これ→http://rpg-center.net/bbs/dsfbbs/yybbs.cgi

http://cuo.press.ne.jp/cgi/b07_1.html
この方法は通用しませんでした。
0261nobodyさん02/10/20 18:58ID:???
それわ残念でした。
0262nobodyさん02/10/23 00:21ID:y0AW0VEm
ealisっていう掲示板に2ch風のトリップ機能とアイコンウプロダ付けたいんですが
詳細キボンヌ
0263nobodyさん02/10/23 00:54ID:???
URL くらい書けや。
0264nobodyさん02/10/23 13:19ID:???
>>262
そういえば、昔
ttp://www.prologue.info/web/
で、そういうの再配布してたな。
ちょっとオリジナル版作者とのいざこざがあって配布やめているらしいが。
0265nobodyさん02/10/23 15:49ID:y0AW0VEm
ealisっていう掲示板に2ch風のトリップ機能とアイコンウプロダ付けたいんですが
詳細キボンヌ
スクリプト配布場所↓
http://kano.feena.jp/erial/
0266nobodyさん02/10/23 17:04ID:???
自分で書けや。
0267nobodyさん02/10/23 19:33ID:???
とりっぷなんて 3分でできるだろ。
0268nobodyさん02/10/25 01:14ID:???
楽しいサ〜バ〜エラーで配布されている、
http://www2u.biglobe.ne.jp/~micky/saver/dl/docum.htm
このスクリプトを連続登校可能にしたいのですが、
どこをどう削ったら良いのか解りませんでした。
お手数ですが、どの辺を削れば良いか教えて下さい。
よろしくお願いします。

そこの管理人さん恐いので聞けませんでした。
0269nobodyさん02/10/25 01:40ID:???
>>268 以下の2行をコメントしすればいいかも

    if ($ip eq $ips)
        { &html_list; &html_main; exit; }
027026902/10/25 01:41ID:???
追記:
51・52行目
027126802/10/25 07:48ID:???
>268=270
うまくいきました!
今、テストして動作も確認しましたが、問題ナシです。
教えて下さってありがとうございました。
0272nobodyさん02/10/25 17:30ID:LJRnzKMg
ealisっていう掲示板に2ch風のトリップ機能とアイコンウプロダ付けたいんですが
詳細キボンヌ
スクリプト配布場所↓
http://kano.feena.jp/erial/
0273nobodyさん02/10/25 18:17ID:???
はい、次〜
0274nobodyさん02/10/25 23:21ID:HxbWw97s
>>272
ソース落とすのめんどくさいんでどっかにテキストで上げれ。

トリップ部分のサブルーチンはこんなんで。
デコードの後ろあたりに変数名変えて入れりゃいいかと。
sub make_trip{
$name =~ s/◆/◇/g; #偽者対策

$k = substr($name,index($name,'#')+1);
$s = substr(substr($k,0,8).'H.', 1, 2);
$s =~ s/[^\.-z]/\./go;
$s =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$t = substr(crypt($k, $s), -8);
$name =~ s/#(\S+)/<\/b> ◆$t <b>/g;
}
0275nobodyさん02/10/25 23:52ID:???
粘着にマジレスか。おめでてぇな。
0276nobodyさん02/10/26 12:36ID:euzUnDiz
The RoomさんのCGIにkentさんのCGIのようなメール送信機能をつけたいんですが何処をどうすればいいか教えてください。
今のログを残したいのでこのCGIに送信機能をつけたいんです。
http://www.starcity.ne.jp/~ars/cgi-bin/0test/treebbs.txt←ソースです

よろしくお願いします。
0277nobodyさん02/10/26 18:39ID:???
http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/ にあった、
pastlog.cgiというスクリプトを使っています。
表示対象外の拡張子や表示対象外のブラウザは設定できるようになって
いるのですが、対象外のIPを設定できません。
元ソース↓
http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/pastlog.html

#対象外IP
@extip = ('211.xxx.xx.xx','219.xx.xxx.xx','216.xxx.x.xxx');
は埋め込んでみたのですが、どこで対象外を判断したらいいものか
判りません。
アドバイスお願いします。
027827702/10/26 19:25ID:M0gOphaS
>>276
print "<div align=center><br>以下の記事を書き込みました。〜
の近く(少し前とか少し後とか)で&adminmalを呼んでください。超適当だけど。

sub adminmail
{
$sendto = 'xxxx@xxxx.ne.jp'; # 宛先
$sendmail = '/usr/sbin/sendmail';# sendmailのパス

if (open(MAIL,"| $sendmail -t"))
{
print MAIL "To: $sendto\n";
print MAIL "Subject: [mail from treebbs]\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "-----------------------------------\n";
print MAIL "TIME : $nowtime\n";
print MAIL "NAME : $name\n";
print MAIL "SUBJECT : $subject\n";
print MAIL "MAIL : $mail\n";
print MAIL "URL : $url\n";
print MAIL "DELKEY : $delkey\n";
print MAIL "A3 : $a3\n";
print MAIL "IP : $ip\n";
print MAIL "HOST : $host\n";
print MAIL "MESSAGE :\n";
print MAIL "$msg\n";
close(MAIL);
}
}
027927602/10/26 20:03ID:euzUnDiz
できました〜ありがとうございました。
0280nobodyさん02/10/27 00:26ID:vhLCr/NY
>>277
表示対象ログ抜き出し
のあたりじゃないかな。

試してないけど。
028127702/10/27 12:45ID:ie8xxqvt
280さん、レスありがとうございます。
PartGet(表示対象ログ抜き出し) の中にロジックを追加してみたのですが、
  if ( $brw =~ /$exip/ )
のところで、何を指定したらIPになるのか、どうも判りません。

#対象外IP
@exips = ('211.xxx.xx.xx','219.xx.xxx.xx','216.xxx.x.xxx');

sub PartGet{
for ($i = $lnum; $i < $lognum; $i++){
 $rec = @inrec[$i];
 my @ldata = split(/\"/,$rec);
 my ($method,$file) = split(/ /,@ldata[1]); # メソッド,アクセスファイル
 my ($dmy,$cd) = split(/ /,@ldata[2]); # apacheのコード
 my $brw = @ldata[5]; # ブラウザ

 # 指定IPアドレスを無視を無視 ※ここから追加※
 $flg = 1;
 foreach $exip (@exips){
  #※↓ $brwじゃなくて、何を指定していいのかわかりません ※※
  if ( $brw =~ /$exip/ ){
    $flg = 0; # 対象外IP
    last;
  }
 }
 if ( $flg == 0 ) { next;}

オリジナルソース http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/pastlog.html
0282nobodyさん02/10/27 12:56ID:???
>>281
@exips= (); ←このリストに指定したいIPを追加するんじゃない?

一応、以下の行は変更したほうがいいのでは?
if ( $brw =~ /$exip/ ){ ⇒ if ($brw=~ /^\E$exip\Q$/){
028328202/10/27 12:57ID:???
逆だった

if ($brw=~ /^\Q$exip\E$/){
0284277,28102/10/27 13:16ID:???
282さん、レスありがとうございます。
$brwにはブラウザが入ってしまうので、(ソースのコメントに
書いてありました)
$brwの換わりに別な変数を作って比較元のIPを入れなければ
ダメなようです。でもそこがわからない・・・。
正規表現については、勉強し直します。
028528202/10/27 13:36ID:???
>>284
あー、そういうことか・・・

$brw の代わりに $ENV{'REMOTE_ADDR'} でどう?
028627702/10/27 14:23ID:ie8xxqvt
282さん、うまく説明できなくて申し訳ありません。
お付き合いありがとうございます。

$ENV{'REMOTE_ADDR'}はCGIにアクセスした人のIPですよね。
apacheの生ログから必要な行だけ取り出すCGIなので、現在CGIにアクセス
したIPじゃなくて既にログに記録されてるIPを取り出そうというところで
混乱しているところです。
apacheの解説のサイトに逝ってきます。
0287nobodyさん02/10/27 23:02ID:???
http://www.big.or.jp/~talk/t-club/soft/mini_r6/imgboard_n.cgi
このあぷろだなんですが
CGIで表示した時にUPされたままの画像が表示されます
これはちょっと回線がつらいんで
UPされたら自動でサムネイルを作成させたいとおもうんですが
そういう改造って簡単にできますか?
028828702/10/27 23:19ID:???
それかjpeg/gif/pngをリサイズして保存させる
ライブラリー無いでしょうか?
0289nobodyさん02/10/28 01:09ID:7x9qSZkS
現在の閲覧者を得るにはどうすればいいの?
0290nobodyさん02/10/28 01:59ID:QQJw3Q/J
ちっこいウィンドウがいっぱい出てきて止まらなくなる奴教えて!
0291その302/10/28 10:32ID:0jGJU7lS
>>288
RedHat Linux(i386)用ならCでコンパイルしたのがある。
0292その302/10/28 10:46ID:???
>>288
http://fitness.s7.xrea.com/index3.php
からダウソしてjpegなら

$Sorce_File = "img-box/img123456789.jpg"; #元画像名
$Destination_File = "thumbnail/img123456789.jpg"; #縮小画像名
$Resize_Ratio = 0.5; #半分に縮小
system("./rejpeg $Sorce_File $IDestination_file $Resize_Ratio");

みたいに使う。
0293nobodyさん02/10/28 16:32ID:???
>>290
立ち去れ
029428802/10/28 23:45ID:???
>>291 292
どもありがとうございます。
できたみたいです。

あと同じCGIなんですが
投稿順にならべるっていうのがあるんですが
最新3つしか投稿順になりません
どこをいじれば全部にちゃんねるみたいな
最終投稿順になるんでしょうか?
0295nobodyさん02/11/01 14:47ID:OCxiXTU1
http://www.nurs.or.jp/~b3/
ここで配布してる
サンプル↓
http://www.nurs.or.jp/~b3/styx/styx/styx.cgi
ダウンロード↓
http://www.nurs.or.jp/~b3/cgi/txcount/dlcount.cgi
この掲示板cgiに串規制を入れたいのですが、
ソースをみたら沢山のファイルに分かれていて
どの辺に入れたら一番よいのかいまいちわかりません。
一応KENTのcgiは解説サイトとか見ながらいじったことありますが
このcgiは見たこと無い記述も多くて判りにくいです。

どの辺をいじればいいのかのヒントだけでも良いので教えてください。
お願いします。

それとこのcgiで良く出てくる::というのと、冒頭のuse vars、
この辺のがなんとなくわかりそうでわかりません。
検索して調べているのですが難解なサイトが多くて困ってます。
わかりやすい参考になるサイトとかあったら教えてください。
0296_02/11/02 03:40ID:???
検索してたらPART1のキャッシュが見付かった
http://mimizun.mine.nu:81/2chlog/perl/tako.2ch.net/perl/dat/958370869.html
0297nobodyさん02/11/04 07:28ID:5+umhhBG
>>295
だから

ダウンロードしなくても済むようにテキストでソースうpして張れと何度言ったら判るんだぁこのバカチンがぁ!
029829702/11/04 07:37ID:5+umhhBG
>>295
でただ串規制といわれると読みこみも規制するのか
書き込みだけ規制するのかわからないけど、
普通に考えて書き込みだけ規制するとしたらpost.plのなかの
sub host_readのなかでいいんでない?串規制にもいろいろあるけど。
0299nobodyさん02/11/04 11:10ID:???
>>289
http://isweb23.infoseek.co.jp/play/cardplay/cgi-lab.shtml
ココに現在の訪問数を表示するCGIってのがあった。
しょうも無いクソみたいなヤシばっかしだったけどゴミ箱にはワラタ。
030029502/11/04 21:55ID:???
>>298
この連休中でいろいろ調べてやってみてますた。
処理の流れがなかなかわからなくて、しらみつぶしに見ていって
多重投稿を禁止するルーチンがあったのでその辺からいじってみてます。

>>297
こーいうファイルがいくつにも分かれているcgiはどうするのが一番よいのでしょうか?
0301あい02/11/04 23:06ID:G/C4foN1

携帯用のランキングCGIプログラムを捜しています。
何卒お願いします。
0302nobodyさん02/11/04 23:09ID:???
>301

ここにもいたか!
マルチはウザイんだよ!
0303冗談解らないnobodyさんへ02/11/04 23:22ID:G/C4foN1
携帯用のランキングCGIを捜しています。
何卒お願いします。
0304 ◆CxWBqy7wZQ 02/11/05 18:29ID:???
303>>CGIスクリプトを検索できるサイト、探せばいくつかあるよ。
いってみたら。
0305nobodyさん02/11/05 19:12ID:???
携帯だぞ、携帯
アフォじゃねぇのか?

マルチは無視しろよ。
0306nobodyさん02/11/05 22:03ID:5STybYDn
KENT WEBのチャットは、入室しているときのフレームと投稿フォームをローカルに保存してちょっと改造すれば、それを使って投稿できますよね(説明が下手ですみません)
その投稿フォームの中に書いてある
「<option value="#RRGGBB">」などを
「<option value="#000000 style=&"font-size:2em&"">」のようにすれば、CSSが使えてしまいます。
それができないようにしたいのですが、うまくいきません。

ワイワイチャット(ttp://kent-web.com/chat/yychat.html)を例に、改造方法を教えていただけないでしょうか?
030730602/11/05 22:05ID:???
ちょっと文字参照の使い方を間違えました…
> 「<option value="#000000 style=&"font-size:2em&"">」のようにすれば、CSSが使えてしまいます。
ではなくて
> 「<option value="#000000 style=&quot;font-size:2em&quot;">」のようにすれば、CSSが使えてしまいます。
です。

よろしくお願いします。
0308nobodyさん02/11/05 22:20ID:???
>>306
最新バージョンでは使えないんじゃない。
s/&/&amp;/
030930602/11/05 22:45ID:???
>>308さん
ありがとうございます。
> s/ //g
> s/&/&/g
で解決したようです(これを、上下逆にしてしまったらいけませんけど)
0310nobodyさん02/11/07 19:15ID:wiJfESIx
質問させていただきます。宜しくお願いします。

ttp://www.kent-web.com/chat/robo.html
(スクリプト説明)

ttp://www.kent-web.com/chat/robo/robo.gif
(チャット画面サンプル)


↑この人工知能型チャットスクリプトを、フレーム表示ではなく、
 一画面に発言フォームとログが出るように作り直したいんです。

簡単なHTMLなら書けるし、BBSの背景色を変える程度のCGI改造なら出来るので、
わかるかなーと思ってソースを見てみましたが、さっぱり分かりません。
どこをどう書き直したら、フレーム表示ではなく、一画面表示となるでしょうか?
031131002/11/07 19:21ID:wiJfESIx
>>310
怪しいなと思っているのは、以下の部分なのですが、src以下がURLでは無いので、
フレームを解除した時にどう書くべきなのかが分からないんです。

#------------------#
# フレームを生成 #
#------------------#
sub frame {
# クッキーを取得
&get_cookie;

# クッキーにリロード時間/行数のない場合は初期値を代入
if ($ck{'retime'} eq "") { $ck{'retime'} = $re_sec; }
if ($ck{'line'} eq "") { $ck{'line'} = $line[1]; }

&header;
print <<"EOM";
<frameset rows="147,*">
<frame name="form" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}">
<frame name="log" src="$script?retime=$ck{'retime'}&line=$ck{'line'}">
<noframes>
<body>
フレーム非対応のブラウザの方は利用できません
</body></noframes>
</frameset>
</html>
EOM
exit;
}
031231002/11/07 19:26ID:wiJfESIx
>>310
スクリプトのtxt版はここにあります。

ttp://www.devicestyle.co.jp/robo.txt

よろしくお願いします……
0313nobodyさん02/11/07 19:32ID:???
とりあえず動けばいいって感じで
#============#
# 設定完了 #
#============#

$string = &decode;
&deny;
#if (!$string) { &frame; }-----------------削除またはコメントに
if ($mode eq 'form') { &form1; }
if ($mode eq 'into') { ®ist('into'); }#-----変更
if ($in{'comment'} && $mode eq 'msg') { ®ist('comment'); }
if ($mode eq 'bye') { &byebye; }
&form2;#---------------------------追加
&log_view;
0314続き02/11/07 19:36ID:???
#----------------------------#
# フォーム2 : 発言フォーム #
#----------------------------#
sub form2 {
#®ist('into');-------削除またはコメント

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

print "発言自動消去</td></form></table>\n";#</body>\n</html>\n";--変更
#exit;--------------------削除かコメント
}

#--------------#
# 記事表示部 #
#--------------#
sub log_view {
#&header;----------------削除かコメント

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以上
0315続き02/11/07 19:37ID:???
最初の入室時のみ
robo.cgi?mode=form
でアクセスしないといけない。
0316続き02/11/07 19:38ID:???
® = &reg です。
0317bery02/11/07 20:34ID:jtBNkMoC
はじめまして、わからないことがあったので質問させて頂きます。

ttp://mo-mo.vis.ne.jp/1sample/t/ud_meisai/mo-erv002.cgi(設置例)

ttp://mo-mo.vis.ne.jp/cgiskin/bbs/mo-erv002pkm.htm(↑の説明)


この背景(画像)を表示を一個でスクロールしないようにしたいのです。
HTMLならできるんですが…CGIでやってみようにも全くわかりません。
コメント記入部の方(左)側の画像はフレームの中央部。
右のログ表示部分はフレームの左上部分に画像を表示したいんです。

CGIでは無理なのでしょうか…?
0318nobodyさん02/11/07 21:51ID:LYTlqOr8
>>317
それはCGIの改造ではなくCSSだろ?
0319bery02/11/07 23:02ID:jtBNkMoC
あ、そうなんですかすみません(^^;
そちらの方で質問してみます…
032031002/11/07 23:56ID:Tm6hHAQP
>>313-316
ありがとうございます!

すみません、確認させて頂きたいんですが、
書いて頂いたスクリプトの中の「?」はそのままでいいんでしょうか?
(例:>313の「$string=?」等)

それと、初心者で申し訳ないんですが、
>>316の意味が分かりませんでした。

頂いたスクリプトを、そのまま該当箇所にコピペしてみましたが、
internal server errorが出てしまいました。
0321nobodyさん02/11/08 03:36ID:KKJBpaNF
皆様はじめまして、とほほさんのwwwserch.cgiについて質問させてください。
現在wwwserchを実際に稼動しているのですが、
データ量が多くなるにつれ表示件数が膨大になって困っています。
そこで表示結果を分割して表示させたいのです。
(10件ずつ表示して「次へ」のリンクで次の10件を表示といった感じで・・)
このような事は可能でしょうか?
可能なら何処をどのように改造すれば良いかお知恵を拝借させてください。。
なんとか自力でしようと頑張ってみたもののサッパリで・・
宜しくおねがいします。。

此方にソースをtxtでアップしてみました↓
http://www.geocities.co.jp/Milano-Kotto/1097/wwwsrch.txt
032231002/11/08 11:04ID:By9No9AA
>>313-316
このスクリプトを書いて下さった方、まだ見てらっしゃいますか?

>>320
の質問にお答え頂けると助かります……
厚かましくてすみません。
0323 02/11/08 11:46ID:???
これは本当らしいです。かなり選ぶのに参考になります。
ttp://isweb19.infoseek.co.jp/computer/atkinson/atkinson/osusume_book_ryouhou.htm
0324続き02/11/08 16:36ID:???
>>322
何か&が参照されちゃって、もう一回
#============#
# 設定完了 #
#============#

$string = &decode;
&deny;
if (!$string) { &form1; }--------------------変更
#if ($mode eq 'form') { &form1; } ------------削除またはコメントに
if ($mode eq 'into') { &regist('into'); }#-----変更
if ($in{'comment'} && $mode eq 'msg') { &regist('comment'); }
if ($mode eq 'bye') { &byebye; }
&form2;#---------------------------追加
&log_view;
0325続き02/11/08 16:39ID:???
あとフォーム2で
target="log"
を削除する。(リロードのたびにウィンドウが開くため)
とりあえずなのでHTMLは変です。(</head>が2個になったり)
032631002/11/09 12:28ID:oFTHMvgO
>>324-325
四苦八苦しながらやってみたら、一画面で動きました!
とりあえず使う分には問題なさそうなので、HTMLの変な所は気にしないことにします。
どうもありがとうございました!
0327nobodyさん02/11/09 20:34ID:???
あの・・・マジで質問です
kent-webのaska.cgiにひみこーどをつけようと思うんですが
ほかの場所はうまくいったんですがここだけわからないんですよ
書き込み処理部分に

{ # 対フェイザーオンの場合は実際に発行されたコードかどうか照合
if ($FORM{'facheck2'} eq '') { &error('チェックコードエラー',"投稿コードが入力されてません(^^;;");
}
$dukecheck = $FORM{'facheck2'} . $FORM{'facheck3'};
if ( !open(DB,"$himicode_log") ) { &error('0'); }
@lines = <DB>;
close(DB);
$himikocheck=0;
foreach $line (@lines) {
chop($line);
if ($dukecheck eq $line) {
$himikocheck=1;
}
}
if ($himikocheck != 1) {
&error('x');
}
}
っていれたら、いくらひみこーどがあってても
チェックコードエラーってでてしまうんですよ
誰か教えてくれないでしょうか?
0328nobodyさん02/11/09 22:58ID:Y+NUqAmE
>>327
ウザイ
自分で考えろや豚野郎
二度と書き込むなボケ
0329perlド素人02/11/09 22:58ID:???
17氏スクリプトにdame処理を追加したいんですけど、
まったくわかりません…
どなたかやってみたことある方いらっしゃいますでしょうか?


…厨房質問なのでsage
0330nobodyさん02/11/10 00:06ID:???
>>329
おんぷちゃんねる
0331nobodyさん02/11/12 06:24ID:zpgICSVI
295のところにあったのですが
ttp://www.nurs.or.jp/~b3/scripts/proxy/
これを複数クライアント対応にできないでしょうか?
これを置いてあるところでは
数行書き換えるだけでできると書いてあるのですが
さっぱりわかりません・・・

これはperl串というものになるのですか?それともCGI串なのでしょうか。
ソースはリンク先に直接はってあります。
おながいします。
033233102/11/12 18:29ID:kBSIdPWX
説明が足りなかったようなので書き直します。
http://www.nurs.or.jp/~b3/scripts/proxy/
ここにある、CGI proxy(?)についてです。
リンク先に、ソースがそのまま貼ってあります。
多分100行無いと思います。

これは、IPが一致した一人のクライアントしか受け付けないのですが
これを複数のクライアントが接続できるようにしたいです。
forkしたあと、クライアント受付をすればよいのかもという所までは
思いついたのですが、どうすればよいのかわかりません。

教えてください。お願いします。
0333nobodyさん02/11/13 02:29ID:???
>>331
何に使うわけ?
ただ「串」という言葉に惹かれてるだけっぽいが。w
033433102/11/13 03:44ID:bEkh+4n6
>>333
そういうCGIを見つけたのは初めてなのでやってみたいだけという気持も大きいですけどw
ircで使えるみたいなので使おうかと。
0335nobodyさん02/11/13 03:58ID:???
自己責任でどうぞ。
0336nobodyさん02/11/14 00:25ID:???
kentさんのところのCGIなんですが
ttp://sugachan.dip.jp/img/imgboard.cgi
の一番下のように 10枚よりも多い場合は >>で最終ページに
飛ばせるようにするにはどうすればいいんでしょうか?
0337nobodyさん02/11/14 00:57ID:???
>>336
kentさんのところのCGIは、1個しかないの?
0338nobodyさん02/11/14 01:14ID:???
えっと もともとはJoyful NoteでもYYBBSでも
ページの枚数分だけ
出てきちゃいます
20ページ分のログがあったら
[1][2][3] 〜〜〜〜[18][19][20]
ログがたくさんあるとうっとうしいので
この表示そのものを消すことも考えたんですが
やっぱりあったほうが使いので
よろしくおねがいします
0339nobodyさん02/11/14 01:32ID:???
>>336
ところでそのURL
本当にKENTのなのか?
0340nobodyさん02/11/16 17:56ID:25GjLFjs
掲示板で、行頭に> があるとき、<blockquote>〜</blockquote>で
囲む方法を教えてください。
なるべくなら行頭に>がある複数行をまとめてくくりたいのですが。
0341nobodyさん02/11/16 23:16ID:???
$FORM{'comment'} =~ s/(<br>|^)(((&gt;|>)(?!&gt;[0-9]).*?<br>)+)(?!(>|>))/($_ = "$1<blockquote>$2") =~ s!^(.*)<br>$!$1!; "$_<\/blockquote>";/ge;

改行は既にbr,>は既に&gt;になっていると仮定して。
2ch式の>>1とかいうのを引用にしないようにというのも考慮。
だれかもっとスマートな方法ないですか?

実体参照どうなるのか知らないので&を大文字で書いておきました。

#なんかime.nuから飛んでくるし、うちのサイトにこの板のコピペでの書き込みが
#あったので見に来たら、これのスレに漏れのサイト載ってた・・・
0342nobodyさん02/11/16 23:21ID:???
あ、一箇所>になっちゃってる、&大文字にするの忘れた。
034334002/11/17 14:13ID:NOOOaxSv
>>341さんthaxx!!
0344_02/11/17 15:17ID:???
>>332
串ならそこら辺に売ってますが?
そんことも解らないスキルで串なんてほざくんじゃねぇ。
0345test ◆wSaCDPDEl2 02/11/18 00:06ID:???
YYBBSにトリップ昨日をつけたいのですが・・・
挫折。
わかる方宜しくおねがいします...
0346nobodyさん02/11/18 08:16ID:???
>>345

>>274のサブルーチンを一番下にでも追加。
あとは書込処理の所に
&make_trip;
とフォーム入力チェックの下にでも追加すればできると思われ。
0347nobodyさん02/11/18 14:19ID:???
>>345

どこかに書いてあった。
過去ログにもあるのでとりあえず読めと言いたいが、親切な漏れはその内容をコピペする。

$name = "名無し#hogehoge";
$name =~s/#(.*)$/trip($1)/eg;
print $name;

sub trip {
my $str = shift;
my $salt = substr($str, 1, 2);
$salt =~ tr/\x00-\x20\x7B-\xFF/./;
$salt =~ tr/\x3A-\x40\x5B-\x60/A-Ga-f/;
return ' </b>◆' . substr(crypt($str, $salt), -8) . '<b>';
}

後は自分で考えろ!ヴォケが!!
0348test ◆wSaCDPDEl2 02/11/18 23:48ID:???
345でつ。
過去ログ漁ってませんでした(汗
激しくスマソ。

あと、良かったらWebPatioの奴記事の表示部分なんですが
Page: [1] [2] [3]
とか普通に移動メンドイんですょ・・
全部とかつけたいんですけど Doすれば・・・・
0349test ◆wSaCDPDEl2 02/11/18 23:48ID:???
あ、あげさせて下さい
0350nobodyさん02/11/19 18:14ID:/Dv7gUEP
もしがいしゅつでなければ教えてもらえる?
今日本屋で掲示板リデザインとかって新刊があって、
それにちらっと載ってた。
うろ覚えなんだけど、

$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';

if ($newtime >= ($time - $xtime)) { $vnewimg = $newimg } else { $vnewimg eq '' }

で、$time エポック秒を入れて、投稿時間(秒)の $xtime との差が指定の $hewtime より
大きいか小さいかで表示の有無を決定するらしい。
問題はエポック秒と投稿時間(秒)をどうやって取得するか。

kentのpetitbordで親投稿とレスにそれぞれ新着マークを表示させたいと思ってるので
ヒマか、ヒマじゃなくても物知らずにちょっと教えてやっかと思う有志がいればお願い。
0351nobodyさん02/11/19 18:17ID:/Dv7gUEP
$newtime = '60 * 60 * 24';

ってのはたしか60秒×60で1時間、それに×24で一日という設定。
0352nobodyさん02/11/19 18:32ID:???
petiboardのログに投稿時間がどういう形式で記録されているかですな。
あと
× eq
○ =
0353nobodyさん02/11/19 18:43ID:???
>>350
KENTのログは
$date = '2002/11/19 (火) 18:30';
みたいにして記録されてるから処理がめんどくさいな
0354nobodyさん02/11/19 18:49ID:/Dv7gUEP
>>352
えーと sprintf でフォーマットされてログに入るみたい。
このときフォーマットしない投稿時間(エポック秒)を一緒に非表示でログに記録して、
それとリアルタイムの比較するってのは無理かな?

>× eq
>○ =
指摘感謝。
0355nobodyさん02/11/19 18:50ID:/Dv7gUEP
>>353
>>354みたいなのはダメかな?
素人考えなんで問題外だったらスマソ。
0356nobodyさん02/11/19 22:42ID:???
epoch取得は
$hoge = time;
そういえばもう9桁じゃないんだね。。
0357nobodyさん02/11/20 03:03ID:XwDH5ZL+
$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';
$hoge = time;

if ($newtime <= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }

あとは$xtime(ログのエポック秒)を取得出来ればいいということですか?
>>353のお話だと面倒なようですが、なにか手があったら教えて下さい。
0358nobodyさん02/11/20 08:15ID:???
>>354の方法が一番いいと思う
0359nobodyさん02/11/20 12:42ID:bO+exC+I
>>358
了解です。

問題はどうやって比較するかなんですが、
この時点で俺の知識は限界です。
アイディアを出してくれる方がいたらお願いします。
0360nobodyさん02/11/20 13:05ID:???
こういうこと?

use Time::Local;
$date = '2002/11/19 (火) 18:30';
($year, $mon, $mday, $hour, $min)= $date=~ m!(\d+)/(\d+)/(\d+)\D+(\d+):(\d+)!;
$year-= 1900; $mon--;
$xtime= timelocal(0, $min, $hour, $mday, $mon, $year);

$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';
$hoge = time;

$vnewimg= $newtime <= $hoge - $xtime ? $newimg : '';
0361nobodyさん02/11/20 14:56ID:bO+exC+I
エポック秒をログに書き込ものはたとえばpetitだから色変更機能を取っ払うつもりで
$colorのところに$xtime(投稿時間)を書き込んめばログに10桁のエポック秒が入って、
あとはそれをどうやって$xtimeの変数に戻して
if ($newtime >= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }
を成立させるかってところですか?
0362nobodyさん02/11/20 16:48ID:???
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
0363nobodyさん02/11/20 16:55ID:VyhcjvPU
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
0364nobodyさん02/11/20 16:56ID:???
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
0365nobodyさん02/11/20 16:56ID:VyhcjvPU
すみません、なぜか作業中で投稿できなくなってしまったので
いろいろ試している間に投稿されてしまいました。すみません(;´Д`)
0366本件ですが・・・02/11/20 16:57ID:???

book-iの様なURL転送サービスのスクリプトを探しているのですが、どこかのシェアウェアらしいと言うことが分かりました。
なので自作したのですが、どういう風にすればいいか分からなくなりました。
アドバイスをお願いできないでしょうか?
0367nobodyさん02/11/20 17:05ID:aDlw2kvx
>>366
book-iってどこよ?
でURL転送サービスのスクリプトってのは転送する部分がほしいのか?
それとも転送サービスを受け付ける(ユーザ登録)システムがほしいのかどっちだ?
0368nobodyさん02/11/20 20:20ID:DRRYVgUE
失礼致します。一度CGI探してますスレに書き込みましたが
反応が無いので思い切って自分でやってみる事にしました。
http://www.appleple.com/cgi/ で配布されている a-News
というスクリプトを完全なテンプレートにしたいのですが
どこを変えていいのか解りません。宜しければご教授下さい。

メインスクリプト
http://mad_berry.tripod.co.jp/a-news.txt
セットアップデータ
http://mad_berry.tripod.co.jp/setup.txt
テンプレート
http://mad_berry.tripod.co.jp/template.txt
0369test ◆wSaCDPDEl2 02/11/20 22:05ID:???
>>347
#============#
# 設定完了 #
#============#
# メイン処理
&decode;
&make_trip;
&axs_check;
if ($mode eq "howto") { &howto; }
elsif ($mode eq "find") { &find; }
.............
&html_log;
..................
sub make_trip{
$name =~ s/◆/◇/g; #偽者対策

$k = substr($name,index($name,'#')+1);
$s = substr(substr($k,0,8).'H.', 1, 2);
$s =~ s/[^\.-z]/\./go;
$s =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$t = substr(crypt($k, $s), -8);
$name =~ s/#(\S+)/<\/b> ◆$t <b>/g;
}

#-----------------#
# URLエンコード #
#-----------------#
sub url_enc {
0370test ◆wSaCDPDEl2 02/11/20 22:06ID:???

YY-BBSがベースの掲示板に↑のようにやりましたが・・・。
テスト#test
などと投稿しても
そのままになってしまいます。
変数名などの変更する箇所とか挿入箇所が
間違ってますか?・・・
0371nobodyさん02/11/20 23:32ID:3WorW1PE
初心者ですみません。
ranklinkで
inページ、新着ページ等が作られていきますが
inページで順位の隣りに(位)と出したのですが
新着ページにも反映されてしまい、新着ですと
例=11/20位
の様になってしまいます。
どうか先輩方お知恵を下さい。
0372nobodyさん02/11/21 04:50ID:???
>>371

とりあえず市ね
0373nobodyさん02/11/21 08:34ID:Ht8hmAkY
>>370
KENTのForm デコードは
$in{'hogehoge'}
だよ。
0374nobodyさん02/11/21 14:37ID:???
>>367
http://www.google.com/search?num=1&q=book-i+jump
上記のサイトです。nifty等と同じで書き込み禁止の文字らしいので、
直接リンクが張れないのですが・・・

転送する部分は
ttp://upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
このようにして、htmlファイルを作成しようと思っています。

ユーザ登録システムを作りたいのですが、これから何をしていいか
分からなくなってしまって・・・
0375 02/11/21 17:27ID:???
>>374
スキルが足りないね。
書籍買って読めよ。
0376nobodyさん02/11/21 21:21ID:qQxlYNfm
皆様のお知恵をお貸しください。
ttp://genesis.vis.ne.jp/
こちらで配布されているCHAMELEON BOARDを、
レスが付いたら親記事ごと一番上に表示するようにしたいです。
お手数ですがご教授宜しくお願いいたします。
0377nobodyさん02/11/21 22:06ID:???
>>376
ちょっと見ただけだから分からんけど
かなり改造しないと駄目だと思うよ
0378nobodyさん02/11/22 17:52ID:JgWrpTOL
>>374
設定変更用のシステムとか作ればいいんじゃないの?

ていうか、自分がそういうサービスを利用する上でほしい機能を作っていけばいいじゃん。
あと表示だけじゃなくメールで設定情報は送ってあげたほうが親切かもな。
037937602/11/22 22:42ID:???
>>377
レスどうもです。
やっぱり駄目そうですか・・・。
素人考えで155行目からの
foreach (@lines) {
($no,$number,$title,$name,$mail,$url,$comment,$del,$date,$icon,$color) = split(/<>/,$_);
if ($number eq '0') { push(@line,"$_"); }
}
ここに追加すりゃなんとかなるかなと思い触ってたんですけど、
自分自身のperlの知識が浅すぎてどうにもならなくなってます。
0380nobodyさん02/11/22 23:40ID:???
>>376

それってさ、RES投稿を確認してRES対象の親記事のNOが付いている親記事自身とその親記事に今までに付いたRES記事を取り出してその一番下にRES投稿の記事をくっつければいいんじゃないの?

で、取り出すときに関係ない他の記事は@oldかなんかに突っ込んどいて保存する時に新記事郡、旧記事郡の順で書けば実質一番上に来た事になるけど、プログラム自体を見てない漏れには解りません。


まぁ頑張れや。
0381nobodyさん02/11/23 14:01ID:???
>>375
>>378
一応できましたが、無駄がかなり多そうです。
本買ってみます。
0382神さまおながいします02/11/23 20:45ID:???
kboardの話なのですが、この方の、
ttp://you-make.com/Mz-World/MAL/cgi-bin/cf/kboard.cgi
このタイプなんですが、全体のフォントの書式を変える事は出来ないのでしょうか?
グーグルで色々調べたのですが、素人全開のため良く分かりませんでした・・。
どうか御知恵を貸して頂けないでしょうか?宜しくお願いします。
一応テキストにしてUPさせていただきました。

http://members.tripod.co.jp/kamisamaonagaisimasu/onagaisimasu.txt
0383nobodyさん02/11/23 21:05ID:???
>>382
フォントの書式ってなんだ?
とりあえず、下の方の
body{
scrollbar-3dlight-color:$form_color;
scrollbar-arrow-color:$form_color;
scrollbar-base-color:$bg_color;
scrollbar-darkshadow-color :$bg_color;
scrollbar-face-color:$bg_color;
scrollbar-highlight-color:$bg_color;
scrollbar-shadow-color:$form_color;
}
ってところに好きなスタイル追加してみ。
0384nobodyさん02/11/23 22:07ID:QZcZ5A23
YaBBにファイルアップロード機能を付けるにはどうしたらいいでしょうか?
http://www.yabbforum.com/
0385ありがとうございますた02/11/23 22:24ID:???
>>383さん。
ありがとうございます。出来ました。
マジで感謝です。
これで何とか年を越せそうです。
0386nobodyさん02/11/23 23:36ID:B4pvccDx
http://mtbbs.tr-w.net/dl.html
の掲示板なのですが、HTML書き出しだとクッキーが使えないはずです。
でも、2chではHTML書き出しなのにクッキーが対応しています。
どうやって、対応させてるのでしょうか?
対応させる方法を教えてください。お願いいたします。
0387nobodyさん02/11/24 02:23ID:DDSdv1W7
>>386
javascript
よって板違い。ソースでも読んで来い。
0388nobodyさん02/11/24 09:25ID:???
初心者でスイマセン。

いま使っているツリー型掲示板のレスがつくと記事を上にトップに上がる機能は
やはり掲示板によってプログラムは違ってくるのでしょうか?
共通のルーチンなどはないのでしょうか?
0389nobodyさん02/11/24 09:34ID:???
>>388
特には無いと思うけど?
更新された部分だけを抜き出して一番上にするだけ
0390nobodyさん02/11/24 09:36ID:???
>>384
ケントんトコのスクリプトでも移植シレ
あそこは分かりやすい(無駄が多いけど
0391nobodyさん02/11/24 09:44ID:???
>>376
そいつのソース汚くて読む気になんねぇー
FlashCGIのminiThreadってヤツはキレイだったな(´-`)
0392nobodyさん02/11/24 10:10ID:???
>>376
>>388

&time;

$match=0;
@new2=();
@tmp=();
foreach (@lines) {
($kno,$knumber) = split(/<>/);

if ($number eq "$kno") {
$match=1;
push(@new2,$_);
}
elsif ($number eq "$knumber") {
push(@new2,$_);
}
0393nobodyさん02/11/24 10:10ID:???
elsif ($match == 1 && $number eq "$knumber") {
$match=2;
push(@new2,"$no<>$number<>$title<>$name<>$mail<>$url<>$comment<>$del<>$date<>$icon<>$color<>\n");
push(@tmp,$_);
}
else { push(@tmp,$_); }
}

if ($match == 1) {
push(@new2,"$no<>$number<>$title<>$name<>$mail<>$url<>$comment<>$del<>$date<>$icon<>$color<>\n");
}
push(@new2,@tmp);

open(LOG,">$log");
print LOG @new2;
close(LOG);

if (-e $lockf) { unlink($lockf); }

&management;


YYBBSからコピペ。これで一応できる。
0394nobodyさん02/11/24 10:11ID:???
($kno,$knumber,$ktitle,$kname,$kmail,$kurl,$kcomment,$kdel,$kdate,$kicon,$kcolor) = split(/<>/,$lines[0]);

($kno,$knumber,$ktitle,$kname,$kmail,$kurl,$kcomment,$kdel,$kdate,$kicon,$kcolor) = split(/<>/,$lines[1]);
0395nobodyさん02/11/24 10:30ID:???
>>387
javascript で対応させていたのですか。。。。知りませんでした。ありがとう。
039637602/11/24 23:33ID:???
>>392
無知な私にご教授ありかとうございます。
今すぐにでも試したいのですが、前の書き込みの後に急遽入院しちゃいまして(汗
退院か外泊時にでも試したいと思います。ありがとうございました。
039739702/11/25 02:14ID:???
http://aji.s1.xrea.com/の Force264 BBS(ver.3.22A 連結GIFコード) と書いてある
スクリプトの改造についてお伺いします。(ファイルに直リンできません(^^;)

訪問時にHTTP_USER_AGENTに特定の文字列が入っていると指定のページに飛ばす
(たとえば"MSIE 4.0"を含む場合./deny.htmlに飛ばす)にはどうしたらいいでしょうか?
0398nobodyさん02/11/25 09:35ID:TeZapJEO
>>397
スクリプトいじらんでも.htaccess使えばいい。
039939702/11/25 15:22ID:???
>>398さん
ありがとうございます・・・しかし残念ながらうちのサーバーでは
SetEnvIfとErrorDocumentが使えないのでこういうことはできません。
やはりスクリプトそのもで制限するしかないんです。

SetEnvIf User-Agent "J-PHONE" UA
SetEnvIf User-Agent "DoCoMo" UA
Order Allow,Deny
Allow from all
Deny from env=UA
ErrorDocument 403 /~testtest/aaa/403.html
0400初心者02/11/25 17:49ID:iBc9Rrdb
THE ROOMの"ranklink"で質問があるのですが、
ランキングサイトを運営しているのですが、総合ランキング
のカテゴリを作りたいのですがどの様に各々のランキング
から引き抜いて総合ランキングが出来るのか分かりません。
何卒お教えて下さい。お願い致します。
0401nobodyさん02/11/25 18:34ID:???
知る限りでは他2箇所でマルチか…
0402nobodyさん02/11/25 21:27ID:???
>>
による記事LINKをYY-BOARDに取り付けたいのですが
KENT-WEBのwebpatioを参考にやってみましたが
変数の違い等々より挫折・・。
良かったら、教えていただきたいのですが
判るかた。宜しくお願いします。
0403nobodyさん02/11/25 22:07ID:rY+1ONaW
http://mtbbs.tr-w.net/dl.html
で配布してる掲示板なのですが、
サンプルでは、『全部読む 最新50 1-100 板のトップ リロード』って表示されてますが、
自分で設置すると『全部読む 最新50 1-100 板のトップ リロード』が表示されません。
0404nobodyさん02/11/25 22:10ID:???
つくったヤシに聞け
0405nobodyさん02/11/26 19:24ID:???
http://zurubon.strange-x.com/uploader/
のアプロダをHTML書き出しにしたいのですが、どうすればできるのでしょうか?
0406 02/11/26 20:25ID:???
>>405
http://www.geocities.co.jp/SiliconValley-Bay/4472/script/download.html
0407nobodyさん02/11/26 23:57ID:GahKTPLA
http://herz.pobox.ne.jp/cyder/doc/script/rescue08/top.html

これをWindowsベースのApache1.3+ActivePerlで動かしていたのですが、
Cookieが文字化けしてしまいます。

超初心者ですいません
改善できませんでしょうか、お手数ですがよろしくお願いします。
040840802/11/26 23:58ID:???
あう、ごめんなさい

http://herz.pobox.ne.jp/cyder/doc/script/ori04/top.html

こちらでした
0409親切な人02/11/27 00:00ID:???

ヤフーオークションで、凄い人気商品、発見!!!

プランテック製の「 RX-2000V 」を改造済み
にした、アイティーエス製の「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/neo_uuronntya#.2ch.net/

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。

ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h5.dion.ne.jp/~gekitoku/#.2ch.net/
0410nobodyさん02/11/27 01:11ID:gzMOh9EH
KENTのpetitbordの過去ログ生成なんだけど、
行数で区切ってdat化するのがどうも気持ち悪いんだよね。
スレッド数(たとえば10スレッド)で1datって感じに出来ないかな。
要するにこの部分の$log_file(行数)を別のものに置き換えればいいと思うんだけど。

# 規定の行数をオーバーすると次ファイルを自動生成
if ($#past > $log_line) {
$past_flag=1;

最近ようやくほんの少しづつ読めてきたかなぁという程度で、
じゃあ何と置き換えるのかって考えると混乱する一方。
なにかアイディアがあったら協力願います。
0411nobodyさん02/11/27 01:24ID:gzMOh9EH
あと>>350でやっぱり俺が質問した件なんだけど、
なんとか自力で改造できたのでご報告。
シンプルなaska.cgiで実験を繰り返してたらなんとかなったよ。

configに

$now = time;
$newtime = '3600'; #1時間の場合
$newimg = '<img src=./gazou/new.gif>';

を書いて、

if ($newtime >= ($now - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }

を記事の読み込み部分の$urlの処理の下あたりに入れる。
それでsplit(/<>/);のところに $xtime をやっぱり $url, の後ろに割り込ませておく。
そしたら新着画像を表示させたいところに $vnewimg を書き入れる。
sub get_time の一番最後に $xtime = $now; を入れる。
あとは書き込み部分でやっぱりsplit(/<>/)で見当をつけて $xtime を割り込ませる。
なんとなく並んでる変数とログファイルの中身を見比べてると、
あ、ここに割り込ませればいいのかな?ってカンが働くはず。
カナーリ初心者の俺が言うんだから間違いなし!

つーことで、レスくれた人たちありがとうでした。
0412nobodyさん02/11/27 19:30ID:BLcNdMdK
KENTさんのJoyful Note
http://www.kent-web.com/bbs/joyful.html

添付Fileを親記事は必須にして、返信は添付ファイル無しでもOK
という風にするにはどうすればいいでしょうか?
0413初心者王02/11/27 21:42ID:???
Aikonさんのサイトで配布されてるGallery Noteを
二重投稿禁止にしたいのですが、改造方法を教えて下さい。

http://watson.milkcafe.to/download/dl2.html

KENTさんのJoyful Noteの改造版で画像アップロードも可能なので
出来れば画像の多重投稿も制限したいのですが><
贅沢はいいません。。。レスの多重投稿制限を〜〜ぜひぃ( ´Д⊂ヽ
0414初心者王413 02/11/28 07:29ID:???
なんとなく問題解決ぽ

KENTさんのCGI改造配布サイトに丁度良いスクリプトがあったので拝借。
いちお報告すると↓こんなかんじでバッチリでした。

#----------------#
# ログ書込処理 #
#----------------#
この項目の# 連続投稿チェックの次に

# 二重投稿チェック
$flag=0;
foreach (@lines) {
($no2,$reno2,$date2,$name2,$mail2,$sub2,$com2) = split(/<>/);

if ($in{'name'} eq $name2 && $in{'comment'} eq $com2) {
$flag=1; last;
}
}
if ($flag) { &error("二重投稿です。蹴りますが何か?"); }
0415nobodyさん02/11/28 11:32ID:???
>414
ログ全部から多重チェックするのか?
0416 02/11/28 15:00ID:???
>>414
for (@lines){
my(undef,undef,undef,$name,undef,undef,$com) = split(/<>/);
&error("二重投稿です。初心者の癖に浮き過ぎです。") if($in{'name'} eq $name && $in{'comment'} eq $com);
}
0417初心者王41302/11/28 16:05ID:???
い・・いけないの(゚Д゚≡ ゚Д゚) 効率悪いですか!?
0418nobodyさん02/12/01 18:39ID:???
>414
精度は下がるけど配列の先頭の要素だけで検討するのがいいかと思ったり。
ログが多くなると死ねます。

my(undef,undef,undef,$name,undef,undef,$com) = split(/<>/,$lines[0]);
if($in{'name'} eq $name && $in{'comment'} eq $com){&error("二重投稿イッテヨシ");}
0419nobodyさん02/12/04 03:50ID:???
YYBBSで指定レス以上になったら省略する機能は
どうやって足せばいいんでしょうか?
頭と最新5レスを表示したいのですが
0420nobodyさん02/12/06 12:27ID:q7PjCrzt
画像投稿型掲示板cgiのスクリプトなんですが、
サーバに保存するファイル名に、投稿された時間を反映させるには(img200212061220.jpgのように)、
複雑な改造が必要ですか?
0421nobodyさん02/12/06 16:48ID:???
複雑な改造はいらないと思う。
ファイル名に反映するだけなら。

多分記事のデータにファイル名も保存しているだろうから
つじつまあわせるようにしないといけないけど。

どの程度をもって複雑と言っているのかわからんし。
0422nobodyさん02/12/06 16:55ID:lbFI8Saa
2ちゃん型掲示板のCGIですが、最近設置しても使えないとこが増えてきました。
なぜか特定ディレクトリ内のファイルが動かなくなりました。
どなたか動くように改善していただけませんですか?

http://www.onpuch.jp/files/onpuch.zip ←スクリプトはここからダウソできます
0423nobodyさん02/12/06 17:00ID:???
>>422

動くようにって・・・、それは頼りすぎじゃないか?(´Д`;)
0424nobodyさん02/12/06 17:11ID:???
外国人の留学希望者相手に掲示板を設置してるんですが、
日本人の荒しに2byte文字のAA等を貼り付けられて
困っています。投稿から2byte文字を確実に蹴る正規表現って
どうやればいいんでしょうか。スペースとか"'などの記号
は使えるようにしておきたいです。
0425nobodyさん02/12/06 17:19ID:???
>>423
う・・・・

ちなみに、そのスクリプトの作者に聞いたところ、「サポートは一切しません」と返されますた。
今までも度々動かなくなることはあったけど、そん時は自分で何とかしてきました。
でも今回ばかりはまじでヤバイっす。
1point.jpとxreaではもうぜんぜん駄目。
0426nobodyさん02/12/06 17:35ID:???
>>424
なんで荒らしが日本人だってわかったの?
0427nobodyさん02/12/06 18:07ID:???
>>426
charsetをshift_jisにして見たら
2chそのままのAAでした。
0428nobodyさん02/12/06 18:07ID:???
>>425
じゃ今度も自分でなんとかすれ

>>424
つか、削ったら?
0429nobodyさん02/12/06 18:11ID:???
>>424
http://www.din.or.jp/~ohzaki/perl.htm#JP_Exist
0430nobodyさん02/12/06 18:18ID:???
>>423
やっぱり厨(;´Д`)
http://pc.2ch.net/test/read.cgi/php/1039165841/l50
0431nobodyさん02/12/06 18:51ID:???
>430
糞単発してるよ・・・最近カスが多いね(´Д`;)
0432nobodyさん02/12/06 20:15ID:???
>>428
まあそういわずに

>>430-431
(・∀・)
0433nobodyさん02/12/06 21:21ID:???
>>430=431=尾瀬原皿仕上げ
0434nobodyさん02/12/07 10:46ID:AGlpmR8Q
YYBBSにふきだしをいれたいんだけどどうすればできるかな?
0435nobodyさん02/12/07 11:05ID:???
muri
0436nobodyさん02/12/07 11:57ID:???
marimo
0437nobodyさん02/12/07 23:35ID:???
ここのWebCalenderをTECHSIDEのに近い感じにしたいのですが教えていただけませんか?
http://www.aikis.or.jp/~s-suzuki/cgilabo/
一応センタリング、スケジュール追加ボタンの追加はできたのですが、
2つ目の予定を自動で改行と始めに入ってしまう半角スペースの削除ができません。
0438nobodyさん02/12/08 22:03ID:???
アハンに選択式でアイコンを付けられるようにしようと思うんですが、
素人の付け焼刃では上手く動作しませんでつ。。
宜しければご教授お願い致します。

ttp://www.kokobbs.com/ahhan/
0439nobodyさん02/12/08 22:08ID:???
>>438
KENTさんとこのをそのままパクってみれ
0440nobodyさん02/12/08 22:34ID:???
>>439
以前やってみたんですが、
スレ立てフォーム周りにアイコン部分を埋めてみるだけで宜しいのでしょうか。。
色々とスクリプト弄ってみたんですが力の限界です(w
後一歩のところまでは来てるヨカンがするのですが。。
0441nobodyさん02/12/09 01:01ID:???
>>440

あとはsplitとpushの部分に$iconを入れないとだめだろう。
全く見てないので全くあてずっぽうだけど。

その一山を超えるとぐっと面白くなるから、がんばってみ。
0442nobodyさん02/12/09 17:14ID:9ucXAnkG
THE ROOMのRANKRINKについて教えていただきたいのですが。
サイト登録時に追加でラジオボタンで選択したものをランキングに画像表示
させるようにしたいのですが、(Yomiサーチでいうと相互リンクの選択
みたいなかんじ)どのようにしたら良いのかお教え下さい。
また、ランキングページの左側にカテゴリーのテーブルをおきたいのですが
何度か挑戦してみましたが、うまくいきませんでした。よろしければ、
ご教授お願い致します。
044344002/12/09 21:50ID:???
もれなくソース加えたはずなんですけどねぇ。。
う〜ん・・・プログラムというのは難しいです。。
付け加え方を根本から間違ってるかもしれないです(w
0444nobodyさん02/12/09 22:32ID:???
プログラムの流れを理解していない香具師が、手に入れたソースを突っ込んだだけで動かせるはずがない。

黙って鮭定でも食ってろ!
0445nobodyさん02/12/09 22:55ID:???
失敗が人間を強くするんですYO

>>443
ソースの一部貼り付けたら誰か見てくれるかも
044644302/12/12 22:57ID:???
自分で色々いじったんですが、>>444の通り、
素人が簡単に改造できるようなものじゃないですねぇ(笑)
スッパリとあきらめてver.up待ちます。
ご助言くださった方ご迷惑をおかけ致しますた〜
0447 02/12/14 06:43ID:???
n a m a z u の

Current List: 1 - 3
Page: [1] [2] [3]

の"[1] [2] [3]"の部分を

<< Previous | Next >>

などと改造する方法を教えてください。
044844702/12/14 06:45ID:???
このへん??

max = get_maxresult();
whence = get_listwhence();
for (i = 0; i < PAGE_MAX; i++) {
if (i * max >= n)
break;
if (is_htmlmode()) {
if (i * max != whence) {
printf("<a href=\"");
fputs(dn, stdout);
fputc('?', stdout);
print_query(qs, i * max);
printf("\">");
} else {
printf("<strong>");
}
}
printf("[%d]", i + 1);
if (is_htmlmode()) {
if (i * max != whence) {
printf("</A> ");
} else
printf("</strong> ");
}
if (is_allresult()) {
break;
}
}
}
0449 ◆Gv1Tk/KAZU 02/12/14 21:18ID:???
http://happy.honesto.net/cgi/download/fmdx.html

このフォームを使うと添付ファイルも送信可能のようですが
sendmail未対応のサーバーの場合送信不可能ですよね。

なので一時記録用フォルダーにファイルを常時残しておいて
時々FTPでDLしたり出来ないかと思ってます。

もしご教授頂ける方居ましたらお願いします。
0450nobodyさん02/12/16 22:07ID:tbIe581B
掲示板にメール送信機能をつけてみたんですが、題名に日本語が使えず、
メッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?

>>451がソースです
0451nobodyさん02/12/16 22:07ID:tbIe581B

#------------------メール送信機能-------------------------#
open(MAIL,"| /usr/sbin/sendmail -t") || &error("送信できません。");
print MAIL <<"_MAIL_";
From: xxx\@xx.xx
To: xxxxxx\@xxxx.ne.jp
MIME-Version: 1.0
Subject: 投稿がありました
X-Mailer: Sendmail
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

投稿がありました。
名前:$name
題名:$subject
メールアドレス:$mail
ホームページ:$url
メッセージ:$msg
---------------------------------------
投稿者情報
IP:$ip
ホスト:$host
---------------------------------------
_MAIL_
close(MAIL);
#--------------------メール送信機能------------------------#

よろしくお願いします。
0452nobodyさん02/12/16 22:28ID:tbIe581B
掲示板にメール送信機能をつけてみたんですが、題名に日本語が使えず、
メッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?

>>750がソースです
0453nobodyさん02/12/16 22:30ID:tbIe581B
あれ・・?
2重投稿スマソ
0454nobodyさん02/12/16 22:49ID:???
>>449
送信不可能なんだろ?何がしたいんだ?
ずるぼんでも使ってファイル一覧表示しないようにしたらいいだろ
0455nobodyさん02/12/16 23:06ID:???
>>451
メール送るのにJISに変換しない厨房ハケーン
0456yani ◆saNSktNEdQ 02/12/16 23:11ID:/GE+8J7v
個人的にはMIME宣言してるメールはヘッダもMIMEにするのが筋だと
思うんだがどうだろう。
045745102/12/16 23:33ID:tbIe581B
すいません。本当にわかんないんです。
教えてください
045845502/12/16 23:43ID:???
だからさ、メール送る時は、そのまんま送っちゃいけないの。
どっか、メーラー機能付きのフリーの掲示板かなんかさがしてきて、
それがどんな風に送ってるのか調べてみろって。

ここはアドバイスをする場所であって、回答そのものを書く場所じゃあない。
0459yani ◆saNSktNEdQ 02/12/16 23:50ID:/GE+8J7v
ついでだからさっき書きかけた奴を投げてみる。

>>451
(1)スクリプト中の日本語がJISになってないか、
(2)またはsendmailが妙な面倒を見てくれているかどちらか?
いずれにせよ、個人的にはMIMEを宣言するならsubjectもBASE64エンコードするのが筋だと思う。
(1)だったらEUCで書いて、nkfとか、jcode.pl, Jcode.pmを使うのがいいのかな。
5.8だと pragma encodingがサポートされているけど。
(2)だったら、本文もヘッダもBASE64エンコードか。
046045102/12/17 23:50ID:gzYXlHgB
スクリプトはシフトJISでかかれてます。
EUCはエディタを持ってないんで…

BASE64等聞いたことはあるんですがやり方がよくわからんのです。
046145502/12/17 23:54ID:???
>>451
自力でできないなら、すでにあるものをパクってこいって言ってるだろ。
046245102/12/18 00:28ID:ZpDIFVLh
それもやってみたんですが・・・
変数が入り組んでてわからんのです
046345502/12/18 01:11ID:???
>>451
もしKENTのスクリプトですらわからんとか言うなら、諦めろ。
いやマジで。
0464マリモーマ ◆jbBCmetwgw 02/12/18 06:29ID:rjGaYRoU
サンプル
sub send{
if($mailon == 0){return;}
$m_url = "アドレス http://" . $url;
$m_cn = "件名" . $ken;
$m_name = "名前 " . $name;
$m_com = "コメント " . $te . "<br>" . $te2 . "<br>" . $te3;
$m_aiu = "アイコン" . $aiu;
&jcode'convert(*m_name,'jis');
&jcode'convert(*m_url,'jis');
&jcode'convert(*m_cn,'jis');
&jcode'convert(*m_com,'jis');
&jcode'convert(*m_aiu,'jis');
$mail_head .= "プログラム名 :掲示板\n";
$mail_head .= "送信日    :$date\n";
$mail_head .= "IPアドレス :$ENV{'REMOTE_ADDR'}\n";
$contents .= "名前     :$m_name";
$contents .= "メッセージ  :\n\n$m_com\n";
open(MAIL,"| $sendmail $mail") || &error("メールが送れません");
print MAIL "From: $FORM{ma}\n";
print MAIL "Subject: $m_cn\n";
print MAIL "\n$m_name\n";
print MAIL "\n$m_url\n";
print MAIL "\n$m_aiu\n";
print MAIL "\n$m_com\n";
close(MAIL);
}
046545102/12/18 21:21ID:ZpDIFVLh
つまりメール用に変数を書き換えるんですか?
$m_name = "名前 " . $name; のように??
KENTのCGIですか・・・
JCODEなどの使い方がわからないんですよね・・
0466マリモーマ02/12/19 07:29ID:82rcnvne
これは 僕の作った掲示板なんだ
sendmail用に jcode.plで 変換してるだけだよ
0467nobodyさん02/12/19 23:50ID:???
>>464
サンプルったって……
何故Perl4を意識した組み方なのかそこんところを作った人間に聞いてみたい。
0468nobodyさん02/12/20 03:20ID:fpLfXsGv
はじめまして。
>>310さんと同じKENTWEBさんのchat roboの改造なんですが、
このチャットは2人以上が入室するとロボットが黙るようになっています。
それを、2人以上入室しても喋るようにはできないでしょうか?

概要 www.kent-web.com/chat/robo.html
微妙な改造をしていますが、cgiのテキストファイル
http://jadore.jp/~sermot/robo.txt

よろしくおねがいします。
0469nobodyさん02/12/20 03:34ID:XVaLbHjJ
>>468
# 在室者が1名のとき、又は名前を呼ばれた時に返答する
の直下のifブロックを撤去して
$regist_flag=1;
にしたらいいんじゃない?
0470マリモーマ02/12/20 07:04ID:rQl0YSG9
>467
まだ初心者なもんで あまりわかってないんだ
0471nobodyさん02/12/20 11:35ID:sQRsVps7
2ちゃんねる VS TIME・・・
その戦いの歴史は、まさに近代兵器の見本市だった
田代砲にはじまる数々のスクリプト兵器を経て到達した、97式アラファトマシンガン
これはまさに最終兵器として、猛威を振るった
しかし、ついにTIMEはこれらの兵器全てを完膚無きまでに無効とする
パプリカの設置に成功した
武器を奪われた我々に残されたもの ・・・それは「チョップ!」
手動で一撃一撃叩き込む「チョップ!!」地味で威力も極限まで小さな「チョップ!!!」
ただそれだけと、なってしまった!
だが、チョップといえども決してバカには出来ないということを!
そしてこのような手段にまで出たTIMEを今一度!
我が2ちゃんねらーの総意を込めたチョップを以て、叩き壊したい!!
有志たちの参戦を、ひとりでも多くの戦士の挑戦を待つ!!!
http://live.2ch.net/test/read.cgi/festival/1040349157/
047246802/12/20 13:35ID:fpLfXsGv
>>469
ごめんなさい、どうも505エラーが出ます。
# 在室者が1名のとき、又は名前を呼ばれた時に返答する
if ($_[0] eq "comment" && $now_member <= 1) { $regist_flag=1; }
の、 if ($_[0] eq "comment" && $now_member <= 1) を
削除するということでしょうか?
0473nobodyさん02/12/20 13:57ID:ehxtG+cI
>>472
&& $now_member <= 1
を取れ。それ以上は君には無理っぽい。
0474nobodyさん02/12/20 13:58ID:bSnvNs3j
>>472
if ($_[0] eq "comment" && $now_member <= 100) { $regist_flag=1; }
ここの数字大きくするだけでもいいと思われ。 ↑
047546802/12/20 14:37ID:fpLfXsGv
>>473さん、>>474さん、レスありがとうございます。
474さんの方法でやってみました。うまくいったくさいです。
無知で申し訳ないです……ありがとうございました。
0476nobodyさん02/12/20 18:43ID:Xm/IHOJS
始めまして。最近CGIをかじりだして、なんとか設置「できる」程度にはなったのですが、
KENT-WebさんのYY-BORDのアイコン登録機能をyy-chatに追加したいのですが、
自分で調べてもpup.cgiをどうやって連動させたらいいのかというところでつまずいてしまいました。
もし宜しければご指南いただけないでしょうか?
宜しくお願い致します。
0477nobodyさん02/12/21 03:04ID:p9M9wN14
初めまして。
このスレの職人さんにお力添えを頂きたく、図々しくも
やってきました。m(__)m

↓このスクリプト
http://www.dd.iij4u.or.jp/~musume/test/imgboard.cgi.txt
を使っているんですが、アクセス制限がイマイチまどろっこしいので、
下記のスクリプトの長所を盛り込んで
バシッ!!と串制限したいのです。
http://www.dd.iij4u.or.jp/~musume/test/bbs.cgi.txt

どの辺をいじれば良いのでしょうか?
多分、簡単な事なのかもしれませんが、私の知識ではどうしたらいいのか
よくわかりません。
どうか教えて頂けたら嬉しいのですが。。。
0478nobodyさん02/12/21 03:29ID:hxR7EJif
>>477
http://dream.lib.net/room/cgi/e_acsdeny.html
とかどう?

使ったことないけど。
047947902/12/21 06:12ID:TCs+vCTx
お世話になります。
私はKENT-WEBというサイトの'LIGHT BOARD v6.1という掲示板スクリプトを設置しているのですが、
荒らし対策の為に掲示板にホストIPを表示させたいんです。
恥ずかしながら私はCGIの知識はほとんどないのでやはり、改造の段階でつまってしまいました。

・メインスクリプト
http://www2.csc.ne.jp/~nga/light.txt
・設定等のスクリプト
http://www2.csc.ne.jp/~nga/init.txt

まずinit.txt(本来のファイル名はinit.pl)の最後の方を見ると、
ホストやIPは取得しているようなので、ログにそれらを記述する為に、

local($no,$dat,$nam,$eml,$sub,$com,$url,$ho,$pw,$tim) = split(/<>/, $file[0]);
unshift (@file,"$no<>$date<>$in{'name'}<>$in{'email'}<>$in{'sub'}<>$in{'comment'}<>$in{'url'}<>$host<>$pwd<>$time<>\n");

上記のような個所全てに$addrや$hostなどを追加し、
名前のあとに$addrや$hostと表示するようにしてみたのですが、
全ての書き込みに何故か自分のIPやホストが表示されるだけという結果でした。
詳しく説明した方がいいと思い長文になってしまいました申し訳ございません。

このスクリプトを配布しているサイトのサポート掲示板は改造に関する質問は禁止という事ですので、
こちらに質問させて頂いたのですが、どなたかご教授下さらないでしょうか?
宜しくお願いいたします。それでは失礼致します。
0480_02/12/21 16:35ID:???
>>479
125記事展開
($no,$dat,$nam,$eml,$sub,$com,$url,$host,$pwd,$time,$addr) = split(/<>/);

133記事編集
"<b style=\"color:$subcol\">$sub</b> 投稿者:<b>$nam</b> <small>$addr</small> ",
218行目
# 二重投稿禁止
local($no,$dat,$nam,$eml,$sub,$com,$url,$ho,$pw,$tim,$addr) = split(/<>/, $file[0]);
245行目
$addr = $ENV{'REMOTE_ADDR'};
# ログを更新
$time = time;
$no++;
unshift (@file,"$no<>$date<>$in{'name'}<>$in{'email'}<>$in{'sub'}<>$in{'comment'}<>$in{'url'}<>$host<>$pwd<>$time<>$addr<>\n");

行数一部ずれてるかも…
自分もへっぽこだからな(;´Д`)
048147902/12/21 18:37ID:TCs+vCTx
>>480
レスどうもありがとうございます。
ですが>480さんの言った通り改変してみましたが、
やはり投稿者のIPではなく、自分のIPが表示されてしまいます・・・。

245行目に $addr = $ENV{'REMOTE_ADDR'}; を追加する事は、
今まで試していなかったのでこれで出きると思ったのですが・・・
もう少し自分で試行錯誤してみます。
048247902/12/22 03:15ID:IzGI9cL3
あれから色々やってみたのですがやはり出来ないです。
同じスクリプトの前のバージョンではこの方法で出来たのですが・・・

ログを見てみるとちゃんとIPもホストも残されているのですが、
名前の後に表示するとなると自分のIPとホストが表示されてしまいます・・・

どなたかご教授下さい。どうかお願いします。
0483nobodyさん02/12/22 03:56ID:???
>>482
ログから記事を取り出しがうまく取れてないか、
もしくは表示するときにうまく表示できてないか、でしょ。

変数の名前が違ってる(ログから$adrで取ってるのに$addrをprintしてる)
とかじゃない?
048447902/12/22 05:24ID:IzGI9cL3
>>480 >>483
もう一度DLしなおし、>>480さんの言った通りに改変して見た所、無事出来ました!
何時間もいじっていたので、どこかのソースを少し変えたまま戻すのを忘れていたんだと思います。
手間かけてすみませんでした本当にどうもありがとうございました。
048547702/12/22 09:58ID:4O+EjJim
>>478
それでちょっと試してみます!
ありがとう御座いました。
048647902/12/23 05:07ID:nzgwR1fc
昨日は本当にありがとうございました。
皆様に教えて頂いたおかげで、掲示板は順調に動作しているのですが、
もう一つ気になる個所がでてきてしまいました。

書き込みを削除する際に、1つチェックを入れる度に送信ボタンを押す為、
削除したい書き込みが複数ある場合には非常に効率が悪いんです。
同スクリプトの以前のバージョンは出来たのですが・・・

自力でやってみようと以前のバージョンと見比べて、
<input type=radio name=no value=\"$no\">
という個所の radio を checkbox に変えてみたのですが、
チェックは複数につけられるものの複数にチェックをして削除しようとしても
結局最初にチェックした書き込みしか削除されませんでした。

どなたか教えて頂けないでしょうか?
一昨日質問したばかりで申し訳ないですが、どうか宜しくお願いいたします。

ソースは↓です。(おそらくこのスクリプトを改造するだけで出来ると思うのですが・・・)
http://www2.csc.ne.jp/~nga/admin.txt
0487nobodyさん02/12/23 12:12ID:EkLX2nFl
それはUIの変更でしかない。
実際に選択された全てを削除する作業を改良付加しなきゃ。
0488nobodyさん02/12/23 15:32ID:ylDWuCld
トップソートっていうんでしょうか。
レスのついたスレッドが一番先頭に上がるっていうやつですが

http://www.rocomotion.net/index2.html

ここの左のフレームでCGI>BBSと入ったところにあるCGI配布の掲示板シリーズ。
これの一番下の「ROCO HOUSE BOARD 2」はCSSとiniとcgiでコントロールされています。
しかしこの掲示板、トップソートが初期設定でアリになっていて、これを解除(スレッド固定)にしたいのです。
ini(kboard.ini)とcgi(kboard.cgi)両方をワードパッド上で「topsort」と検索をかけてもヒットしません。
OKWEBでも初心者の私には詳しいことはわかりませんが不可能だろうと言うことでした。
ただし、これはKAISMさんのkboardがベースになっていて改造が施されたものですが
そのオリジナルであるkboardは初期でスレッド固定のようなので
プログラム自体が複雑に絡み合ってこうなっていると言うより、
何行かが書き加えられてこうなっていると考えるのが自然のように思えます。
どうにかなりますかねえ^^;
0489nobodyさん02/12/23 22:15ID:ylDWuCld
改造された方からのお返事を今確認。
スクリプトが長くなり重くなるなどの理由からトップソートのみで書いていると言うこと。
こういうこともあるんですねえ。
049048602/12/23 23:41ID:nzgwR1fc
>>487
わざわざレスありがとうございます。
やはり特別な改良を行う必要があるのですか・・・
お手数とは思いますがその処理を教えては頂けないでしょうか?

ですが製作者様は今までのバージョンでは可能だったという事をあえて出来なくしたのですから
可能にする事により何かデメリットが出来てしまうんですかねぇ・・・

私のサイトは携帯用なので利用者どうしの喧嘩のようなものから、
よく荒らしに発展してしまうので複数チェックで削除出来れば大変便利なのですが。
0491nobodyさん02/12/24 01:34ID:???
>>490
その掲示板だかなんだかの、昔のバージョンはないのかね?
複数削除が可能だった頃の使えば?
049248602/12/24 02:03ID:7RBB/Grc
>>491
「プログラムは、セキュリティ対策を施したv5.7以降を必ずご使用ください」
という注意事項がかかれてあったので、以前の物を使用するのはちょっと・・・
それに以前のバージョンはもう公開していないみたいですし私もそれそのものはもってないんです。
セキュリティのどこが甘かったかといったような事はわからないのですが。
0493nobodyさん02/12/24 23:39ID:???
>>492
じゃあ、作った本人に改造してもらったら?

作った本人が面倒くさいって言ってるくらいだから、
他人がいじるのはもっと面倒くさいな。
0494nobodyさん02/12/25 05:08ID:???
>>493
それじゃこのスレの意味ねぇだろアフォ!
しかもKENTは面倒くさいなんて言ってないだろ?
どこで言ってたの?まぁ俺は面倒くさいから嫌だがね。
0495nobodyさん02/12/25 11:35ID:???
>>492
それかなりめんどうだよ。
スクリプト全体に手を入れないといけないからね。
むしろ以前のバージョンにセキュリティ対策施した方が楽かも。
049648602/12/27 09:13ID:ABvqt34o
レス遅くなって申し訳御座いません。

>>495
そうなんですかか大掛かりな改良が必要なんですね。
特に致命的な問題ではないですし、諦めてこのまま設置致します。
レスくれた皆様ありがとうございました。
0497nobodyさん02/12/27 17:33ID:???
>>496
これを参考にシル
# 削除情報を配列化
@del = split(/\0/, $in{'no'});

# スレッド内より削除記事を抽出
@new=();
open(IN,"log");
$top = <IN>;
($num,$sub2,$res,$key) = split(/<>/, $top);
while (<IN>) {
$flag=0;
($no,$sub,$nam,$em,$com,$da,$ho,$pw) = split(/<>/);
foreach $del (@del) {
if ($no == $del) { $flag=1; last; }
}
if (!$flag) {
push(@new,$_);
}
}
close(IN);
049849702/12/27 17:53ID:???
>>494-495
全然面倒じゃないだろ、と釣られてみるテスト
48行あたり
# ロック開始
&lock if ($lockkey);

# 削除情報を配列化
@del = split(/\0/, $in{'no'});

# 削除記事抜き取り
@new=();
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
$flag=0;
($no) = split(/<>/);
foreach $del (@del) {
if ($no == $del) { $flag=1; last; }
}
if (!$flag) {
push(@new,$_);
}
}
close(IN);

後は、radioをcheckboxにカエレ!
049948602/12/28 05:06ID:???
>>498
神様の言う通りやってみたらあっさり出来ました!
凄く嬉しいです!この掲示板に書き込みしてほんとによかったです!
お世話になりましたありがとうございました!
050047702/12/29 17:36ID:5O7Hg3I+
>>478さん
あれから色々試してみましたが、教えていただいたスクリプト
http://dream.lib.net/room/cgi/e_acsdeny.html
このスクリプト自体はちゃんと動くのですが
http://www.dd.iij4u.or.jp/~musume/test/imgboard.cgi.txt
に最初から搭載されている荒らし対策機能のせいか全く効果が
ありません。

それどころかこの掲示板、投稿者情報をホストで記録しているだけ
なので(本当はIPでも記録しているのでしょうが)、
デフォルトで搭載している荒らし対策機能が十分に活かされておりません。
(海外串やIPアドレスでの制限が出来ない、など)

ちょっといじるだけで解決する問題でしたら誠に恥ずかしいお願いなのですが、
今まで自分なりに調べたりしても判りませんでした。
どうかご指導して下さる方はいらっしゃいませんでしょうか・・・。
宜しくお願い致します。m(__)m


0501nobodyさん02/12/29 17:55ID:uoxci6sX
>>477
アダルトサイトの管理人には教えたくないです。
0502nobodyさん02/12/30 03:32ID:cfFttQy/
a
0503AY02/12/30 21:38ID:6Lg7oo1p
すごい初歩的なことなんですけど、
「KENT WEB」の「Joyful Note」に、投稿者の居住地をつれけるようにするには、
どこをどうすればいいのでしょうか。
プルダウンで選べるようにしたいのですが。
0504にんにん02/12/31 02:48ID:w7i1AXgj
&nsp;
050548602/12/31 05:59ID:???
>>498
先日はお世話になりました。
あの>498で教えてもらった通り改変した所、
無事、複数同時削除が出来るようになったのはお話しした通りなんですが、
それにより、どうやら修正が出来なくなってしまったようです。(気付くのが遅くてすみません)
私としましては書き込みを修正する機能は必然というほどではありませんので、
出来ればでいいのですがご教授頂けないでしょうか?

プログラムのソースは以前と同じくhttp://www2.csc.ne.jp/~nga/admin.txtです。

それでは失礼致します。
050648602/12/31 06:10ID:???
すみません!修正出来なくなっていたのは私のミスでした!
修正出来ました。お騒がせして申し訳ございませんでした。
050749802/12/31 10:01ID:???
>>486
もしかして、複数選んでなかった?

# 修正フォーム
} elsif ($in{'job'} eq "edit" && $in{'no'}) {
&error("複数修正はできません") if ($in{'no'} =~ /\0/);

これでも追加しれ
0508nobodyさん02/12/31 10:05ID:???
ところでパスワード晒してない?
dimensionzってモロダシ━━━(゚∀゚)━━━!!!!
0509α ◆HCOpYnZA7c 02/12/31 11:59ID:mjoKt6Ws
http://dream.lib.net/room/で配布されてる
Icon Chat by The Room ココのチャットのIchat
でrom者のIPを表示する機能のつけかたをおしえてください
0510α ◆HCOpYnZA7c 02/12/31 12:02ID:mjoKt6Ws
↑に追加1分以内ロムってる場合IP表示
0511nobodyさん02/12/31 13:18ID:qLQW6luA
>>509-510
ソースはテキスト形式で出してね。
0512α ◆HCOpYnZA7c 02/12/31 14:56ID:KGoFfbhM
このcgiはテキスト形式でやると汚くなるんですよ>>511
0513α ◆HCOpYnZA7c 02/12/31 15:03ID:KGoFfbhM
http://dream.s17.xrea.com/s/ichat.txt>>511
0514nobodyさん02/12/31 15:13ID:???
>>513
939行目
$a3 = "ROM:$rom_num人 ";

$a3 = "ROM:$rom_num人 $rom_member ";


1179行目
$rom_num++;

$rom_num++; $rom_member .= "($ip) ";

1187行目
$rom_num++;

$rom_num++; $rom_member .= "($y2[1]) ";

1205行
$rom_num++;

$rom_num++; $rom_member .= "($ip) ";

こんなんでいいの?
0515α ◆HCOpYnZA7c 02/12/31 18:27ID:NfjjwQzQ
1分以内ロムってる場合IP表示これが発動してないような
0516nobodyさん02/12/31 18:43ID:???
>1分以内ロムってる場合IP表示これが発動してないような
意味が分からないのですが
0517nobodyさん02/12/31 18:43ID:???
そういう機能つけるのむりっぽいのでいいですぅ。
後そのチャットに発言ランキングをつけたいのですが、どのようにすればいいんでしょうか?
0518nobodyさん03/01/01 13:22ID:SdsD4VAk
age
0519nobodyさん03/01/01 14:54ID:???
>つけたいのですが
付いてるスクリプト探せば?
0520α03/01/01 14:58ID:SdsD4VAk
そこで配布されてるCGIがどうしてもつかいたいのです
0521nobodyさん03/01/01 15:28ID:???
「1分以内」じゃなくて「1分以上」でしょ。。。
0522nobodyさん03/01/01 20:12ID:???
>αさん
教わる場合はもっと礼儀をしっかりしましょうよ・・・。
ここに人たちは純粋に善意で教えてるんだからさ・・・。
0523nobodyさん03/01/01 21:34ID:???
女子は画像添付だよ
守れよ〜
0524名無しさん@お腹いっぱい。03/01/02 01:56ID:???
KENTさんのとこのプチ☆ボードにスレッドごと及びレス記事に番号つけてようは
ここの掲示板みたいなやつ。んでレスカット機能つけて全レス読むでread.cgiを
使って表示するという改造を(read.cgiは探してきます。)したいのですが・・・。
当方やっと本、片手にシンプルな掲示板が組めるようになった程度でスキルが
ありません。ご協力お願いします。
0525nobodyさん03/01/02 04:52ID:???
>>524
鬼レスボードじゃだめ?
あれはPetitベースだけど・・・
って、見てきたら配布終了してたわ
代わりにeMzStyle Boardに同等の機能が在るとの事
ttp://mic.sites.cc/
0526α03/01/02 12:32ID:DP7C43xk
>>522スイマセン、今度からきおつけます。
0527α03/01/02 16:01ID:BNSxPHvc
そのチャットに発言ランキングをつけたいのですがどのように改造すればいいんでしょうか?
0528nobodyさん03/01/02 17:23ID:???
perl覚えてください




とミもフタもないことを言ってみるテスト
0529名無しさん@お腹いっぱい。03/01/02 18:58ID:???
>>525
ありがとうございます。でもなんつ〜か自力で(ここで聞いてる時点でそうでは
ないけど)改造したいんですよね。ただ設置するだけでは意味がないような気が
するんですよね。

自分で頑張ってみて自力で無理なとこ(ほぼ全部だけど・・・)はソース張るので
ご協力していただけたらと思います。
0530名無しさん@お腹いっぱい。03/01/02 21:06ID:???
すみませんが協力してください。お願いします。

現在、PETIT BOARDを改造しています。というより機能削り?以下、詳細です。
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/petit1.txt

それで投稿フォームを別画面に表示する改造をしているんですがスクリプト自体は
動いていて投稿フォームのみエラーになるという現象が起きています。アドバイスお願いします。
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/petit.txt
053152903/01/02 21:09ID:fb82aWK0
>>530
ちなみに529です。名前変更するの忘れました。
053251503/01/03 14:01ID:sga5e0Hj
自分なりにichatに発言ランキングいれようとしたけど、無理でした。
発言ランキング使けかたおしえてください
0533nobodyさん03/01/03 17:04ID:???
>>530
投稿フォームへのリンクを消せばいいだけだと思うが。
すっきりさせたいならsub newk{} とそれを呼び出している部分も消せばいい。
具体的には193行目と237行目とsub newk{}全体。
まあ機能削りなんかするくらいなら一から自分で作ったほうが良いとは思うがな。
053453303/01/03 17:11ID:???
ちなみに #!/usr/local/bin/perl の下あたりに
use CGI::Carp qw(fatalsToBrowser);
と書いておくとブラウザにエラーが表示されるのでおすすめ。
0535nobodyさん03/01/03 18:01ID:Dyvox6wr
http://mtbbs.tr-w.net/
で配布してる掲示板なのですが、一番下の記事には
全部読む 最新50 1-100 板のトップ リロード
って表示されません。
http://mtbbs.tr-w.net/yy2ch.html
のサンプルにも表示されていません。
どうすれば表示されるようになりますか?
0536nobodyさん03/01/03 18:14ID:yYHPzW2l
初めまして、質問させていただきます。

.htaccessが設置できない鯖で、perlでホストによるアクセス制限をしたいと思っています。

例えば、"jp"と"hoge.com"をアクセス禁止にしたい場合は下記のようになると思うのですが

----

$host[0] = ".jp";
$host[1] = ".hoge.com";

local($match) = 0;
foreach (@host) {
if ($ENV{'REMOTE_ADDR'} =~ /$_/) { $match=1; last; }
}
if ($match) {
print "Content-type: text/html\n\n";
print "<html><body>アクセスできません</body></html>";
exit;
}

----

この逆で"jp"と"hoge.com"のみ許可したい場合の記述の方法が今ひとつ良く分かりません。
ご教授お願い致します。
053751503/01/03 18:15ID:d+mRDn0L
教えてください
0538nobodyさん03/01/03 18:51ID:???
>>536
if ($match) を if (!$match) にするだけ。
それと余計なお世話かもしれないが、本当にやりたいことは
@host = ('\.jp$', '\.hoge\.com$');
なんだと思う。
0539nobodyさん03/01/03 18:51ID:???
>>536
単純に
if(!$match){
じゃダメなの?
0540冬厨 ◆j0Oon93KwY 03/01/03 18:53ID:???
>>536
if($match)

if(!$match)
にするだけで、$matchじゃなかったら「書き込めません」と出るようになります。
054153603/01/03 18:54ID:???
>>538-539
ご回答ありがとうございます!早速やってみます。
0542冬厨 ◆j0Oon93KwY 03/01/03 18:54ID:???
レスが遅くて被りまくり・・・。
054353603/01/03 18:57ID:???
>>冬厨様
ありがとうございます。
054453603/01/03 21:01ID:???
先ほど質問させて頂いた536です。

教えて頂いた通りに記述してみたところ、ホスト名をIPアドレスで指定した場合は正常に動作しましたが、"jp"などドメイン名で指定すると上手くいきませんでした。
恐らくIPアドレスからホスト名の逆引きが上手く出来てないと思い、

if ($ENV{'REMOTE_ADDR'} =~ /$_/) { $match=1; last; }



if ($ENV{'REMOTE_HOST'} =~ /$_/) { $match=1; last; }

としたけどだめでした。

また、538さんが指摘して頂いた

@host = ('\.jp$', '\.hoge\.com$');

↑を使って記述したいいと思い色々弄ってみたのですが、私がやるとスクリプトエラーになってしまいます。

初歩的な質問で大変恐縮なのですが、改善策をご指導願えますか?
054553803/01/03 22:09ID:???
>>544
まず本当にホストの逆引きができていないか $ENV{REMOTE_HOST} の内容を
表示して確認する。(printデバッグ)
IPアドレスが表示されるなら
$ENV{REMOTE_HOST} = gethostbyaddr(pack("C4", split /\./, $ENV{REMOTE_ADDR}), 2);
たぶんこれでいける。
スクリプトエラー云々は単なる記述ミスだと思うが…。
perl -cw なり >>534 の方法で確認。
0546名無しさん@お腹いっぱい。03/01/04 00:16ID:3GL3mxm0
>>534
とりあえず軽量化するための苦肉の策として投稿フォームをhtmlで
吐き出すことにしました。名無し投稿が可能なので匿名投稿可というのをクッキーの
言い訳に・・・(w 返信フォームではクッキーが有効なので大して問題もないですので

ご協力ありがとうございました。
054751503/01/04 09:35ID:KfYBPbca
AGE
発言ランキングどうやったらつけれるんですか?
0548nobodyさん03/01/04 14:59ID:???
>>547
入れようとして無理だったなら途中までのソース見せれ
054953603/01/04 19:17ID:???
>>538さん
教えて頂いた通りにしたら今度は上手くいきました!ご丁寧にご教授頂き本当に助かりました。有難うございました。
055051503/01/05 13:38ID:ApfC6Obw
age
0551nobodyさん03/01/05 18:18ID:???
newbbをi-mode用に改造しなさい
0552503/01/06 07:38ID:Fttc1nxV
age
0553nobodyさん03/01/06 11:40ID:JetMYh6a
ttp://dream.lib.net/room/cgi/e_linebbs.html
の改造なんですが、
新しい投稿が上にくるようにしたいのですがどうすればいいでしょうか?
投稿が増えると最新の投稿を見るためにいちいち一番下までスクロールさせないといけないのです。
アドバイスお願いします。
0554nobodyさん03/01/06 12:24ID:???
ソース見るの面倒だからどっかにうpくらいシレ!








まぁ、これくらいなら大体分かるか…
ログを記録するところがunshiftになってると思うから
pushにしれば完了
055555303/01/06 12:40ID:???
うわ!ほんとにできました!!!
天才かと思いました。俺、素人ですが。
ソースのアップすみませんでした。めんどくさいの忘れてました。
あああ。マジうれしい。ありがとうございました!!
0556nobodyさん03/01/06 17:12ID:mytKFvww
このスクリプトをhttp://asia.cnn.comの右下のQUICK VOTEにNOで答えるように
改造できないでしょうか?

<HTML><HEAD><TITLE lang="ja">タシーロ砲</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
</HEAD><BODY>Interval<input type="text" name="ival" value="1">
<input type="button" value="攻撃開始" onClick="c();">
<script type="text/JavaScript">
var tid;var ta=
"ここに攻撃目標を入力"
;w=window.open(ta,'san','WIDTH=100,height=50');
function c(){
w.location=ta;
tid=setTimeout("c()",ival.value);
}
</script></BODY></HTML>
0557nobodyさん03/01/06 18:30ID:???
誰か発言ランキングのつけかたおしえてくださいよぉ
0558おしえてください03/01/07 00:56ID:9J/jFVqF
「劇空間ぱわふるリーグ2(改)」という野球のCGIゲームなんですが、ご教授ねがえないでしょうか?
このゲーム、投手2人制なんですが、増員したくて4人にする事には成功したんです。
が、試合後に投手全員の「調子」を変更してローテーションを回す部分が解らないんです。

http://ari-sin3.hp.infoseek.co.jp/cgi-bin/source3/No_0024.txt

↑実際に試合を行うスクリプトです。
この中の「投手データ更新」の項目の部分らしいんですが、
これだと、打順9(先発投手)が打順12(控え)になって、打順12の控え投手が次回先発の打順9になるだけで、他の控え10と11の投手は全く移動が無くて4人で上手くローテーションが回りません。
どうかお知恵をお貸しくださいませんでしょうか?
0559nobodyさん03/01/07 04:43ID:zIfwbm71
>>558
そんなクソソース読む気がせん。が、

koushin_pitchの中の

}else{
$jun[$i][$k] = 9;
$kk = 8;
}



#$jun[$i][$k] に打順が入っていると仮定
#$kkはその沿え字と仮定



}else{
$jun[$i][$k] = $jun[$i][$k] - 1;
$kk = $kk-1;
}

で動く、かも。間違ってたらスマンということで。
0560vvv03/01/07 05:43ID:LnDaxIug
◆◇◆◇◆最新情報◆◇◆◇◆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0561nobodyさん03/01/07 10:09ID:???
発言ランキングのつけかたおしえてください
0562nobodyさん03/01/07 17:12ID:???
>>561
どういったものを希望しているのかわからんが…。
名前ごとの発言回数を記録したいならこれでいけると思う。
sub rank($) {
    my($name) = @_;
    my $found = 0;
    my @log;

    open RNK, "+<", $rankfile or error("Can't open file:$rankfile");
    eval "flock RNK, 2;";
    while (<RNK>) {
        chomp;
        my($log_name, $log_count) = split /\t/;
        if ($name eq $log_name) {
            push @log, join("\t", $name, ++$log_count) . "\n";
            $found = 1;
        } else {
            push @log, join("\t", $log_name, $log_count) . "\n";
        }
    }
    if (!$found) {
        push @log, join("\t", $name, 1) . "\n";
    }
    truncate RNK, 0;
    seek RNK, 0, 0;
    print RNK @log;
    close RNK;
}
0563nobodyさん03/01/07 17:13ID:???
(続き)
sub viewrank {
    open RNK, "<", $rankfile or error("Can't open file:$rankfile");
    eval "flock RNK, 1;";
    my @rank = <RNK>;
    close RNK;
    # by perlメモ
    @rank = map {$_->[0]}
           sort {$b->[2] <=> $a->[2]}
               map {[$_, split /\t/]} @rank;

    hphead();
    print qq[<h1>発言ランキング</h1>\n].
          qq[<table border="1">\n].
          qq[<tr><td>名前</td><td>発言回数</td></tr>\n];
    foreach (@rank) {
        chomp;
        my($name, $count) = split /\t/;
        print qq[<tr><td>$name</td><td>$count</td></tr>\n];
    }
    print qq [</table>\n];
    hpfoot();
}
056455803/01/07 17:17ID:sAGCj5os
>>559さん

見事にローテーション回りました♪
ありがとうございますm(_ _)m
>そんなクソソース読む気がせん。
やっぱり酷いスクリプトなんっすか?
もともとFFAの改造らしいですが。
「劇ぱわ」を改造したはる人の間ではわかりにくいと評判のようです(w
0565名無しさん@お腹いっぱい。03/01/07 20:08ID:???
>>564
スクリプトいじれもしねぇ〜くせにガタガタ抜かしてんじゃねぇ〜。この真性包茎が!
0566nobodyさん03/01/07 20:21ID:2QX2iHj7
初めまして。
ご指導を仰ぎたく書き込ませていただきます。
>>34でも挙げられているエースさんの履歴風掲示板、
http://www.ace-cgi.jp/cgi/sch/005/index.html
(サンプル:ttp://www.ace-cgi.jp/cgi/sch/005/sample/sch005.cgi)を
サッカーチームの日程紹介に利用したいと思っていますが、
1月が一番上、12月が一番下と、これから来る月が
下方に表示されるようにしたいのですが、
どのようにアレンジすればよろしいでしょうか。
また、上のフレーム上部にタイトル画像を表示させたい場合はどの位置に
$titleを記入すればよいのでしょうか。

お手数をおかけして申し訳ございませんが、
ご回答いただければ幸いです。なにとぞよろしくお願いいたします。
056755803/01/07 21:25ID:sAGCj5os
>>565

なっ、なぜわかった!?
0568名無しさん@お腹いっぱい。03/01/07 21:56ID:0U86HUrj
>>567
最もらしい顔して書き込んでればみんな職人さん!ってわけではないのだよ。
ソース以前にこんなスクリプト使う奴の気がしれん。ネパワでよくみかけるが。
0569名無しさん@お腹いっぱい。03/01/07 22:00ID:???
>>566
なぜソースをあげないのかと小一時間・・・。34のファイルはすでに消えているし
あったとしても圧縮ファイルじゃほとんどの人は読まないよ。君がtxtで
うpしなよ。
057055803/01/07 22:05ID:sAGCj5os
>>568

いや、真性包茎のほうでつが...<なぜわかった!?

冗談はさておき、連勝中のチームでのローテが上手く回らない事が判明しました。(ToT)
症状をまとめるため、もう少し試合重ねてみます。
(今のところ、数連勝していると投手の打順が8や7になって、野手として試合参加してしまいます)
0571nobodyさん03/01/08 18:22ID:???
>>562-563それはどこにかけばいいんですか?
0572nobodyさん03/01/08 18:52ID:???
>>571
取り敢えず最終行で良いんじゃねぇの?
てか、これ位も判らないんじゃ話にらん
少しはPerl勉強して出直してこい
0573nobodyさん03/01/08 19:58ID:/YJAwlvJ
発言ランキングを表示するところをつくれば表示されますよね?
0574nobodyさん03/01/08 22:24ID:???
お邪魔します。

http://kano.feena.jp/erial/ealis2/
こちらで配布されている掲示板、ealisv2.59なんですが
一定のレス数を超えると古いレスから隠れるよう改造したいのです。
自分なりにいろいろやってみたとか言うつもりはありません
まったく知識はなくコピペしかできません。
>>1の注意事項(3)少しは自分で考えること。に違反してしまいますがどうか宜しくお願いします。

掲示板サンプル
http://kano.feena.jp/cgi/sample/e25/ealis.cgi
ソースはこちらに
http://henachoko.homeip.net/uploader/updata/20030108220620.txt
0575名無しさん@お腹いっぱい。03/01/09 00:34ID:???
>>570
ずっとそのままなら手術だな(藁
0576nobodyさん03/01/09 00:37ID:???
>>574
# ealis_cfg.cgi
以下の行を追加
$INI{'res_view'} = 5; # レスの表示数

# ealis_let-std.pl
sub lettering 内にあるif文を書き換える
if ($oyaflag) {
    #この中はそのまま
} else {
    if($flag != 2) { print "<br><hr width=\"95%\" size=1 class=r noshade>\n"; $flag = 2;}
    $resflag = 1;
    if (@res >= $INI{'res_view'}) {
        shift @res;
    }
    push @res, join("\t", $name, $color, $ipaddr, $font, $comment, $date);
}

以下を追加
sub printres {
    foreach (@res) {
        my($name, $color, $ipaddr, $font, $comment, $date) = split /\t/;
        print qq[\t<table border=0 cellspacing=0 cellpadding=0><tr><td nowrap valign=top>\n].
              qq[\t<font color="$color"><b>$name</b><!-- $ipaddr --> ></font></td>\n].
              qq[\t\t<td$font><font color="$color">$comment</font>\n].
              qq[\t\t<span class="stamp">($date)</span></td></tr></table>\n];
    }
    $resflag = 0;
    @res = ();
}
0577nobodyさん03/01/09 00:38ID:???
(続き)
# ealis.cgi
106行目あたりにある if($flag){ &reswindow($_[0]);} の上に
if($resflag) { printres(); }
を追加。119行目あたりにもあるので同様に。
057857403/01/09 02:37ID:???
>>576-577
すいませんファイルが足りなかったようで、ありがとうございます。

そのように書き換え・追加したのですが
記事が表示されなくなりました。

ealis_let-std.plのソース
http://henachoko.homeip.net/uploader/updata/20030109021601.txt
ealis.cgiのソース(追加した所以外省略)
http://henachoko.homeip.net/uploader/updata/20030109021527.txt

ealis_cfg.cgiに関してはこのように追加しました。
## ■システム設定

$INI{'allowtag'} =0;# タグの許可(0or1)
$INI{'res_sort'} = 1;# 返信がつくと親記事をトップへ移動 (0or1)
$INI{'autolink'} = 1;# 自動リンク (0or1)
$INI{'ipview'} = 0;# 現在のIP表示(0or1)
$INI{'refcheck'} = 0;# 他サイトから投稿排除する時に指定 (0or1)
$INI{'show'} = 8;# 1ページ当たりの記事表示数 (親記事)
$INI{'res_view'} = 5; # レスの表示数
#$INI{'gzip'} = '/bin/gzip';

なにか間違えてますでしょうか?
ご迷惑をおかけしますがよろしくお願いします。
0579nobodyさん03/01/09 02:56ID:???
KENTさんのとこのpatioにトリップつける改造が紹介されてたんですが
ttp://rightstuff.cool.ne.jp/test_site/patio/patio.cgi?mode=view2&f=44&no=10-11
同じほうほうでyybbsに組み込むことってできますかね?
0580nobodyさん03/01/09 03:53ID:???
>>578
あー、スマン。書き方が悪かった。
sub printres はifの中じゃなくて、
ファイルの一番下にでも書いて欲しかった。ってことで
http://henachoko.homeip.net/uploader/updata/20030109021601.txt
の48-54行目を消せばいける。あと25行目の else の閉じ括弧が無いので
それもつけること。
0581nobodyさん03/01/09 05:56ID:???
>>579
まずは自分でやってみる。上手くいかなかったら、はじめてここで質問する。

自分で出来ること(チャレンジ)を端折るな。じゃなきゃ、いつまでたっても
質問廚だぞ。
058257803/01/09 14:28ID:???
>>580
すいません理解力に乏しくて。
48-54を削除し閉じ括弧を付けましたところ
うまく行きました。
感謝します、ありがとうございました。
0583nobodyさん03/01/09 19:18ID:+NBXZYwN
>>562さんおしえて
0584nobodyさん03/01/10 00:40ID:???
>>583
そのトリップを付ける改造方法を紹介してるトコで聞いてみれば?
058548603/01/10 02:34ID:???
同じスレで何度も質問して申し訳ございません。
この掲示板はユーザーがここの書き込みを削除したり、
編集したり出来るようにパスワードをうち込めるのですが、
そのパスワードを管理人用のマスターパスでも削除や編集が出来るようにしたいんです。

http://www2.csc.ne.jp/~nga/light.txt
http://www2.csc.ne.jp/~nga/admin.txt
http://www2.csc.ne.jp/~nga/init.txt

上記の3つがソースなのですが、
改造するのは一番上のメインスクリプトだけだと思いますので他は必要ないと思います。
管理者用パスはadmin.txtにしか設定されていませんので
light.txtの最初の方に$pass = '0123';をいれて、
記事削除の467行目あたりと記事修正の532行目あたりを
改良して色々試してみたのですがどうしてもうまくいきません。
わからないながらも簡単な改良のように思えるので、
またこのスレのお世話になりにきてしまい恥ずかしいかぎりです。
教えて頂ければ幸いです。
058648603/01/10 02:34ID:???
>>507
レス遅くなりました。
複数修正チェック入れさせていただきました。
どんどん機能が増してきて凄く嬉しいです。ありがとうございました。

>>508
パス丸出しでしたw
念の為パスワード変えました。ご指摘ありがとうございました。
0587nobodyさん03/01/10 04:27ID:???
>>585
大まかには理解しているようなのでヒントだけ。
sub decrypt はパスワードが正しければ1、そうでなければ0を
返すようになっている。これをパスワードが正しい、もしくは
管理パスと同じ場合に1を返すようにすれば良い。
0588nobodyさん03/01/10 10:31ID:a9CYRt8t
ワードラップ表示のない掲示板を設置しています。
改行を入れずに記入されると、表示がびよぉ〜んと伸びて、ブラウザを右にスクロールしないと読めなくなります。

普通は、表示のほうでワードラップさせるのでしょうか。

そこで考えているのですが・・・。
掲示板書き込みの、内容チェックルーチンの後ろに、自動整形ルーチンを
持たすようにしたいんです。
昔のMS-DOSの時にあった fin という外部コマンドみたいな機能です。
付け加えたいのは、
.br といった、改行を入れる埋めこみコマンド(一つだけ)
禁則処理
引数で、桁を指定
引数で、インデント桁を指定(これで四角い文書になる)

引数のわたし方ですが、チェックボックスでも作るのがいいでしょうか?

こうした機能がすでに書かれたサブルーチンがどこかにあったら見てみたいのですが、
ご存じないでしょうか?
0589bloom03/01/10 10:51ID:KGaolIdm


http://www.agemasukudasai.com/bloom/
0590nobodyさん03/01/10 11:00ID:???
>>587
管理パスは平文でスクリプトに書いている。
sub decryptは通さないでそのまま比較すればいい。
if ($in{'pwd'} eq $pass)
059159003/01/10 11:28ID:???
>>486,585
sub decrypt {
local($inp, $log) = @_;
の下に
if ($inp eq $pass) {return(1);}
を追加したらどうやろ
059258603/01/10 15:18ID:???
>>587
大まかには理解していると言っていただけて嬉しいです。
最初はほんとにさっぱりわからなくてHTML部分の改造以外できなかったのですが、
毎日わからないながらも試行錯誤していたら少しだけですがわかってきました。
だんだん覚えていくので凄く楽しいです。

>>590
パスを書かないのがif ($in{'pwd'} eq "")だったのでそこにパスを入れれば
「もしもパスが入力されていたら」になるかなぁと思って
それと同じような文を書いたんですけど、結局出来なかったんです。
惜しかったんでしょうか。

>>591(590)
その一行を追加しただけで出来ました!
簡単とは思ってはいましたが一行で済むとは思いませんでした凄いです!
私が考えていた所と全く焦点が違っていた事に驚いてます。
何度も質問したのでもう一度ここのお世話になるか凄く迷ったのですが、
質問してよかったです。(皆様にはお手数かけましたが)
本当にありがとうございました。m(_ _)m
0593nobodyさん03/01/10 17:57ID:ViB4peHI
発言ランキングのつけかたおしえてください
0594nobodyさん03/01/10 18:02ID:???
>>593

>>1を読んでYO

質問するときは以下の点に注意して書いて下さい

(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

※答えてくれないからといって逆ギレする厨はお断り
0595nobodyさん03/01/11 01:14ID:???
>>593は少々イジけているんだろ。
すんなり誰も教えて(改造して)くれなかったから。

自分でドコまでやったのか
それを示せばいい答えが返ってくるかも知れないぞ
0596nobodyさん03/01/11 03:55ID:???
>>593はPerl判らないから全部コピペで完全に動作する所まで説明しないと判らないんだろう
って、言うかどう言うのを希望なのかHTMLすら出さないから
HTMLもタグ打じゃ書けないヨカーン
0597nobodyさん03/01/11 12:28ID:???
発言ランキングの奴はcomchatの奴をつかいたいです。
0598nobodyさん03/01/11 13:10ID:???
>>597
KENT氏のCOMCHATについている発言ランキングを
自作のスクリプトに使用したいってことか?

・・・勝手に使えばいいぢゃないかYO
0599nobodyさん03/01/11 13:30ID:???
comchatなんて、元々ゆいちゃっとからのパクりが多いから、全然OKだろう。
0600nobodyさん03/01/11 22:44ID:???
ネットサーフしててあるところの掲示板で見かけたのですが

掲示板の書き込みで

”>”のような引用を使うとその一文の文字色が変わり
背景色がつけられて 目立つ

ようなのを見かけたのですが

どうすればできるのでしょうか?
背景色は外部スタイルシートでしょうか?

よろしくおねがいします

テキストは
ttp://www23.tok2.com/home/fura/yybbs.txt
です。
(トクトク仕様で見づらいですがソースで確認お願いします)

よろしくおねがいします
0601背景中央っこ03/01/11 23:15ID:h7Wygp1p
perl掲示板の壁紙について質問があります。
現在、
 {
  print "<body background=\"背景イメージ" bgproperties=\"fixed\"
 }
となっていて、壁紙はリピートになっているのですが、
この壁紙を「中央に1つだけ表示」するにはどうしたらよろしいのでしょうか?
CSSでいうと
.Wallpaper {
background-attachment: fixed;
background-image: url(背景イメージ);
background-repeat: no-repeat;
background-position: center center;
}
の様にしたいのです。
よろしくお願いします。
0602nobodyさん03/01/12 00:39ID:???
>>600
そのyybbs.txtはそのままでも動作しているの?
同じエラーが沢山でていたが・・・トクトクでは動くのかな。。まぁぃぃゃ。。。

背景色を変える方法はスタイルシートやTABLEタグを使ったりすると思います。

アップしたyybbs.txtの
611行目に
$comment =~ /(^|(?:<br>))((>|>)(?:(?!<br>).)*)/\1<FONT color=#ffffff style="background-color:#666666">\2<\/FONT>/g;

577行目
$com =~ /(^|(?:<br>))((>|>)(?:(?!<br>).)*)/\1<FONT color=#ffffff style="background-color:#666666">\2<\/FONT>/g;

543行目
$comment =~ /(^|(?:<br>))((>|>)(?:(?!<br>).)*)/\1<FONT color=#ffffff style="background-color:#666666">\2<\/FONT>/g;

を追加するようなやり方でも可能です。
0603nobodyさん03/01/12 00:51ID:???
>>602
ぉ! 間違えてる。。
sも抜けてるし・・・
s/(^|<br>)((>|(?:>))(?:(?!<br>).)*)/\1<FONT color=#ffffff style="background-color:#666666">\2<\/FONT>/g;
です。。
0604nobodyさん03/01/12 01:27ID:???
>>601
そのprint文にスタイルシートを追加では
なにか問題があるのでしょうか?

print '<body background="背景イメージ" bgproperties="fixed" style="background-repeat: no-repeat; background-position: center center;">';
0605nobodyさん03/01/12 12:06ID:eJ8Igs3E
今ホムペつくってるんですけど、a.htmというページがあるとしてそこに5人
きてるとします、それでその人数を、b.htmに表示したいんです。
それでhttp://shena.myako.net/strangelady/cgijs/imakoko/imakoko.html
っていうのをみつけたんですがこれはa.htmにきている人数をa.htmにしか表示できないみたい
なんです、このスクリプトを変更してb.htmにでも人数を表示するということはできませんか?
もしそういうことができるなら誰かアドバイスください★
0606nobodyさん03/01/12 12:47ID:???
>>605
以下のように書いてありますが、何か?日本語読めますか?
CGIファイルをサーバーにアップロードして、ページには1行書き加えるだけ
<script language="JavaScript" src="imakoko.cgi"></script>
0607nobodyさん03/01/12 12:52ID:???
>>605
a.htmlを見ていると思われる人数を
b.htmlに表示することは可能です
マルチポストなので私は改造しませんけれど
0608nobodyさん03/01/12 12:54ID:???
>>605
おまえね、誘導されてきたなら元スレにお礼言ってから
こっちでも誘導されてきましたって挨拶するべきでしょ?
060992703/01/12 13:02ID:???
タッキーズルームのpulinplinkに背景固定のスタイルシートを加えたいんだけど、
どのへんいじったらいいかわかりません。誰か教えてください。
0610nobodyさん03/01/12 13:05ID:???
>>609
>1読んでURL晒せ
0611nobodyさん03/01/12 13:17ID:???
>>609
420行目にbodyタグのCSSとかが在るからそこを書き換え
てか、次からはCGIのテキストをUPするか最低限配布場所のURLを明記しましょう。
0612nobodyさん03/01/12 13:19ID:eJ8Igs3E
>>606
あ〜今からお礼いいにいってきます!&誘導されてきました。
んとぉ〜b.htmに<script language="JavaScript" src="imakoko.cgi"></script>
をはると、b.htmを見てる人もカウントされてしまうんです。
a.htmみている人をb.htmに表示したいんです。
0613nobodyさん03/01/12 13:22ID:???
>>609
タッキーズルームへ逝ったけどpulinplinkというタイトルのCGI見つからなかった
pulinplinkでgoogleで検索しても見つからなかった

0614nobodyさん03/01/12 13:29ID:???
>>613
試しにみてみたら・・・あるじゃん
ぷりんぷりんく pulinplink.cgi って。。
0615nobodyさん03/01/12 13:31ID:eJ8Igs3E
>>607
すみません。マルチポストってマナー違反ってしりませんでした。
すみませんがおしえてもらえませんか?どうしてもしたいんです。
おねがいします。もぉ、おこっちゃったかなぁ…
0616nobodyさん03/01/12 13:34ID:???
>>614
ありがとう
0617nobodyさん03/01/12 13:34ID:???
>>615
板違い
どっか初心者板へ逝って
061860903/01/12 13:37ID:???
>>611
ありがとうございます。
いろいろやってみたけどできなかったです。もうちょっとやってみます。

>>614
説明わかりにくくてすいません
0619nobodyさん03/01/12 13:39ID:???
>>615
ん? 607・・・って私ですか(笑
全然怒ってはいないですよ。昼飯食べてくるからその後で・・・よければ。
0620nobodyさん03/01/12 13:47ID:???
>>615
これ読んでおいて
http://pc3.2ch.net/test/read.cgi/hp/1042273042/123

躾けが行き届いてない厨を誘導してすみません
面倒見てやってください。>スレ住人
0621nobodyさん03/01/12 14:20ID:???
>>615
まずimakoko.cgiの88〜90行目の
  foreach $line(@out){
    print "document.writeln(\"$line\");\n";
  }
の行頭に#を挿入してコメントアウト。

次に48行目に以下をコピペ
if ($ENV{'QUERY_STRING'} eq 'b') {
  @NEWDATA;
  foreach $line(@DATA) {
    ($time,$host) = split(/\,/,$line);
    if (($time_now - $tmax) < $time && $host ne $myhost){
      push(@NEWDATA,$line);
    }
  }
  $count = @NEWDATA;
  @OUT = ("今hogeページに$count人の人がいます");
  if ($font){
    unshift(@OUT,$font);
    push(@OUT,"</font>");
  }
  print "Content-type: text/plain\n\n";
  print "<!--\n";
  foreach $line(@OUT){
    print "document.writeln(\"$line\");\n";
  }
  print "//-->\n";
  exit;
0622nobodyさん03/01/12 14:20ID:???
>>621
そして、a.htmlでは普通にスクリプトを呼び出して
b.htmlではimakoko.cgi?bのように?bを追加して読み込んでください。

<script language="JavaScript" src="imakoko.cgi?b"></script>

もっとスマートに改造できるのですが・・・とりあえずこれでも可能です。。
0623nobodyさん03/01/12 14:22ID:???
>>621
あ、exti;の後にもう1つ}がいります。。
exit;
}
0624nobodyさん03/01/12 14:24ID:eJ8Igs3E
>>622ほんとですか!やってみます!こんなやつにわざわざありがとうございます。
あ!このbってのはb.htmだからbなんですか?
それともなんかの。。。
0625nobodyさん03/01/12 14:36ID:???
>>624
そうです。b.htmlでしたから、bとしてみただけです。他意はありません。。

49〜59行目を以下で置き換えるだけでも同様です
こちらの方が少しはスマートです。。

if ($ENV{'QUERY_STRING'} ne 'b') {
  @NEWDATA = ("$time_now\,$myhost\,\n");
}
foreach $line(@DATA) {
  ($time,$host) = split(/\,/,$line);
#  if (($time_now - $tmax) < $time && $host ne $myhost){
  if (($time_now - $tmax) < $time){
    push(@NEWDATA,$line);
  }
}
if ($ENV{'QUERY_STRING'} ne 'b') {
  if (!open (DATA,">$logfile")) { &output("エラー!:ログファイルのパーミッションは666になってますか?");}
    print DATA @NEWDATA;
  close(DATA);
  &output(undef);
  exit;
}
0626nobodyさん03/01/12 14:37ID:???
>>625
蛇足です。。コメントアウトしていたのを忘れていました。。

if ($ENV{'QUERY_STRING'} ne 'b') {
  @NEWDATA = ("$time_now\,$myhost\,\n");
}
foreach $line(@DATA) {
  ($time,$host) = split(/\,/,$line);
  if (($time_now - $tmax) < $time && $host ne $myhost){
    push(@NEWDATA,$line);
  }
}
if ($ENV{'QUERY_STRING'} ne 'b') {
  if (!open (DATA,">$logfile")) { &output("エラー!:ログファイルのパーミッションは666になってますか?");}
    print DATA @NEWDATA;
  close(DATA);
  &output(undef);
  exit;
}
0627nobodyさん03/01/12 15:01ID:3kq2ylQl
おしえてください!発言ランキングのつけかた
KENTのところにあるCOMCHATの発言ランキングをつけたいです。
0628nobodyさん03/01/12 15:07ID:???
>>624
imakoko.cgi?bって呼び出すのは適当すぎますし
imakoko.cgi?countって呼び出したページの人数をカウントして
imakoko.cgiだけで呼び出した時に人数を表示するほうが、より良いですね。

あと
@OUT = ("今このページに$count人の人がいます");
のメッセージも自分流に書き換える必要がありそうです。
無理に書き換える必要はありませんけれど、、
宿題として・・・?? でわでわ!
0629nobodyさん03/01/12 15:30ID:z75wTlqT
ありがとうございます!早速やってみます!ありがとうございます!!
063056603/01/12 17:34ID:0R5jZ1Nf
>>566にてエースさんのスクリプト改造について
アドバイスをお願いした者です。
>>569さん、行き届かず申し訳ありませんでした。

以下にスクリプトをテキストで上げましたので、
改めてご指導よろしくお願い申し上げます。
ttp://lipservice.tripod.co.jp/ace.txt
0631nobodyさん03/01/12 17:56ID:???
>>630

ace.txtの70行目に
@DATA = reverse(@DATA);

タイトルは64行目の
print "</td>\n";
の後に
print "<td bgcolor=#CCCCCC align=center>$title</td>\n";
を挿入で表示できます。
0632nobodyさん03/01/12 18:00ID:???
>>631
っと、タイトルは画像でしたね。。
$titleを<img src="画像">に置き換えるか

57行目の
print "<table width=100% cellpadding=3 cellspacing=0 border=0><tr>\n";
後に
print "<td align=center><img src="画像"></td></tr><tr>\n";

とでも記入してください。。
0633nobodyさん03/01/12 18:09ID:???
>>632
失礼、、画像タイトルは55行目を以下のように変更です。
print qq{<center><img src="画像"></center>\n};
0634nobodyさん03/01/12 18:38ID:???
>>631
@DATA = reverse(@DATA);
データを削除したり編集したりしている内に表示順がおかしくなるねぇ
reverse行は取り消して

73行目の
foreach $line (@DATA){

foreach $line (sort @DATA){
で解決かな?
0635nobodyさん03/01/12 19:06ID:/hVM4GRx
お絵かきけいじばんの、画像を保存するのを無理やりgifに変換するにはどうしたらいいのかを考えるすれに変わりました
063660003/01/12 19:44ID:???
>>602>>603
を元にできました。どうもでした。
ただ全角の引用の”>”には対応するのですが
半角の”>”にも対応させるにはどうすればいいでしょうか?
半角を使う人もいるので・・・

よろしくおねがいします
0637nobodyさん03/01/12 19:55ID:???
>>636
?ああ2chに書き込んだときに>に変換されてしまったのね。。

s/(^|<br>)((>|(?:>))〜
の>を&gt;と半角で置き換えて。。

>>635
ttp://www.imagemagick.org/www/perl.html
0638nobodyさん03/01/12 19:58ID:???
>>637
>って言っても
<br>はそのままだYO
念のため
063960003/01/12 20:16ID:???
>>637
できますた。
どうもでした
0640nobodyさん03/01/12 22:01ID:???
ttp://sugachan.dip.jp/download/joyful.php
ここのスクリプトのHTMLVerなんですが
1ページ目を0.htmlではなくindex.htmlで吐かせたいのですが
どこを変えればよいのでしょうか?
0641背景中央っこ@60103/01/12 22:42ID:U7D7FDnd
>>604さんへ

できました!
あたしはperlは無知なので助かりました。
簡単な質問にも丁寧に回答していただいてありがとうございました!
0642nobodyさん03/01/12 23:10ID:???
>>640
2・3日待って貰えば
ユーザーの方でファイル名設定できるようにします.
0643nobodyさん03/01/12 23:37ID:???
>>641
PerlつーよりHTMLだわな。
0644nobodyさん03/01/12 23:44ID:HvHiIRir
◆◇◆◇◆最新情報◆◇◆◇◆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0645566=63003/01/13 00:16ID:???
>>631-633さん、>>634さん

どうもありがとうございます!希望通りの表示になりました。
お時間を割いていただいて恐縮です。
たった1ワード入れるだけで変わるものなんですね。
何を勘違いしたのか数字を入れたりしていました...

いまはは曜日表示の追加と下部に表示される記事部分を
一番上の日付ぶんが最初に来るように調整してみています。
自分でスクリプトをすべて書けるようになったら
とても気持ちがよいでしょうね。がんばります。
0646nobodyさん03/01/13 02:26ID:???
>>640
更新しておきますた
0647nobodyさん03/01/13 05:00ID:???
>>627
>>562-563を書いた者だが…。
「発言ランキングのつけかた」なんて漠然と言われても、
「発言ランキングとして動作するコードを書け」としか答えようが無い。
そしてできなかったのなら、自分でどこまでやったのかを書くこと、と
言われてるだろ…。全くPerlができないのなら最初に具体的な仕様を
書くこと。そうしていれば>>562-563のような無駄なコードは書かずに済んだわけで。
こっちだって時間を割いてスクリプトを書いてるんだから。
まぁ乗りかかった船だから一応教えるけどさ…。
0648nobodyさん03/01/13 05:00ID:???
31行目あたりに
# 発言ランクファイル
$rankfile = './rank.dat';

# 発言ランクログ保存日数
$limit = 7;
を追加。
324行目あたりに elsif の閉じ括弧があるのでその下に更に
elsif ($act eq "ranking") {
    viewranking();
}
を追加。
675行目あたりにある </tr> と </table> の間に
<tr><td> </td>
<td>
<form method="post" action="./ichat.cgi" target="frame2">
<input type="submit" value="発言ランキング" class="button">
<input type="hidden" name="act" value="ranking">
<input type="hidden" name="name" value="$name">
<input type="hidden" name="color" value="$color">
<input type="hidden" name="lines" value="$lines">
<input type="hidden" name="reloadtime" value="$reloadtime">
<input type="hidden" name="hrindi" value="$hrindi">
</form>
</td>
</tr>
を追加。
835行目あたりにある close (IO); の下に
ranking();
を追加。
0649nobodyさん03/01/13 05:01ID:???
ファイルの一番下に
sub ranking {
    my $rflag = 0;
    my @new;

    open RNK, "+<", $rankfile or error("Open Error : $rankfile");
    eval { flock RNK, 2; };
    while (<RNK>) {
        my($r_name, $r_kaisu, $r_time) = split /<>/;
        if (time - $r_time > $limit*24*60*60) { next; }
        if ($r_name eq $name) {
            $rflag = 1;
            $r_kaisu++;
            $_ = "$r_name<>$r_kaisu<>" . time . "<>\n";
        }
        push @new, $_;
    }
    if (!$rflag) { unshift @new,"$name<>1<>" . time . "<>\n"; }

    truncate RNK, 0;
    seek RNK, 0, 0;
    print RNK @new;
    close RNK;
}
0650nobodyさん03/01/13 05:09ID:???
sub viewranking {
my %count;
hphead();
print qq#[<a href="./ichat.cgi?act=reload&name=$name&color=$color#.
qq#&lines=$lines&reloadtime=$reloadtime&hrindi=$hrindi">#.
qq#チャットに戻る</a>]\n#.
qq#<center>\n#.
qq#<h3>$title</h3>\n#;
open IN, "<", $rankfile or error("Open Error : $rankfile");
print qq[<P>- 以下は $limit日以内の発言を対象としたランキング一覧です -\n].
qq[<P><table border=1 cellspacing=0>\n].
qq[<tr><th>順位</th><th>おなまえ</th><th>発言回数</th></tr>\n];
while (<IN>) {
my($name,$count) = split /<>/;
$count{$name} = $count;
}
my $rank1 = 0;
my $rank2 = 1;
my $count_tmp = 0;
foreach (sort { ($count{$b} <=> $count{$a}) || ($a cmp $b)} keys(%count)) {
($count{$_} == $count_tmp) || ($rank1 = $rank2);
print "<tr><td>No\.<b>$rank1</b></td><th>$_</th><th>$count{$_}</th></tr>\n";
$count_tmp = $count{$_};
$rank2++;
}
print "</table></small></center>\n</body></html>\n";
exit;
}
を追加して終了。
ちなみにサブルーチンはKENTのやつからもってきただけ。
(ただ、無駄な部分は省いた。)
# 長くてスマソ... 今度からインデントやめます。
0651645に追記です。03/01/13 05:31ID:???
>>645で報告させていただきましたが、
sortを記入すると曜日ごとにソートされまとまって表示されるのに気づき、
reverseを記入してみたらうまくゆきました。
0652nobodyさん03/01/13 11:07ID:???
>>651
スクリプト改造お疲れさまです。

sortを使用した場合、ログデータをそのまま並び替えています。
デフォルトの状態では〜.datファイルが
年<>月<>日<>タイトル<>本文<>
年<>月<>日<>タイトル<>本文<>
・・・

のフォーマットで保存されています。
曜日ごとに並び替えられてしまったのは
曜日<>年<>月<>日<>タイトル<>本文<>

みたいに曜日をデータの先頭に挿入しているため
曜日毎に並び替えてしまったのかな、と推察しています。

reverseの使用で対処できるとのことでなによりですが
reverseしてデータを表示するルーチンの後に
もう一度reverseして@DATAの内容を元に戻しておくことを勧めます。
もちろん問題がでていないようなら必要ありませんけれど。。

@DATAをreverseしたままの場合は
他のルーチンのロジックも少し弄る必要があるかも知れません。
あしからず。
0653nobodyさん03/01/13 17:17ID:9dWOZyTE
>648のようにやりまして、エラーが発生しました
324行目あたりに elsif の閉じ括弧があるのでその下に更に
elsif ($act eq "ranking") {
viewranking();
}
っていうところなんですけど、elsif (($act eq "mainframe") || ($act eq "changeframe")){
の↓にかけばいいんですよね?elsif ($act eq "ranking") {viewranking();}{このように
0654nobodyさん03/01/13 19:12ID:???
>>653
俺の言ってるelsifの閉じ括弧っつーのは
elsif (($act eq "mainframe") || ($act eq "changeframe")){
  #元からあったコード
} ←これ。

なのでその下に追加すれば良い。
別に改行しなくてもいいんだけど、>>648で書いている行番号は
改造を行った後のものだから混乱するかも。
あとエラーが出たのならエラーメッセージを出せばなお良い。
0655nobodyさん03/01/14 00:48ID:hZLDsUe8
kentwebのスレッド式掲示板webpatioのスレッド名の文字数制限をなくしたいのですが
どなたか方法をお教え願えませんでしょうか?
0656nobodyさん03/01/14 01:22ID:???
# コメント文字数チェック
if (length($in{'comment'}) > $max_msg*2) {
&error("文字数オーバーです。<br>
全角$max_msg文字以内で記述してください");
}
0657nobodyさん03/01/14 01:27ID:???
>>655
>>656
init.cgiに
# コメント入力文字数(全角換算)
$max_msg = 800;

・・・スレッド名の文字数じゃなくてコメントの文字数なのかYO
065865503/01/14 01:54ID:hZLDsUe8
>>656-657
コメントの文字数ではなくてスレッドの題名の文字数です。
宜しくお願いします。
0659nobodyさん03/01/14 02:09ID:???
ここはSの依頼者とMの回答者が仲良く助け合うスレッドですか。
0660nobodyさん03/01/14 04:06ID:???
>>658
patio.cgiの464行目
<td><input type=text name=sub size=30 value="$resub" maxlength=30>
maxlengthの値を変えましょう
perlばかりみていたYO。。。

>>659
(≧∇≦)ブァッハハ!
066165503/01/14 04:52ID:hZLDsUe8
>>660
無事改造できました。いやー助かりました。
どうもありがとうございました。
0662nobodyさん03/01/14 05:52ID:H5j11McP
http://www6.ocn.ne.jp/~endou/index2.html
0663nobodyさん03/01/14 14:10ID:VUdpm8ck
ttp://fitness.s7.xrea.com/index3.php
これをWinXPサーバで動かしたいのですが
rejpeg repng regifがどうもLinux専用らしいのです
Windows版 rejpeg repng regifってどこかにありませんか?
0664nobodyさん03/01/14 16:06ID:???
>>663
無い
0665nobodyさん03/01/14 18:31ID:5gQYQZhs
http://csx.jp/~feger/ichat.txt
↑の奴やったんだけど500エラーがでました
0666nobodyさん03/01/14 18:46ID:???
>>665
一行目は空白入れない
0667nobodyさん03/01/14 20:44ID:+oyPgr4P
1行目とは?
0668nobodyさん03/01/14 20:59ID:???
>>665
使い古されたアレだが、500だけじゃ何がエラー原因か絶対にわからん。
ローカルで試してエラーメッセージを確認してから出直して来い。
0669nobodyさん03/01/14 21:11ID:+oyPgr4P
ローカルで試せってどうやって?
0670nobodyさん03/01/14 21:13ID:???
>>665
これ見て勉強しなさい。

syntax error at line 308, near "$name "
Unmatched right curly bracket at line 321, at end of line
syntax error at line 321, near "}"
Execution of aborted due to compilation errors
067166803/01/14 21:27ID:???
おお、親切な>>670がエラーメッセージを出してくれたぞ。
これで意味がわからなければ>>665はもうプログラムいじるのやめろ。
これが理解できないようであれば、これから先他人に迷惑かけるだけだから。
0672nobodyさん03/01/14 21:47ID:???
>>669
ActivePerlとApacheを入れる。
詳しくは、ググル
0673nobodyさん03/01/14 22:28ID:???
>>665
なるほど、、ランキングを付けようとされてるのですね。
そのために追記された305行目の
elsif ($act eq "ranking") {viewranking();}{
}

のブラケット使い方、条件分岐の使い方が間違っています。
そこの部分を元に戻して
321行目の}の後に
elsif ($act eq "ranking") {viewranking();}

とでも入れてください。。
067460003/01/15 11:54ID:???
>>600
掲示板の書き込みで
”>”のような引用を使うとその一文の文字色が変わり
背景色がつけられて 目立つ

ってのを教えてもらった者ですが

このCGI携帯からも閲覧&書き込み可能なのですが
携帯から見た際には反映されていませんでした
携帯でアクセス際にも反映させるにはどうすればいいでしょうか?
それとも携帯からは無理でしょうかね?
一応ですが携帯でも<font color〜>とかのタグには反応するので・・・

テキストは
ttp://www23.tok2.com/home/fura/yybbs.txt
です。
(トクトク仕様で見づらいですがソースで確認お願いします)

よろしくおねがいします
0675nobodyさん03/01/15 12:41ID:???
>674
携帯用のHTMLタグを勉強汁!!
0676山崎渉03/01/15 13:31ID:???
(^^)
0677nobodyさん03/01/15 13:39ID:???
>>674
なんだあ、このテキスト?
トクトク仕様で見難いんぢゃなくて
お前の脳内仕様だからダメなんだよ
教えた香具師も報われないな(w
暇だったから覗いてみたが、時間の無駄
0678nobodyさん03/01/15 13:58ID:???
>>677

マターリいこうぜ。
煽って文句言うだけなら誰でもできるぞ

>>674
気にするな
0679nobodyさん03/01/15 14:49ID:???
>>678
600以降のやり取りと674のテキストをみてマターリできるような香具師ははっきり言ってキモイ
0680nobodyさん03/01/15 15:24ID:???
>674
よく分らないテキストはうっちゃっておいて。。
どのみちスタイルシートと同様で
全ての携帯向けに背景色を指定するのはできませんし
<FONT color=〜で文字色にて目立たせるか
<B>などで強調して表示させるほうがベターなのではないでしょうか。
068160003/01/15 15:59ID:???
お騒がせしてスマソ
テキストはこちらで
http://www23.tok2.com/home/fura/yybbs.bin

よく調べればできることでした。見苦しいものを見せてしまって申し訳。

>>680
おっしゃるとおりにしようと思います
背景色設定は無理ですね。
>の引用を使った時に文字色を変えて目立たせようと思うのですが
携帯からの閲覧に反映するには教えてもらった
$commentと$com をどこに挿入すればよいかわからなくて…

たびたびすいませんがわかる方よろしくおねがいします。
0682nobodyさん03/01/15 17:16ID:???
>>681
お疲れさまです。
書き換え易いように下方の行から・・・

yybbs.binの1273行に
$com =~s/(^|<br>)〜
を追加することで検索時にも強調されます。これは携帯用のではありません。

695行に
$comment =~s/(^|<br>)〜
を追加。これが件の携帯表示用タグを指定します。

639行にある
$comment =~s/(^|<br>)〜
は少し上の625行にでも移動した方が他の処理との都合上良い筈です。

600行の
$com =~s/(^|<br>)〜
これも携帯用途です。577行に書き換えましょう。

566、567行はprint文よりも前に$commentを置き換えましょう。
$comment =~s/(^|<br>)〜
print "$comment\n";
こんな感じにです。ここも携帯向けのタグを指定します。

とりあえずはこんな所だろうと思います。。
068360003/01/15 17:35ID:???
>>682
丁寧な説明でわかりやすかったです。
無事できました。
どうもありがとうございました。

最後に自分のせいで
お騒がせして申し訳ありませんでした。
068462103/01/15 17:35ID:6md+W64o
>>673
elsif (($act eq "mainframe") || ($act eq "changeframe")){
}
elsif ($act eq "ranking") {viewranking();}
でいいってことですか?これでやったらまた500えらーがでました
0685nobodyさん03/01/15 17:49ID:???
>>684
行番号が表示できるエディタを使用していないの?
321行目ですよ。。

elsif (($act eq "mainframe") || ($act eq "changeframe")){
#入室時・変更時のみクッキー書きこみ
$name = $ip if $name eq "";
$color = $new_sel_color if $sel_color[$color] eq "" || $color eq "";
$icon = $new_icon_list if $icon_list[$icon] eq "" || $icon eq "";
$lines = $new_indicate_lines if $indicate_lines[$lines] eq "" || $lines eq "";
$reloadtime = $new_reload_time if $reload_time[$reloadtime] eq "" || $reloadtime eq "";
$hrindi = 0 if $hrindi != 0 && $hrindi != 1;
print "Set-Cookie:name=$name;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
print "Set-Cookie:color=$color;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
print "Set-Cookie:icon=$icon;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
print "Set-Cookie:lines=$lines;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
print "Set-Cookie:reloadtime=$reloadtime;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
print "Set-Cookie:hrindi=$hrindi;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
print "Set-Cookie:address=$address;expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
}
elsif ($act eq "ranking") {viewranking();}

全部書くとこうなります。。。
0686nobodyさん03/01/15 18:00ID:???
>>663
JPEGのみですが作りました。
http://fitness.s7.xrea.com/index3.php
0687nobodyさん03/01/15 18:05ID:???
>>685
これでも表示できないようなら
jcode.plを同じディレクトリに設置し忘れていないかを確認してください。
0688nobodyさん03/01/15 18:28ID:6md+W64o
行番号表示するエディタもってません、
なんかいいやつありませんか?
0689nobodyさん03/01/15 19:21ID:???
>>688
そうですねーエディタを人に勧めるのは難しいのですけれど。。
メモ帳を使用しているのなら・・・同じようにシンプルでクセの無い
TeraPad を勧めておきます。
0690nobodyさん03/01/15 19:23ID:ZEY+vyxw
TeraPadをDLしましたが行番号のところやっても全然違うところぁ
なんかできない
0691nobodyさん03/01/15 21:34ID:???
>>690
設定がおかしいんだろ?
できること全部やってから弱音吐け。
たった一時間でそのエディタの全部がわかったとか言うなよ?
0692nobodyさん03/01/15 21:48ID:???
>>690
わーお!!
速レスで分かりませんでしたか。。
ひょっとしてネタなんじゃ・・・いや、ネタでもマジでもいいのですけれどね。。
もう一度返答するのでしばしお待ちくださいませ。
夕飯に食べる物が無かったので外食してきます。
0693nobodyさん03/01/15 23:18ID:???
>>684
use CGI::Carp qw(carpout fatalsToBrowser);
2行目あたりに入れて実行してみ
0694nobodyさん03/01/15 23:22ID:???
>>663
ttp://sugachan.dip.jp/download/joyful.php
こういうのもある・・・
Winってことは自鯖だろうからPerlModuleくらい
やり方かいてあるし入れられるだろ
0695nobodyさん03/01/15 23:40ID:???
>>690
元になったバージョンと比較をやらせて、書き直してあります。
ttp://ruffnex.oc.to/ipusiron/upload/1658.zip
適当なアップローダにアップしてみましたのでDLどうぞ。

ランキング機能は>>647氏のレスのとおりです。
他に自己的に書き換えたと思われる箇所を拝見した限りでは
エディタなどで戸惑うとは思えませんし
サーバに転送するだけでおそらく動作するハズの物ですので
試して見てくださいませ。。

>>647氏に感謝を忘れずに。。。
0696nobodyさん03/01/16 16:35ID:HW8AcD+V
>>695どうもありがとうございます
>>647どうもありがとうございます
0697nobodyさん03/01/16 19:41ID:liMeeWq+
スンマセン、チョト聞いていいっすか?
♪スクリプトをPATH_INFO対応にしようと思っていじってるんスけど、どうにもワカランところがあります。
bbs.cgi(778行目)とsubbbs.cgi(581行目)の↓が文法エラーになるっす。


$FORM{'MESSAGE'} =~ s/($check)>>([\d]+)-([\d]+)/$1<a href="..\/jikkou\/read.cgi?bbs=$FORM{'bbs'}&key=$FORM{'key'}&st=$2&to=$3&nofirst=true" target="_blank">>>$2-$3<\/a>/g;
$FORM{'MESSAGE'} =~ s/($check)>>([\d]+)([^-\d])/$1<a href="..\/jikkou\/read.cgi?bbs=$FORM{'bbs'}&key=$FORM{'key'}&st=$2&to=$2&nofirst=true" target="_blank">>>$2<\/a>$3/g;
$FORM{'MESSAGE'} =~ s/($check)>>([\d]+)-([^\d])/$1<a href="..\/jikkou\/read.cgi?bbs=$FORM{'bbs'}&key=$FORM{'key'}&st=$2&nofirst=true" target="_blank">>>$2-<\/a>$3/g;

よろしくっす。
0698nobodyさん03/01/16 19:57ID:???
>>697
Syntax OK
0699nobodyさん03/01/17 16:33ID:1khKuUwT
自分なりに改造というか流用を試みたのですが名無し投稿を可能にするぐらいしか
できませんでした。yybbsが吹き出し型・投稿フォームが別。という以外はほとんど
無改造のyybbsと変わりません。設定が別ファイルに分かれてます。
スクリプト
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/yybbs.txt
加えたい機能があるスクリプト
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/yy2ch.txt
[1] 投稿者:名無しさん 投稿日: 〜
みたいな感じで投稿者の前に番号をつけたいんです。言いたいことはここを
みてもらえれば分かると思います。
ttp://uho.s7.xrea.com/cgi-bin/yy2ch/yy2ch.cgi
バージョンが同じなんですがいまいちわかりません。協力お願いします。
0700nobodyさん03/01/17 18:58ID:???
>>694
ttp://sugachan.dip.jp/download/joyful.php#win
Win用のバイナリ作って見たが・・・
GIFは読み出すにもLZW特許関連でめんどくさいんで
SusiePlug-inで対応

でもこうするとWinでPerlMagickインストールする意味がなくなるような:)
070170003/01/17 19:55ID:???
ところで誰か 動作報告くれないかな?
動いたサンプル数が自分の所含めて1〜2のまま配るのはコワイ(w
虹板のうpろだスレのほうがいいかな?
0702nobodyさん03/01/17 20:56ID:15DclOIz
http://sara.vis.ne.jp/sample/lettern/dkakikomitaipost.cgi

すみませんが、ご教授お願いいたします。
上記掲示板を、管理人のみレス付けができるように変更したいのです。
下記にTEXTを置いていますので、どこをどう変更したらいいのか教えて
頂けませんか。
よろしくお願い致します。

http://www.geocities.co.jp/Milano/3993/dkakikomitaipost.txt
0703nobodyさん03/01/17 21:49ID:???
>>702
815:print "<td width=5> </td><td width=10%><INPUT TYPE=button VALUE=\"Res-Mode ON→OFF\" ";
816:print "onClick=\"location.href = \'$script\'\" class=BOT></td></form>\n";

815:print "<td width=5> </td><td width=10%> ";
816:print "</td></form>\n";

1067:print "<input type=\"submit\" value=\"Res\" class=BOT>\n";

1067:#print "<input type=\"submit\" value=\"Res\" class=BOT>\n";

dkakikomitaipost.cgiの修正前のレスのできるファイルもUPしておいて
修正後のファイルを公開、修正前のファイルは自分のレス用にする
こんなでどうかな?動作確認してないし、
漏れ初心者だから動かなかったらごめん。
0704nobodyさん03/01/17 22:44ID:???
>>697のPATH_INFOにしようとしたんだけど、

$FORM{'MESSAGE'} =~ s/($check)>>([\d]+)-([\d]+)/$1<a href="..\/test\/read.cgi/$FORM{'bbs'}/$FORM{'key'}/$2-$3&nofirst=true" target="_blank">>>$2-$3<\/a>/g;
$FORM{'MESSAGE'} =~ s/($check)>>([\d]+)([^-\d])/$1<a href="..\/test\/read.cgi/$FORM{'bbs'}/$FORM{'key'}/$2-$2&nofirst=true" target="_blank">>>$2<\/a>$3/g;
$FORM{'MESSAGE'} =~ s/($check)>>([\d]+)-([^\d])/$1<a href="..\/test\/read.cgi/$FORM{'bbs'}/$FORM{'key'}/$2&nofirst=true" target="_blank">>>$2-<\/a>$3/g;

じゃ Scalar found where operator expected at bbs.cgi line 769 ていわれる・・・
どう改善すりゃいいんかね??
0705nobodyさん03/01/18 00:30ID:???
すなおに0chでもつかってお(ry
0706nobodyさん03/01/18 01:16ID:???
0ちゃんねるは将来がたのしみなところ。
いまはまだ〜 16歳だかr
0707nobodyさん03/01/18 01:25ID:???
http://www.coolandcool.net/sample/cb/c_note.cgi
このスクリプトのフォーム部分を改造しようと思って色々やってみたんですが、
何度やってもエラーが出て表示が出来ません。
http://www.geocities.co.jp/SiliconValley-SanJose/3126/form.html
このようにしたいのですがどうしたら出来るのでしょうか。
http://www.geocities.co.jp/SiliconValley-SanJose/3126/cn-set.txt
スクリプトはこれです。御教授お願いします。
0708nobodyさん03/01/18 14:25ID:jS0nQcA8
>>703さん

教えて下さって有り難うございました。
出来そうです!!!
0709nobodyさん03/01/18 19:12ID:???
>>707
Cool Board v4.6のファイルのフルセットである場所はどこ?
配布元へ逝ったらバージョンアップされていてv4.6は手に入らなかったよ
071070703/01/18 20:22ID:???
>>709さん
http://www.coolandcool.net/service/power-cgi/cb/down.html
ここにあるファイルでいいみたいです。
セットの中のcgiはファイル毎にバージョンが違うみたいなんで。
メイン表示時のスクリプトのバージョンは4.6のままです。
071170703/01/18 20:26ID:???
あ、メイン表示じゃなくて設定ファイルだった。すんません。
0712nobodyさん03/01/18 23:38ID:???
ttp://www1.big.or.jp/~talk/t-club/soft/room01/ftp-box/imgboard_opera_cgi.txt
のimgboard.cgiに
ttp://sugachan.dip.jp/download/joyful.php
のWin版リサイズプログラムを組み込むように改造するのは
どうやればいいのでしょうか?
0713nobodyさん03/01/19 01:35ID:???
699なんですが・・・。どなたか答えていただけないでしょうか?
手間だということは分かっているんですが・・・。
0714nobodyさん03/01/19 12:02ID:???
>>713
214行目にいきなり $num って変数でてきてるけど、>>699にアップしてるファイルは
自分で改造を試みた途中のもの?
それと設定ファイル別ですってそれないと確認のための動作テストもできないし。
レスつかないのも当たり前と思うが

とりあえず勘で。186行目から

if ($reno eq "") { $i++; $num=0;}
if ($i < $start) { next; }
if ($i > $end) { next; }
$num++;
0715nobodyさん03/01/19 23:00ID:aB6Qct6i
KENTさんのweb patio という掲示板 http://www.kent-web.com/bbs/patio/patio.cgi
を携帯からもキレイに見れるようには出来ますか???
よろしくお願い致しますm(__)m 
0716nobodyさん03/01/19 23:58ID:???
>>715
無理。table使っているし携帯のコンパクトHTML対応していない
対応しているBBSを探してつかった方が吉。
071771503/01/20 00:27ID:???
http://cgi.bookstudio.com/patio/patio.cgi
ここでは携帯対応のバージョンがレンタルできるんですが、
レンタル料が月に700円。
自分が借りてるサーバー代より高いんで断念して、
色々試行錯誤はしてみたんですけどどうしも出来ませんでした…。
0718nobodyさん03/01/20 01:07ID:???
>>717
需要のあるスクリプトはだいたい以下のサイトで見つけられます。
http://bcp.jpnet.biz/
http://www.i-say.net/cgi/

携帯対応CGI配布サイトで有名なところ
CGIぽん
http://specters.net/cgipon/
The room
http://dream.lib.net/room/
0719nobodyさん03/01/20 01:58ID:K3JQNvbX
>>714
動きました。ありがとうございました。$numがいきなりでてきてる理由は
仰る通りです。

それで最後にもうひとつ改造したいところがあるので協力お願いします。
スクリプト
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/yybbs.txt
上記スクリプトの設定ファイル
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/set.txt

それで追加したい機能なんですが一定件数に達したら(5件表示ぐらいで)
古いレスが隠されるようにしたいんです。(ようはここの掲示板みたいな感じです。)
そしてその格納されているレスを返信ボタンを押すと全部みれるようにしたいんです。

なんつ〜か理由つけて結局、人まかせと思われても仕方ないと思いますけど
お願いします。
072071503/01/20 16:25ID:???
>718
ありがとうございます。見てみます!
0721nobodyさん03/01/20 22:51ID:VXONO5Hx
凄く初歩的な質問ですみませんが、ご教授お願いいたします。

kent氏のYY-BOARDに、「年齢」や「仕事」などの質問項目を入れたいのですが、
どこを触ればいいのか、わかりません。

本当に申し訳ないですが、どなたか教えて下さい。
よろしくお願いいたします。
0722nobodyさん03/01/21 00:37ID:???
ここで質問する奴に言ってみたい。ていうか、ぜひ答えを聞かせて欲しい。
「身銭切って改造頼むのはなしなのか?」
いやさ、その方がどっちも幸せになれると思うんだよ。
0723nobodyさん03/01/21 00:42ID:???
>>722
既存のスクリプトに機能を足すだけで身銭を切る必要があるのかが疑問。ただ単に
高機能な掲示板が欲しいとかだったらいくらでもフリーのものがあるわけだから
ここで聞いてる厨はスクリプトを自力でなんとかしようってしてるだけマシだと
思うが・・・。金、払っていいものできてもそれじゃあいつまでたっても自分じゃ
かけるようになれんしね・・・とマジレスしてみる。
0724nobodyさん03/01/21 00:49ID:???
Perlのパの字も分からなくてさ、自分で改造する気もなくて
自分の使うのに都合良いスクリプトだけ欲しいから
全部ソース書いてくれってのも、たま〜にいる気がする。
0725nobodyさん03/01/21 00:56ID:???
>>723
ここに書き込んでる時点で自分でなんとかしようとかいう気はないと思える。
>>721とか見てみろ。
>>1
「(3) 出来るだけ詳しく書くこと。少しは自分で考えること。」
と明記されているにもかかわらず
「どこを触ればいいのか、わかりません。」の一言で努力の一切を放棄してる。

言語を学ぶ気がないなら、かわりに金で解決するのも立派な手段だと思う。
だけど、言語を学ぶ気もなく、金を払う気もないなら、
厨呼ばわりされたってしょうがなかろよ。

まあ、身銭ったってさ。
誰かが「アフターサービス一切なし、一項目の改造につき300円」とか言い出せば、
ここに書き込んでる連中はなんて反応するだろうね。
0726nobodyさん03/01/21 01:03ID:???
>>725
リア厨(中学生)のできる香具師なんかが
バイトさせてとか言い出しそう(w
0727nobodyさん03/01/21 01:40ID:???
>>725
一項目の改造につき300円、そんな事言った日には「ムンクの叫び」だろうか?

・・・・つーか安いよな?
これで欲しい機能が確実に手に入るなら逆に喜ぶんじゃないのかw
0728nobodyさん03/01/21 02:26ID:???
入会金が3000円で、年会費が12000円です。
0729nobodyさん03/01/21 03:14ID:???
確かに721ぐらいの改造なら知識なくてもG-Light辺りからパクってくれば
すみそうなもんだもんな。そもそも初歩的と分かってるなら自分でなんとかしろ
と思う。

関係ないけどパート1スレ
ttp://web.archive.org/web/20010530073959/tako.2ch.net/test/read.cgi?bbs=perl&key=958370869

まぁ「http://web.archive.org/web/*/」で呼び出しただけなんだけど。
0730nobodyさん03/01/21 06:51ID:???
>>729
>>296にも在るな
073172503/01/21 20:37ID:???
>>727
実は安くならない。マイクロソフトのサポート風にやるから。

たとえば、>>721を顧客とするなら、
「二項目なので600円いただきます」
追加されたフォームの位置が気に食わないとクレーム
「二箇所のフォームの位置変更ですのでさらに600円いただきます」
とできる。
アフターサービスはしないって明言してるしね。
動作確認(これは最後の良心)も含めて10分で1200円手に入るなら、御の字じゃねえ?

他にも、
>>719が顧客だったら、
「複数箇所をいじらなければならなかったので600円いただきます」
http://pc.2ch.net/test/read.cgi/php/1037222063/790-793 が顧客だったら
「FTPのアカウントとパスをいただければ300円で設置をします」
とかね。
0732nobodyさん03/01/21 21:26ID:???
お前ら2chのスクリプト改造工房にいる以上は金の話はやめれ
0733nobodyさん03/01/21 23:27ID:???
>>730
あ、そうだね。

>>732
禿同。スレのテーマからそれてってる。
0734真実事実をご覧ください。03/01/23 06:30ID:w3+JDQYa


/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| マスター〜2chの文字絵はAA(asciiart)ではなくJISアートだが
| なぜアスキーアートと嘘の情報が信じられているんですか。
| http://www1.ryucom.ne.jp/papa/asciiart.htm ←ココ文字絵理論
|____  _______________________
       V
            ___.   ∧_∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∧_∧   /   │ (´Д`;)△  <  2chの管理人に聞けや…
   (  ・∀) /   凸 │ ( つ  つ\ 目\___________
   (   `つ日  凵 | ││ │  .|\凸./   |
 ┏(__  /.Y    │ (__(__)\| .|\|   |
 ┗┳┳(___| ̄ ̄ ̄ ̄'|         \|  |  |
   ┃┃   |      |          \.|  │
   ┻┻   |      |
0735nobodyさん03/01/23 07:00ID:MK3OE1fp
http://jsweb.muvc.net/index.html
     ★こんなサイト見つけました★
073669603/01/24 18:09ID:/AgT52LQ
先日はichtに発言ランキングをつける改造を教えていただき誠に有難うございます。
ICHATはアイコンが使えます。
来る人来る人アイコンをチェックします。
だから掲示板みたいにアイコンを表示する機能の改造の仕方教えてください。
ICHATソース⇒http://csx.jp/~feger/ichat.txt
0737nobodyさん03/01/24 18:19ID:???
>>736
相変わらず、あやしい言葉使いだ。
改造の必要すらないよ。
仰るとおり、アイコン機能は実装されています。
興醒めです。。
073869603/01/24 18:27ID:/AgT52LQ
おしえてください。
0739nobodyさん03/01/24 19:03ID:???
カカシさん、あなた一人で十分対処できます。
過去ログを見る限り、キリが無いので私はもうコメント致しません。
0740nobodyさん03/01/26 15:51ID:???
ttp://www.irao.com/irao/ir-i-bbs/
のBBSなんですが、
<BR><BR>を</P><P>に、
>のついてる一連の行を<BLOCKQUOTE>で括れるように改造できませんでしょうか?

イメージ的には
ttp://say.vis.ne.jp/script/picobbs/index.htm
ここの機能を搭載したいわけなんですが、こちらは携帯対応ではなかったので。

どうかお願いいたします。
0741nobodyさん03/01/26 16:02ID:28lAB0x2
http://www.geocities.co.jp/Playtown-Spade/8161/index.html
ここ俺のサイト、みんなきてね。
0742nobodyさん03/01/26 23:50ID:???
>>741
ページが見つかりません。

なんかこのスレ、金の話がでていらいちょっと・・・。
074374003/01/27 03:17ID:???
引用の考え方としては、
>のある行の行頭に<BLOCKQUOTE>、
それ以降の>のない行の行頭に</BLOCKQUOTE>でいいんでしょうか?
0744nobodyさん03/01/27 10:25ID:???
まるちぽすとはやめれ!
0745nobodyさん03/01/27 12:36ID:???
>>744
散々放置しておいてそれか。
0746nobodyさん03/01/27 12:43ID:???
放置って740からのカキコじゃないの?
まだ1日しかたってないじゃん
0747nobodyさん03/01/27 14:48ID:???
>>746
そう言われるとそうですね。
他のスレにいついてるので、感覚が狂ってました。

>>744
というわけで、ごめんなさい。
0748nobody03/01/27 15:13ID:???
イタイなー
0749nobodyさん03/01/27 17:15ID:???
えと、他のスレで聞いてきたらスレ違いでしたのでこちらの方に誘導されてきました。
本題です。

12chというスクリプトを使ってるんですけどmegabbsにある等幅チェックなるものを移植しようとしてます。
どなたか改造するポイントを教えてください。

因みに使っているバージョンは
ttp://mitinoku.jp/script/12ch_2.02.lzh
これです。

bbs.cgiというファイルを改造すればいいみたいです。
動作は、等幅チェックボタンをONにして書き込むと
<tt>「書き込み内容」</tt>
と、こんな風に<tt>タグでカキコの内容をはさむようにしたいです。

では、宜しくお願いいたしますです・・・。

megabbsでは等幅チェックの処理をこんな風にやってるみたいです

↓書き込みフォームの等幅チェック部分
等幅<input type=checkbox name=touhaba value=on>

↓$com(コメント)を<tt>ではさむ処理。
if ($email eq "haba" || $email eq "tohaba" ||$FORM{touhaba} eq "on"){$com="<tt>$com</tt>";$tt=1;}

12chのbbs.cgiのソース
http://www.geocities.co.jp/MusicHall-Horn/8887/bbs.txt
0750nobodyさん03/01/27 20:57ID:???
>749
>では、宜しくお願いいたしますです・・・。
ハァ?(゜д゜)
俺はお前の下僕でもなけりゃお客様でもないんだよ!
なぁにが「では、お願いします」だ。
アフォ化、自分の希望通りにしたかったら金払って改造してもらえヴァカ!
こっちは有志だってこと忘れんなよ!
0751nobody03/01/27 21:01ID:???
道に落ちてるもんでも食ったのかお前?
075274903/01/27 21:18ID:???
>>750
申し訳ないです。
私の人に物を頼む態度がいけませんでした。
0753nobodyさん03/01/27 22:16ID:???
>>752
謝る必要はないと思うぞ
>>750>>751にある通り、拾い食いでもして壊れてるだけだ。
0754nobodyさん03/01/27 22:47ID:???
まあ、ここの連中は金に目がくらんで以降何にもしてないわけだが。
0755nobodyさん03/01/27 23:10ID:Wa/8lWRk
いろんな所で聞きまくりでもうしわけないのですが。
http://php.s3.to/bbs/bbs7.phpの自動受信のやりかた。
本ページで聞いても流されてしまうようです。
どなたかわかりますか???
075675503/01/28 00:13ID:CvJ+0lN2
あっ、なんか飛べないみたいですね。
http://php.s3.to/の写メールBBSについてです。
0757nobodyさん03/01/28 00:21ID:???
なんかほんとこのスレ金の話がでてからダメだよな・・・
0758nobodyさん03/01/28 00:32ID:???
でも誰も質問には答えないのな。

俺もダルいから答えたくないし。
>>749なんかは
「なんでそこまでわかってて自分で作れないのか?」と疑問に思うけど。
0759サンプルコード03/01/28 01:34ID:???
サンプルコード
http://archives.neohapsis.com/archives/vuln-dev/2002-q3/0472.html

このワームはどこぞのコピペ厨が作ったに一票。
http://www.st.ryukoku.ac.jp/~kjm/security/ml-archive/exploitcoding/2003.01/msg00066.html
http://www.st.ryukoku.ac.jp/~kjm/security/ml-archive/exploitcoding/2003.01/threads.html#00063

http://www.st.ryukoku.ac.jp/~kjm/security/ml-archive/incidents/2003.01/msg00119.html
http://www.digitaloffense.net/worms/mssql_udp_worm/
0760nobodyさん03/01/28 01:42ID:???
>>758
みんなダルいんじゃない?金もらえないから。
0761nobodyさん03/01/28 16:08ID:???
ttp://genesis.vis.ne.jp/i/
ここのiモード掲示板設置したのはいいんだけど、
書き込みすると新しい書き込みがたまに消えるんですけど、
対策がわかりません。教えてください。
0762nobodyさん03/01/28 18:31ID:???
>>761
配布されてるスクリプトのトラブルは、まず配布先に聞け。
0763nobodyさん03/01/28 20:03ID:NiVVWd4k
>>761
ファイルロックをちゃんとしろ。
0764nobodyさん03/02/01 04:53ID:???
すみませーん
ずるぽんあぷろだをいじくって病上がり風にしたんですけれど
ちょっと下のページの
http://mint363.ddo.jp/slx/ulx.cgi ←ここ

真ん中らへんに
「アプするファィル(50000K)    このファイルは....」
ってなってる所の上に一行隙間があいてるんです
この隙間を消したいんですけれど(今は一行開いている)どうすればいいんでしょうか

あぷろだのcgiスクリプトは
http://mint363.ddo.jp/sc.zip
です

もし暇があられたらよろしくお願いします
0765nobodyさん03/02/01 05:11ID:???
>>764
あぷろだ見れないぞ
0766nobodyさん03/02/01 06:53ID:???
>>765
すみません今設定いじくりました
もしかしたら見れないかもしれないのでフリー鯖にcgi立てました
http://zall.bbzone.net/test/ulx.cgi
多分これで見られると思います、不都合が出てすみませんでした
それに>>764のcgiファイルですが一式をここに置きました
http://zall.bbzone.net/test/t.zip

ってかほんとすみません、確認を怠ってました
0767nobodyさん03/02/01 09:31ID:???
FORMタグがあると一行あくから、それじゃない?
<FORM>を問題ないところまで(?)上に持っていく、で大丈夫かな?
やってみてー
0768nobodyさん03/02/01 14:01ID:???
>>766
マークアップが変。

・<form>の直前の <hr></p> を </p><hr>の順にする。
(p要素の中にブロックレベル要素であるhrが入るのは間違い)

・CSSに以下を追加
form { margin-top: 0 }

ついでに、body内にもstyle要素があるけど、headのほうにまとめたほうが
いいと思う。
0769nobodyさん03/02/01 18:05ID:???
>>765
>>767-768
できましたー!!
どうもありがとうございます
意見を参考にして色々いじくってたら奇妙な隙間が消えました
ほんとありがとうございました
0770nobodyさん03/02/03 17:10ID:5qWxw95W
ichatの入室メッセージ退室メッセージをランダムにしたいんですけど、どのような改造したらいいでしょうか
ソース⇒http://csx.jp/~feger/ichat.txt
教えてくださると幸いです。
0771nobodyさん03/02/03 17:38ID:???
入室時及び退室時の挨拶
# NAME のところに挨拶する相手の名前が自動的に入ります。
$admin_entermsg = 'ランダム';
$admin_byemsg = 'ランダム';

これでなります。

0772nobodyさん03/02/03 18:03ID:tT3xOrLs
>>770
エラーが出ます。
ソースが変です。
}
elsif ($act eq "ranking") {viewranking();}{
}
は何?
0773nobody03/02/03 18:27ID:???
>>772
>>673
0774nobodyさん03/02/04 05:26ID:???
>>772
ichatに関して聞いてる奴はもう放置で良いかと
少しもPerl勉強する気無いみたいだしな
0775nobodyさん03/02/06 13:25ID:mhsFcb8i
http://www.aikis.or.jp/~s-suzuki/cgilabo/webcalender/
ここのウェブカレンダーなのですが、今日の日付のが分かりやすいように
日付の左にイメージを貼り付けたいのですが分かりません。
メイン画面の表示のあたりをいじればいいと思うんですが、うまくいきませんでした。
どなたかご教授お願いします。

ソースです。
http://www.42ch.net/UploaderSmall/source/1044505347.txt
077677503/02/06 14:22ID:???
ソースが流れると悪いのでこちらにあぷしました。
http://ofskkh.tripod.com/webcalen_cgi.txt
0777nobody03/02/06 15:25ID:???
>>775
$str = ($year == $yy && $month == $mon && $i == $mday) ? qq(<IMG SRC="hoge.gif" ALIGN="absmiddle">) : '';
print qq( <TD ALIGN="right" BGCOLOR="$bg_col" NOWRAP> $str$i </TD>\n);

所定の1行を上の2行で置き換えると近い処理が出来るはず。
どこを書き換えるかは自分で探すべし。
0778nobodyさん03/02/06 16:53ID:???
どうもありがとうございました。
こんなに早く回答していただけるとは思いませんでした。
おかげで無事設置できました。スタイルも自分の思ったとおりで満足です。
0779nobodyさん03/02/06 17:09ID:???
メールでも記事が書き込めるようにする改造って簡単には出来ないですよね。。。
0780nobody03/02/06 17:32ID:???
>779
独り言なら脳内に留めておいてくれ
あんた次第だよ
0781nobodyさん03/02/06 17:45ID:???
.qmailを置いておけばOK
0782nobodyさん03/02/06 17:56ID:???
いや、独り言ではないです。
http://wws.cside.com/cgi-plant/diary/の切って出し日記に
そんな改造を施せないものかと思いまして。
ググってはみたんですが改造に関する事は特になかったので
難しいものなのかと。
0783nobody03/02/06 18:39ID:???
そうか、ググって見つからないのか。難しくて大変だったな。
0784nobodyさん03/02/06 22:29ID:???
>>782
メールの受信をキーにしてCGIを動作させるということは、普通できないものだと
認識すべし。
一定時間ごとにCGI実行というのも同様。

やろうと思えばできないこともないが、たいていは自宅鯖などでroot権限がないと
ダメなことが多い。プロバイダや共用サーバ利用者はまず不可能。諦めれ。
0785nobodyさん03/02/08 08:46ID:???
まあ、(脳内で)できないわけじゃないけど……

ユーザがメールを送信する(手動)それを反映させるために、

1.他人が日記を開いたときに時刻チェックをする。
2.以前のチェックから数分時間が経過してたら
  メールサーバに接続・データ受信。
3.その内容をHTMLに反映させる。

これでどう?IMAP関数とかあるからPHPなら簡単にできそうだけど……
問題点は、メールの送信元チェックとかしっかりしないと
誰でも書き込めるという罠があるかもしれない。
0786本7 ◆HON7/awDa. 03/02/09 13:19ID:???
またまたお願いします。

http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs.txt

http://hon7.hp.infoseek.co.jp/cgi-bin/test/trip.txt

を組み合わせて掲示板にトリップ機能を付けたいんですがどこにどう入れたらいいのかわかりません。
またどいう加工とが必要でしょうか?

もし他に2ch仕様のトリップ付く方法があればそちらでも結構です。
よろしくお願いします。
0787nobodyさん03/02/09 13:50ID:???
>>786
そりゃそのまま挿入しても動かんな。
フォームデータが入ってるハッシュの変数名が違ってるし、無関係な処理も含んでる。
キーは同じみたいだけど、そもそもそのソースはどっから持ってきたんだ?

まあいいや。とりあえず $in → $FORM に直してから
#情報の修正(名前) とか書いてあるあたりに突っ込んでみれば?
先頭のほうに use CGI::Carp qw(carpout fatalsToBrowser); って書いておけば
エラーがブラウザで見れるから、あとはそれ見ながら自分で直せ。
0788本7 ◆HON7/awDa. 03/02/09 13:52ID:???
>>786
どうもです。
とりあえずやってみて過程と結果報告します
0789本7 ◆HON7/awDa. 03/02/09 14:11ID:???
>>786
http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs3.txt
にしてみましたが

元ソースの名無しさん処理が
unless( , )
とかいうユーザー関数呼び出してるんでトリップ処理も同じように呼び出してみる
必要があるんでしょうか?unless( , )がどんな処理をしてるのかよくわからいんで。
何度もすみません
0790nobodyさん03/02/09 14:34ID:???
>>789
ところどころ $$FORM になってるところがあるぞ。大丈夫か?
プログラムなんだから、1文字でも違ったら動かないよ。

あと、unlessは制御構文であって、ユーザー関数ではないんだが…。
Perlの基礎をこのスレで質問されても困る。自分で調べて学習すべし。
0791本7 ◆HON7/awDa. 03/02/09 14:42ID:???
逝ってきます・・・ショボーン
0792nobodyさん03/02/09 17:15ID:FJkJ4b09
こんにちは、ちょっとアドバイス頂きたく参上しました。
現在Kent-Webさんの「MT−Board」という2ちゃんねる風の掲示板を
使っています。 
http://www.trimmer-navi.com/cgi/mtbbs/mtbbs.cgi
http://www.trimmer-navi.com/mtbbs.txt (テキスト)

上記のプログラムなんですが、現段階では中段にある{新着スレッド}の
テーブルに現れるスレッド数と、それのテーブルの下にスレッドごとに
現れるテーブルの数が同じにしか設定できません。

2ちゃんねるの様に、「新着スレッドが表示されている数」と「その下に
続くテーブルの数」を変更できないものでしょうか・・

もしアドバイスいただけるようでしたら、よろしくお願いします。

0793れもん03/02/09 17:19ID:???
お前等いいか!!
ラーメソだぞ!!ラーメソ!!!!!
俺は30分でどんぶり3杯も食えるんだぞ!!!
博多の冬は寒かったんだぜ。
0794れもん03/02/09 17:19ID:???
脳内妄想が俺の技だぜ
0795nobodyさん03/02/09 17:35ID:???
>>792
214行目、メニュー部表示の「#新着スレッド」内の以下の部分

if ($i >= $menu) { last; }

この$menuを、スレ一覧で出したい数にすればいいみたい。
テーブルの数は従来どおり、冒頭の$menuで設定。

例:if ($i >= 100) { last; }

テストしてないんでうまく動くか分からんけど。
0796nobodyさん03/02/09 17:44ID:FJkJ4b09
>>795
返信ありがとうございます。
nobodyさんの例の様に、100でやってみました。が
新着スレッドもそれに続くテーブル数もやはり同じ100に
なってしまいました。
079779503/02/09 17:48ID:???
>>796
あっ、ごめん。
そこは読み込む行数を決めてるとこだから、そりゃ両方変わっちゃうわな。
ちょっと今考えるから。ただこのあと用事があるからあとになるかも……
0798nobodyさん03/02/09 17:49ID:FJkJ4b09
はい!よろしくお願いします。>nobodyさん
0799nobodyさん03/02/09 17:55ID:???
>>796
わかった。たぶんこれでいいと思う。
すぐ下に「#スレッドリンク」ってのがあって、 foreach (@num) { っていうのが
2つあるよね。
この2番目のほうをこう書き換える。

for ($i = 0; $i < 10; $i++) {

10の部分が、テーブル表示数。スレ表示数は$menuで設定(さっきと逆)。
これでいいはずなんだけど……
0800nobodyさん03/02/09 18:00ID:FJkJ4b09
foreach (@num) {    →    for ($i = 0; $i < 10; $i++) {

に書き換えるのですか?
0801nobodyさん03/02/09 18:03ID:FJkJ4b09
http://www.trimmer-navi.com/cgi/mtbbs/mtbbs3.cgi

書き換えたら上記のプログラムの様になりました。
下に続くテーブルの2段目からの文章が消えてしまいます。
0802nobodyさん03/02/09 18:12ID:???
>>801
またごめん……
追加した次の行にこれを追加。

$_ = $num[$i];

なんかミスが多くてすまんです。
0803nobodyさん03/02/09 18:13ID:FJkJ4b09
ちなみに $menu = 5 です。
0804nobodyさん03/02/09 18:26ID:FJkJ4b09
なんどもありがとうございます。
かなり理想に近いのですが・・今度は新着スレッドの中に謎の「()()()」
なるものが表示されてしまいます。
http://www.trimmer-navi.com/cgi/mtbbs/mtbbs3.cgi
0805nobodyさん03/02/09 18:40ID:KhuXu5ko
nobodyさんへ

できました!本当に感謝します。ありがとうございました。
多分OKだと思います。
0806nobodyさん03/02/09 18:49ID:KhuXu5ko
すいません。805です。
少し問題が生じたのでよろしくお願いします。
スレッド一覧の部分で、下のテーブルに表示されている数の分はリンク
できているのですが、それ以上のリンクになると飛んでくれません。
どうでしょう?
0807nobodyさん03/02/09 18:50ID:???
>>804
よく見たら、スレ一覧でテーブルの出てないスレは、クリックしても無反応に
なっちゃってる。(アンカーが同じページ内のテーブルになってるせい)

こりゃCGIのもっと奥のほうから直さないとダメかもしれんね。
お役に立てずにすまんこ。
0808nobodyさん03/02/09 19:23ID:???
>>806
これでなんとかなるんじゃないの。

# スレッドリンク
print "<table border=3 cellpadding=10 bordercolor=#FFCCCC bgcolor=#FFEEEE width=\"90%\"><tr><td>\n";
print "<b>- 新着スレッド  ※他のスレッドは「スレッド一覧」の中です</b><P>\n";
$thread_count=0;
foreach (@num) {
($num,$sub,$res) = split(/<>/);
$thread_count++;
if ( $thread_count <= 10 ){
print "<a href=\"$script?mode=view&no=$num\">$thread_count:</a> <a href=\"\#$num\">$sub ($res)</a>  \n";
} else {
print "<a href=\"$script?mode=view&no=$num\">$thread_count: $sub ($res)</a>  \n";
}
}
print "<div align='right'>[<a href=\"$script?mode=alltree\">スレッド一覧</a>]</div>\n";
print "</td></tr></table><br>\n";


補足
if ( $thread_count <= 10 ){
にでてくる数字の 10 は 799 の書いた
for ($i = 0; $i < 10; $i++) {
の 10 ね。別の数字に変えてるなら合わせておいて
変数使って管理したほうがいいと思うが、そのへんは自分でなんとかしる
あと書籍添付スクリプトなんで、これで悩み事解決なら txt は削除したほうがよいと思われ
0809nobodyさん03/02/09 19:27ID:???
あー、より2ちゃんっぽくスレタイトルの前に数字つけたけど、いやならこれで

if ( $thread_count <= 10 ){
print "<a href=\"\#$num\">$sub ($res)</a>  \n";
} else {
print "<a href=\"$script?mode=view&no=$num\">$sub ($res)</a>  \n";
}
0810nobodyさん03/02/09 20:01ID:???
俺もやってみたけど先を越されてしまったのでフォローだけ。
>>808-809 に加えて #スレッドリンク の少し上、@numを取得するところの
if ($i >= $menu) を if ($i >= 10) に、
スレッドを表示しているところの foreach (@num) { を
for (my $i = 0; $i < $menu; $i++) {
$_ = $num[$i];
とすればいけると思う。
0811本7 ◆HON7/awDa. 03/02/09 20:16ID:???
おかげさまでなんとかトリップ機能が動きました。
でもまだ問題があってindexを開いた際にクッキー情報の名前もトリップ変換してしまい名前欄を
はみだしてしまいます。
396行の名無しさん処理のunless()のあとelse{}で398行〜425行のトリップ処理を加えました。
これを何行目あたりに入れることでこのバグを回避できますか?
自分でも悩んでるんですどうも全体の流れがつかめないもので・・


こちらでソースは更新しました。
http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs3.txt

よろしくお願いします

0812nobodyさん03/02/09 20:26ID:???
>>811
マルチポストすんなぼけ!
0813nobodyさん03/02/09 20:50ID:???
>>811
クッキー発行の処理してからトリップ変換すればいいんじゃないの?




試してないけど
0814本7 ◆HON7/awDa. 03/02/09 20:52ID:???
>>813
具体的に行番号とか構文で言っていただけるとうれしいです。
流れがわからないんで
0815nobodyさん03/02/09 21:25ID:???
プログラムに慣れてる人でも、他人の書いたソースの流れをつかむのは一苦労なんだよ。
0816nobodyさん03/02/09 21:44ID:???
>>814
見出しだってちゃんとでてるのに。世話のかかる子ね。

これでなんとかならんか。試してないけど
クッキー発行の処理してからトリップ変換をする。


#==================================================
# 情報の修正(名前)
#==================================================
{
foreach $key ('FROM', 'MESSAGE', 'mail') {
$FORM{$key} =~ s/</&lt;/g;
$FORM{$key} =~ s/>/&gt;/g;
$FORM{$key} =~ s/\"/&quot;/g;
$FORM{$key} =~ s/\r\n|\r|\n/<br>/g;
}
}

(中略)

#==================================================
# クッキー発行 (440行目付近)
#==================================================
{
(中略)
}

#==================================================
# トリップ変換 (クッキーの処理終わった後に挿入)
#==================================================
0817nobodyさん03/02/09 21:44ID:???
>>816の続き
#==================================================
# トリップ変換 (クッキーの処理終わった後に挿入)
#==================================================
{
my $trip = $name;
$FORM{'FROM'} =~ s/◆/◇/g;
if ($FORM{'FROM'} =~ /#(.+)/){
my $key = $1;
my $salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./g;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$trip = ' ◆</b>' . substr(crypt($key, $salt), -8) . '<b>';
}

# トリップを名前に追加
$FORM{'FROM'} =~ s/#.+/$trip/ if ($trip);
}

#==================================================
# パス情報(名前)
#==================================================
0818本7 ◆HON7/awDa. 03/02/09 22:09ID:???
すんません。
恩にきります。何かこのスレに役立てるよう俺もがんがって覚えます。
0819本7 ◆HON7/awDa. 03/02/09 23:39ID:???
まだindexで名前欄にトリップが」めりこんで残ります。
なぜでしょうか?

更新しました
http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs3.txt
082081603/02/10 13:00ID:???
> まだindexで名前欄にトリップがめりこんで残ります。

フォームの名前欄に変換後のトリップが残ってるってこと?
「めりこんで残ります。」って表現の意味がわからないです。

実際に動いてるとこ見せてくれます?
それか元のスクリプトってどこで配布してるやつ教えてください。
どうなってるのか自分の目で見てみたい。
0821nobodyさん03/02/11 08:01ID:???
すみませーん
取り込み中みたいですけれどスクリプトをいじくって貰いたく来ました

えーとこれです
http://mint363.ddo.jp/slx/ulx.cgi

このあぷろだのUPリストのコメント欄をブラウザの表示サイズに関係無く
スタイルシートみたいな物で固定する(サイズ固定)にはどうしたらいいのでしょうか

upロダのスクリプトはこれです
http://mint363.ddo.jp/so.txt
ついでにこれがうぷろだに必要な物+うぷろだ本体スクリプトです
http://mint363.ddo.jp/isiki.zip

ちなみにスタイルシートで文字サイズを固定しようとして1022行目にある
print "<td><b><MOMO><font size=2>$comment</font></td>\n" if($commente);
の<font size=2>を削ったら
スクリプトの155行目で(<BODY><TD>)指定してあるサイズになりました

それで1022行目のスクリプトから<td>を抜いて、他の文字列でサイズを指定しようとしたのですが
<td>を抜いた事によってうぷろだの表示がずれてしまいます
スタイルシートの方法じゃ無理なのでしょうか

話が脱線してしまいましたが
どうかもし暇な方が居られたら、よろしくお願いします
0822nobodyさん03/02/11 08:22ID:R89Bia6B
>821
スクリプトじゃなくてhtmlの段階だと思うんだけど、
文字サイズじゃなくてテーブルの幅を固定したいってことで良いのかな?
print "<th>Comment  [[[この↓部分です]]</th>\n" if($commente);
ってところの<th>を<th width=\"300\">とかにしたら良いんじゃない。
300の部分は勝手に変えるよろし。
0823nobodyさん03/02/11 09:50ID:???
>>822
説明の仕方が悪くてすみせまん、テーブルの幅ではなく 文字サイズです
具体的に言うと
[[[この下の部分です]]]の下にある場所の
CNN スペースシャトル と表示されている場所の文字の大きさ(サイズ)を固定したいのです

えーとわかりやすくhtmlであぷしてみました
http://mint363.ddo.jp/test.html
これだとブラウザの表示サイズが「大きい」だとずれてしまうので
表示サイズ中で見て下さい
何がしたいのかというと
観覧者のブラウザに関係無く
どのブラウザで見ても上にupしたhtmlのように見せたいのです

長くなってすみせまんでした、助言頂けると幸いです




0824nobodyさん03/02/11 12:45ID:???
>>823
print "<td><b><MOMO><font size=2>$comment</font></td>\n" if($commente);

print "<td class=\"comment\">$comment</td>\n" if($commente);

こうでもしといて147行目からの CSS の設定に
td.comment { font-size:13px ; font-weight:bold ;}
とか適当に追加

これでご要望どおりになると思う。ネスケだと変るけどね。これはブラウザの仕様。

どのブラウザで見ても上にupしたhtmlのように見せたい、そのために文字の大きさを
固定したいという考え方には言いたいことあるけど、そういうスレじゃないのでやめとく。
082582103/02/11 15:06ID:???
>>824
できました!
どうもありがとうございます!!
自分ではcgi作成(1から)の経験が無いので本当に助かりました

>どのブラウザで見ても上にupしたhtmlのように見せたい、そのために文字の大きさを
>固定したいという考え方には言いたいことあるけど、そういうスレじゃないのでやめとく。

やっぱりそうですよね
html勉強時代何処かで固定は良くないとかありました
けれどやっぱり自分のこだわった大きさで見てみたいなーと思ったり
何はともあれ教えてくれてありがとうございました
0826nobodyさん03/02/11 18:05ID:???
なんかさ、最近勉強する気がない覚える気が無いお願い厨が多い気がするんだが・・・。
0827nobodyさん03/02/11 18:11ID:???
ていうかWebProgじゃないよな…
0828nobodyさん03/02/11 19:57ID:DLCyWGmC
&get_date;
if(!$name){$name = "名無し";}
if(!$subject){$subject = "無題";}
if(!$pass){&error("削除パスが記入されていません");}
if(!$comment){&error("コメントが記入されていません");}

このようなエラーサブルーチンに投稿バイト制限を付けるにはどうやったらいいんでしょうか?
082982803/02/11 20:02ID:DLCyWGmC
厳密には1KB以上の投稿を受け付けないようにしたいのですが。
0830本7 ◆HON7/awDa. 03/02/11 20:05ID:???
たびたびすんません。
cgiの生ログの閲覧禁止とパーミッションに関してはどこで質問したらいいですか?
0831nobodyさん03/02/11 20:11ID:???
>>830
DocumentRoot以下には置かないようにするとか、suEXECが有効になっているのならば所有者以外の権限を全て奪うとか。
0832本7 ◆HON7/awDa. 03/02/11 20:14ID:???
infoseekなんでかどうかわからないんですがパーミッションをffftpでオーナーだけ実行できてグループとその他は
呼び出しだけにすると403なんですよ
0833nobodyさん03/02/11 20:16ID:???
>>828
if (length($comment) > 1024) { &error("コメントが長すぎます"); }
0834nobodyさん03/02/11 20:20ID:???
>>832
セキュリティを気にするならinfoseek(isweb)はやめましょう。
0835nobodyさん03/02/11 20:23ID:???
>>832
パーミッションは実際に設定した数字で書くこと。
その文章だと744になるが。
つーか、質問の意味が全然わからん。
083682803/02/11 20:24ID:???
>>833
ありがとう、がんがります!
083782803/02/11 20:36ID:???
>>833
ちゃんと走りました、感謝の極み。
0838本7 ◆HON7/awDa. 03/02/11 20:57ID:???
>>835
すみません。
700、744、705、755、を試しましたがCGIから書きこみができません。
サーバ規定的な問題みたいなんでレンタル板で手っ取り早く借りれる
無料CGI鯖探してきます。それでまだだめならまた寄せてもらいますわ。
どうもありがとうございました。ペコリ
0839nobodyさん03/02/11 21:19ID:???
>>838
阿呆だなあ。
それログファイルのパーミッションか?
あと、infoseekはCGIがnobodyで動くの知ってる?
基本を理解してなきゃ、鯖変えても同じだよ。
0840nobodyさん03/02/11 21:41ID:???
http://www.maido3.com/はアダルトでやるのはよくないって聞いたけどなんでですか?
0841nobodyさん03/02/11 23:21ID:???
>>840
スレ違いどころか板違い。失せろ!
レン鯖板いけ!
0842初心者03/02/12 14:44ID:pNFQ2drR
@改造したいスクリプト
ttp:/www.abi-station.com/の会社型掲示板
Aどう改造して欲しいか
toripodに対応させて欲しい。
色々なサイトで勉強しつつやってはいるのですが、何度やってもエラーが出てしまいます。
過去ログを使わない場合は消せば良いらしいのですが、よろしくお願いします。
0843nobodyさん03/02/12 19:47ID:???
php(Aki-web ttp://aki.adam.ne.jp/)の「info board(ttp://aki.adam.ne.jp/php/samples/infoboard/infoboard.php)」というスクリプトを改造してるのですが、
別ウィンドウで取得した画像URLデータを表示させたいのですが、JavaScripを使うと
クロスサイトスクリプリングの問題で引っ掛かってしまいます。

取得したデータをジャバスクリプトに読み込むのには問題があるのですが、
データを取得する際に、
初めの文字7文字でhtmlかどうか判別(絶対URLでないと受け付けない)、終りの4文字で画像データかどうか判別、違った場合は受け付けないでエラーを返す。

表示する際にhtmlspecialcharsで特殊文字をHTMLエンティティ化、その後str_replace(文字列変換)で切り取り。
としているのですが、まだ問題があるでしょうか。

084484303/02/12 19:49ID:???
ソースの一部は
======================ジャバスクリプト=====================
ヘッダー部分に
<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
HTML表示部分
<form name=form1><input type=button name=hyousi2 value=見本を見る onClick=MM_openBrWindow(\"$mihon\",'hyousi','width=260,height=350')></form>
==========================================================
084584303/02/12 19:50ID:???
===================================php====================
表示の時に
$mihon = htmlspecialchars($record_data[9], ENT_QUOTES);
$mihon = str_replace("&", "", $mihon);
$mihon = str_replace(" ", "", $mihon);
$mihon = str_replace("<", "", $mihon);
$mihon = str_replace(">", "", $mihon);
$mihon = str_replace(""", "", $mihon);
$mihon = str_replace("?", "", $mihon);
$mihon =str_replace(",", "", $url);
取得の時に(エラー表示時)
if($mihon!=""){if (substr($mihon, 0, 7) == "http://" || substr($mihon, 0, 8) == "https://") {
} else {
$string .="見本URLが間違っています<br>";
}
if (substr($mihon, -4) == ".jpg" || substr($mihon, -4) == "jpeg" || substr($mihon, -4) == ".png"|| substr($mihon, -4) == ".gif") {
} else {
$string .="見本URLが間違っています<br>";
}}
==========================================================
target=_blankにするしかないでしょうか?
新しくサイズ指定でウィンドウを開く方法他にありますでしょうか?
良い案がありましたらご意見お願い致します。
0846nobody03/02/12 21:29ID:???
新語誕生ッ
0847nobodyさん03/02/13 14:12ID:???
http://mypage.naver.co.jp/momoco/readme_momoco4b.html
の掲示板にHP宣伝できるように投稿フォームにURLを登録できるように
改造してログにURLを書きこむのには成功したんですが
http://members.tripod.co.jp/bbscgi/log.txt
掲示板を開きトピック一覧は表示されるんですがトピックの内容が表示されないんです。
ログに書きこまれてるURLを消すと正常に表示されます。
何かいいアドバイスがありましたらお願いします。
スクリプト http://members.tripod.co.jp/bbscgi/momoco.txt
       http://members.tripod.co.jp/bbscgi/topic.html
0848nobodyさん03/02/13 15:12ID:???
☆★☆★第3回2ちゃんねる全板合同迷惑メール業者訪問祭り!★☆★☆

 シャットアウトしても送って来る未承諾メールにブチキレてるあなた!
 何度も何度もしつこく送って来る非常識なメールにイライラしませんか!?
 
 私達は今夜、そんな出会いサイトに「訪問」(※注)する祭りを盛大に開催します!
 2ちゃんねる全板合同です!是非とも皆様お誘い合わせの上、ご来場ください!
 老若男女問いません!初心者大歓迎!一緒に彼氏・彼女をつくりましょう!!!
                            (↑本音とタテマエ)
 訪問開始予定時間  午後9時00分決行予定!
 総本部URL  http://jbbs.shitaraba.com/news/938/

 (※注)あくまで「訪問」です。(笑)
    物騒な事を書くと削除されちゃいますから。(←この意味わかります?)  
 それから「訪問」の主旨と無関係ですが、各種「訪問道具」も取り揃えております。(笑)
 スレ汚し失礼しました。
084984303/02/13 20:35ID:???
エンティティ…(悶)
他にも間違いが…どうもすみません。
やっぱりJavaScriptは使わない事にしました。
お騒がせ致しました〜とほほ
0850nobodyさん03/02/17 22:52ID:???
なんかむちゃくちゃだな・・・。
0851nobodyさん03/02/19 01:59ID:???
#タグの使用禁止
$value =~ s/</</g;
$value =~ s/>/>/g;

タグを禁止にして、特定のタグだけを使用可能にするにはどうすればいいんでしょうか?
0852nobodyさん03/02/19 12:03ID:???
>851

$value =~ s/<//g; #タグを一度無効化
$value =~ s/font(.*)>(.*)\/font>/<font$1>$2<\/font>/ig; #FONTタグを復活
$value =~ s/([biu])>(.*)\/[biu]>/<$1>$2<\/$1>/ig; #B、U、Iタグを復活

漏れはこうしてるが?
一度<を全部消して、閉じタグ付きでちゃんと書かれてたら復活させる方法。(B、U、I、FONTのみ有効)
閉じ忘れで壊れるのも同時に防げます。
増やすならfontのとこの行をコピペで増やしてfontを別のに変えればいいと思うよ。
$value =~ s/a(.*)>(.*)\/a>/<a$1>$2<\/a>/ig;
こんな感じ、これはAタグを復活、後は自分で考えて。
0853nobodyさん03/02/19 17:41ID:???
http://ame.x0.com/upload.html
http://ame.x0.com/upload_script.txt

ファイル表示のないアップローダなのですけれど、最大登録件数と最大ファイルサイズを変更したいのですが、
どこを変更すればよいのかわかりません。
どなたか教えていただけませんか?
0854nobodyさん03/02/19 19:37ID:???
>>853
最大登録件数なんかねえじゃねえか。脳内仕様もいい加減にしろ。
最大ファイルサイズ変えたけりゃ、スクリプトの最初に出てくる数字をいじれ。
085585103/02/19 19:39ID:???
>>852

大変参考になりました。ありがとうございました。
後は自分で考えて改造に励みます。
085685103/02/21 08:01ID:???
すみません、考えてもどうしてもわからなくて、また質問します。

#タグの無効化
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
#<del>の許可
$value =~ s/&lt;del&gt;(.*)&lt;\/del&gt;/<del>$1<\/del>/g; #<del>を許可

このように記述してみたんですが、この記述だと文章中のタグ一つしか変換しないみたいです。
何回も変換するようにするには、どうすればいいんでしょうか?
0857 03/02/21 12:55ID:???
>851

#<del>の許可
$value =~ s/<del>([\w\d\s\t\+\*\.\,\(\)\!\"\#\$\%\'\=\~\`\@\{\[\^\]\}\:\;\/\\\_\>\<]*)<\/del>/<del>$1<\/del>/ig; #<del>を許可
これで一応は動くけど文中に&は使えなくなる。
何か一個全角に・・・「文中に&(半角)があったら&(全角)にする。」っていう対策で一応はクリアできる臭い。
$value =~ s/\&/&/g; #コレ

ゴメン漏れの力じゃ<を除外してマッチングさせるのは解らなかった・・・道場かどっかで聞いて・・・。
085885703/02/21 12:58ID:???
ゴメン、&消すのが一番早いわ・・・。
つかなんか犠牲にしれ、もしくはエロイ人来るまでまってれ。
0859nobodyさん03/02/21 13:06ID:???
すごい正規表現やね。。
単に>>854は最長マッチになってるだけなんぢゃ・・・・・・
0860nobodyさん03/02/21 13:08ID:???
あら、、>>856だったYO
0861nobodyさん03/02/21 14:39ID:???
>>856
お兄さん最長マッチしてやすぜ。
$value =~ s/<del>(.*?)<\/del>/<del>$1<\/del>/g;
0862nobodyさん03/02/21 14:39ID:???
かぶったな・・・
0863nobodyさん03/02/21 14:44ID:???
被ったままじゃいかんと思ったのでついでに、
複数のタグを許可するときは

$regexp = "(del|b|small|em|strong)";

$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/<$regexp>(.*?)<\/$regexp>/<$1>$2<\/$3>/g;
0864nobodyさん03/02/21 15:42ID:???
>>854 スマソ。ありがとう御座いました。
0865nobodyさん03/02/21 15:43ID:???
ついでにisoも追加汁
0866nobodyさん03/02/21 15:46ID:???
括弧と全角&もw
086785103/02/21 19:19ID:???
>>861 さん
ありがとうございます。この方法で解決しました。
レスを下さった皆様、本当にありがとうございました。
0868nobodyさん03/02/21 21:01ID:/aoYgsJG
http://buyou.bbzone.net/comchat.dataこのスクリプトに
現在の状態というものを付けたいのですが。どうすればできるでしょうか?
例:健太@ROM
など、ヨロシクお願いします。
0869nobodyさん03/02/22 12:22ID:???
>>868
どこに表示したいの?
たとえばフレームとか別な窓とか
0870nobodyさん03/02/22 16:58ID:I8wQ3PSP
下のフレームです。
参加者(1): 健太@ROM

0871nobodyさん03/02/22 23:46ID:???
>>870
いつ状態をCGIに引き渡すかにもよるな。
それを教えれ
0872nobodyさん03/02/23 00:17ID:???
>>870
ttp://40ch.no-ip.org/comchatg.cgi
こんな感じで良ければスクリプトうpします。
087387203/02/23 09:13ID:???
>>872は脳内あぼ〜んしてくださいw

長いので少しずつ。
#まず、43行目から。状態の種類をここに入力。増やすことも可能
43: @status = ('@ROM', '@使用中','@離席中','@食事中','@すぐ戻ります');

#次に、状態を入力するプルダウンボックスを作る。
#240行目付近に「<b>名前</b>:」とあるので、その行のすぐ下から
237: HTML
238: print "<b>状態</b>:<select name=\"status_form\">\n";
239: print "<option value=\"\">(なし)</option>\n"
240:
241: foreach(@status){print "<option value=\"$_\">$_</option>\n";} #状態を選択するメニューを出力
242: print<<"HTML";
243: </select>
087487203/02/23 09:23ID:???
#最後にCGIに送られてきたデータを受け取る。
450行目付近に、「$name = $FORM{'name'};」
とある。これを、状態の情報を受け取るために

450: $nametemp = $FORM{'name'};
451: $status = $FORM{'status_form'};
452: $name = $nametemp.$status;

に入れ替える。
0875nobodyさん03/02/23 11:23ID:9SQ36OP6
>>873-874ありがとうございます、やってみます!
0876改造列車03/02/23 17:27ID:???
2ちゃんねるの記事を定期的にDLしてヘッドライン化して読めるようにするシステムみたいなものを作っています。
http://2ch.eucaly.net/monazilla/bbs/のread.cgiを読み専用に改造したのはいいのですが、
記事のアンカータグ(>>2など)が記事をDLした時点で既にリンクされてしまっているので、それを分解して<a href=#$st>>>番号</a>
のような感じに表示させたいのですが、何度やっても出来ません。
ちなみに、$stは記事番号です。説明が下手でスマソ・・。
どなたか教えて下さい。よろしくお願いします。
0877nobodyさん03/02/23 20:22ID:OjosXiHY
>>873-874と同様この改造をichatにするにはどうすればよいのでしょうか?
ソースはhttp://csx.jp/~lgyec/ichat.dataです
教えてくださると幸いです。
087887203/02/23 21:31ID:???
>>876
上から順番で。
#まず19行目に↓を挿入。同じく増やすことが可能です
19: @status = ('@使用中','@すぐ戻ります');

#次にデータ受け取りの部分。
262: $name = $text if $key eq 'name';
上を

262: $namet = $text if $key eq 'name';
263: $status = $text if $key eq 'status';
264: $name = $namet.$status;
に書き換える。
#いちいち連結するのは改造箇所を減らすためと思ってくらさい
087987203/02/23 21:38ID:???
#最後に発言用フォームを改造。569行目付近の
569: <td nowrap bgcolor=$table_color_1 align=center>お名前</td>
のすぐ下、570行目付近から

570: <td bgcolor=$table_color_2 colspan=3>$name
571: <select name=status><option value="">(なし)</option>
572: EOD
573:
574: foreach (@status){ print "<option value=$_>$_</option>\n"; }
575: print "</select>";
576:
577: print<<"EOD";
578: </td></tr>
と記述。
#状態の言葉を長くしすぎると画面が激しく崩れます。
#まだまだ良い方法があるとは思いますが、とりあえず同じ処理をば。
088087203/02/23 21:43ID:???
>>879 訂正。

570: 「<td bgcolor=$table_color_2 colspan=3>$name」
のすぐ下(571行目くらい)から
571: <select name=status><option value="">(なし)</option>
::::::(略)
579: </td></tr>
と記述してくださいな。
088187203/02/23 22:36ID:???
>>877自身の手による改造のために簡単に説明を。
@status = ・・・で状態を配列に代入しているが、これを使って後で
foreach ・・・でプルダウンメニューを作る。
メニューで選ばれた「状態」はCGIに送信されてくる。
それを名前を受け取る処理と同じように行い、名前と状態を連結して同じ変数Bに格納する。
で、もとの名前を表示する変数Aの代わりに変数Bを用いて、その後の処理を行う。

メリット:改造箇所が少ない。ログの形式が変わらない。
デメリット:フォームが増える。入力内容はメニューの内容に限られる。
0882nobodyさん03/02/24 17:17ID:EnulMF3R
>>881
@status = ('@ROM', '@使用中','@離席中','@食事中','@すぐ戻ります');
これはichatにいれる時は↑らたへんに貼っとけばいいんですよね?
foreach ・・・でプルダウンメニューを作る。
とは、foreach (@status){ print "<option value=$_>$_</option>でいいんですか?
□それを名前を受け取る処理と同じように行い、名前と状態を連結して同じ変数Bに格納する。
comchatgと同様に同じようなやつといったら
$status = $text if $key eq 'status';
$name = $namet.$status;
そのやつをichatにいれるには#データ読みこみというところのどこにいれればいいんでしょうか?
□で、もとの名前を表示する変数Aの代わりに変数Bを用いて、その後の処理を行う。
これは、どういう意味なんでしょうか?
質問ばかりですいませんが、宜しくお願いします。
088387203/02/24 18:32ID:???
>>882
878のレス番間違えてました、スマソカッタ
>>878>>877へのレスです。。
088487203/02/24 18:47ID:???
>で、もとの名前を表示する変数Aの代わりに
ってのは、受け取った名前の変数($namet)の値と状態の値($status)をくっつけて、
名前の変数($name)にまとめて入れる、ってこと。
こうすると改造箇所が無駄に増えるのを防げるなと思った。それだけ。
連カキスマソ。鬱
0885nobodyさん03/02/24 19:59ID:80HVp5Lh
ん、とてつもなく難しいぃ
困ったなぁこんな難しいとはおもってなかったぁ・・。
第一どこにどういれるかとかまったくわからないぃ。
0886nobodyさん03/02/24 20:00ID:RRWzLh+f
そうは思わない!
http://hkwr.com/
088787203/02/24 21:18ID:???
>>885
行数表示するエディタ使ってないの?
0888nobodyさん03/02/25 07:04ID:???
行数表示できるエディタ見つけたよ

テキストエディタQX評価版021130
http://www2k.biglobe.ne.jp/~araken/beta.htm
そのまま使える
0889nobodyさん03/02/25 17:07ID:9GtyGnjs
変数とかってなんなんですか?
0890nobodyさん03/02/25 17:32ID:???
889の存在意義とかってなんですか?
0891nobodyさん03/02/25 21:49ID:???
>>889
わからなければ調べよう。
0892nobodyさん03/02/26 08:33ID:???
http://www.google.com/search?q=889%E3%81%AE%E5%AD%98%E5%9C%A8%E6%84%8F%E7%BE%A9&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0893nobodyさん03/02/28 18:50ID:???
>>892
http://web2000.kakiko.com/naruhodo/Obj.swf?InputStr=%81E%81E%81E%81E%81E%81B%81@%81@%81@%81@%81@%81@%81@%81@%81@%81@%81@%81@%83O%83O%83%8B%82%C8%82%E6w
0894nobodyさん03/03/01 22:34ID:???
http://www2s.biglobe.ne.jp/~cru/library/cgi/bbs.html
ここの投稿コード付き掲示板ですが、
桁数を増やすにはどうしたらいいでしょうか?
ヒントを頂けたら幸いです(;´Д`)
0895nobodyさん03/03/02 04:44ID:???
>>894
何の桁数よ。

質問者が手抜きをするのはいただけないな。
0896nobodyさん03/03/02 10:22ID:???
3桁の投稿コードを6桁位に増やしたいんです。
見た目的に荒らし防止になると思いまして・・・
0897nobodyさん03/03/02 16:29ID:???
スクリプトをちらっと見たけど、一応、
なんか意味があって3桁にしてるみたいだね。

下手にいじる必要はないんじゃない?
0898nobodyさん03/03/03 12:59ID:VIdRJxPn
すいませんお力貸してください
http://www.web-purpose.com/PMC/
のwebmail_i.cgi
を改造しています。本文に送り主のメールアドレスが表示されてるのを消したいのですが
どのようにすればよいのでしょうか?
少し改造済み(改造とはいわないな(^ ^;)のソースです
http://210.143.102.80/upload/source/d/0945.txt
http://210.143.102.80/upload/source/d/0946.txt
945がスクリプトで946がフォーム用のHTMLです
0899nobodyさん03/03/03 22:54ID:???
すんません、どうも行き詰まってます。
BBS Note 7.xにトリップ機能を付け加えようとしてるんすけど、いい塩梅にいかねっす。

テキストはこれなんすけど、
http://mage.free-city.net/bbsnote.txt

この中の 書き込み処理全般 のとこにトリップ処理の記述を追加したところ、
トリップ変換そのものは上手くいくようになったものの今度は名前の表示が
マトモに出んようになりますた。

よろしくご指南おながいします。
090089903/03/03 22:54ID:7VkorLNn
ちなみに追加した部分はこれっす。

#トリップ処理
{
$name =~s/◆/◇/g;

my ($key,$salt);
if($name=~/#(.+)/){
$key = $1;
$salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$trip = substr(crypt($key, $salt),-11);
}

$in{'name'} =~ s/#.*//g;

if($trip){
$name=" "if($name);
$name=$trip;
}

$name =~ s/$trip/◆<\/b>$trip<b>/g;

}
090189903/03/03 22:56ID:???
訂正

誤  $trip = substr(crypt($key, $salt),-11);
正  $trip = substr(crypt($key, $salt),-10);
0902tantei03/03/03 23:53ID:???
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 直通  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  hentaimtt@k9.dion.ne.jp
   グローバル探偵事務局 

0903nobodyさん03/03/04 00:00ID:???
>>898
本文ってどこー?
0904nobodyさん03/03/04 01:44ID:???
>>900
$name =~ s/◆/◇/g;

my ($k,$s,$t,$n); # key salt trip name

$_ = $name;
if (/#(\S+)/){
$k = substr($name,index($name,'#')+1);
$n = substr($name,0,index($name,'#'));
$s = substr(substr($k,0,8).'H.', 1, 2);
$s =~ s/[^\.-z]/\./go;
$s =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$t = substr(crypt($k, $s), -10);
if ($n ne ""){
$name = "$n </b>◆$t <b>";
}else{
$name = "</b>◆$t <b>";
}
}

スキン
# 名前に項目を付けて表示する。
$LOG_name = ($LOG_name ne "") ? "<b>$LOG_name<\/b>" : '';
# 名前に項目を付けて表示する。
$RES_name = ($RES_name ne "") ? "<b>$RES_name<\/b>" : '';
090589803/03/04 02:37ID:???
>>903
メールの本文のところです
print SMAIL "Content-Transfer-Encoding: 7bit\n";
print SMAIL "Content-Type: text/plain; charset=iso-2022-jp\n\n";
print SMAIL "";
for (0..$formco) {
print SMAIL "$VADATE[$_]\n";
}
#print SMAIL "\n";
#print SMAIL "==============\n";
#print SMAIL "Time : $TIME\n";
#print SMAIL "Browser : $agen\n";
#print SMAIL "Host : $host\n";
#print SMAIL "---------------\n";
この辺があやしいと思ってるんですが(^ ^;
今のままだと$VADATEにメアドが文章として含まれちゃうんですよ
よろしくお願いします
0906poor03/03/04 05:15ID:pSR3aMdf
2箇所機能的に動かなくて困っています。
誰かPerlに詳しい方はおられますでしょうか?
直されましたら5000円お支払います。
ご連絡おまちしております。
0907nobodyさん03/03/04 05:51ID:???
>>906
詳しいやつなどいくらでもいる。
内容もわからずにどうしろっていうんだ?
5000円で見合うかどうかもわからないのに。

そもそも、ここは改造スレ。
>>1をよく読め。
0908poor03/03/04 11:30ID:pSR3aMdf
では 正しく動くように改造してください。
メールアドレスを下さい。
添付でファイルを送ります
0909nobodyさん03/03/04 12:11ID:???
>908
失礼な香具師だな。
金出せば動くと思ってるボンボンか?


正しく動くってなんだよ!
エラー出してるとこ一戸ずつ削ってケや!
それで動いたら正しく動いてる。
0910nobodyさん03/03/04 12:15ID:???
>899

sub trip {
my $str = shift;
my $salt = substr($str, 1, 2);
$salt =~ tr/\x00-\x20\x7B-\xFF/./;
$salt =~ tr/\x3A-\x40\x5B-\x60/A-Ga-f/;
return substr(crypt($str, $salt), -10) ;
}

呼び出し方
$name =~ s/#(.*)$/trip($1)/eg;


これでトリップが入った$nameが出来上がるが、これじゃ駄目?
0911poor03/03/04 12:28ID:pSR3aMdf
でわスクリプトを見てください
0912nobodyさん03/03/04 12:34ID:???
しかもマルチか。
0913nobodyさん03/03/04 17:29ID:jIWPHT84
YYCHATで、
発言毎に日時の右側にIPを表示するようにしたいのですが、
どうすれば良いのでしょうか?
091489903/03/04 20:33ID:???
>>904
>>910
ご指南いただいた通りに直したら、ちゃんと名前とトリップ出せたっす。
どうもありがとうございますた。
0915nobodyさん03/03/05 16:20ID:???
>>897
そうなんですよね・・・
なのでどうしたらいいか分からなくて(;´Д`)

5,6桁のヤツを使っているサイトもありましたが
別の方法でコードを作成しているみたいでしたし、
0916nobodyさん03/03/06 01:26ID:???
>>897
だから変える必要はないし、桁数が多いのがいいのなら、そっちを使えばいい。
馬鹿?
0917nobodyさん03/03/06 13:39ID:???
>>873-874
すいませんこの改造の仕方教えてください。
http://cgi.2chan.net/up/src/f2522.txt
これなんですけど、改造拒んでるように見えるのは私だけですか?
091891703/03/06 13:45ID:???
すいません解決しました。
091987703/03/06 17:44ID:qrKweJNz
前書き込みさせていただいたものですが。
ichatはアイコンサイズ指定になってるんですが、このサイズ機能をとりたいのですが、
どのようにすればいいんでしょうか?教えてください。
ソース⇒http://csx.jp/~lgyec/ichat.data
092087203/03/06 20:18ID:???
>>919
いろんな大きさのアイコン使いたいんだと仮定。
226行目付近、
「@icon_size=(20,20);」
とある行をコメントアウト。

#あまり巨大な画像はやめれ
0921nobodyさん03/03/06 20:32ID:z1LbRXdZ
コメントアウトというのはそれをけせってことですよね?
0922nobodyさん03/03/06 20:33ID:z1LbRXdZ
その@icon_size=(20,20);をけしたらアイコンなどつかえなくなりましたよ。
0923nobodyさん03/03/06 21:29ID:???
>>919
965行目の
print "<td><img src=\"$icon_list[$y1[2]]\" width=$icon_size[0] height=$icon_size[1]></td>";

これのwidth属性とheight属性を消してみたら?

print "<td><img src=\"$icon_list[$y1[2]]\"></td>";
092487203/03/07 13:12ID:???
>>922
すまぬ、動作テスト忘れとった・・・鬱
0925nobodyさん03/03/07 18:01ID:s5GMjGcA
>>923のとうりにしたらアイコンが消えました。ありがとうございます。
もう一つ改造したいことがあります。
そのichatに”自分の発言を消去”というボタンがあるんですけど、KENTWEBにあるような
発言を消したらメッセージを自動で書かれる奴にしたいのですが、どうすればよいでしょうか?
例えばその自動メッセージに”クリアメッセージ・・・。”こんなかんじのやつをつけたいのです。
説明不足ですが宜しくお願いします。
0926nobodyさん03/03/07 18:20ID:???
>>925
説明不足どころか意味不明。
0927nobodyさん03/03/07 18:30ID:s5GMjGcA
>>926説明不足ですいませんでした。
KENTWEBにあるCOMCHATはclearとかけば文字がけせますよね?
その時に消したことを通知するメッセージを書きたいのです。comchatのように。
宜しくお願いします。
0928nobodyさん03/03/07 20:31ID:???
>>916
別のスクリプトは簡単に解析できるので。
>>894のが私が見つけた中で一番いいかなと思ったので、依頼してみたワケです。
後は自分でやってみます。
0929nobodyさん03/03/08 11:00ID:MqKsAecY
>>927をよろしくおねがいします。
0930nobodyさん03/03/08 14:17ID:???
「comchatのように」っつったって、こっちはcomchatがどんなのか知らん。
Perlに精通=CGIに精通、ってわけじゃないのよ。
0931nobodyさん03/03/08 17:15ID:Ee7k58Ji
すいませんでした、一応comchatのソースですみてください
comchatソース⇒http://csx.jp/~lgyec/comchat.data
0932nobodyさん03/03/08 21:21ID:b2yfloXL
お願いします。お知恵をお貸し下さい。

目的のスクリプトは、
2ch風の画像張付(返信にも画像投稿可能)掲示板なのですが、
記事の部分をSQLを使ってデータベースに記録しています。

これをSQLが使えないところで、使いたいので、
なんとか、テキストなりのファイルに記録するようにしたいのですが…

(ちなみに、XREAで設置してみましたが、
 すこし、なおして動くようになりましたが、最初の1ページしか
 表示されず、生成されたHTMLにアクセスできないという、
 よくわからない状態になってしまいました。)

よろしくお願いします。

http://moe.homelinux.net/soft/rev708.zip
093393203/03/09 01:56ID:jq/gPxKU
どうもすみませんでした。
自分でいろいろやってみたんですが、
あれから、全然進展しなくて。

それで、これの参考元をさがしたら…
ちょうど、自分の思ってたものがありました!
どうも、お騒がせしました。

ちなみに、「鏡のくに」ってとこのスクリプトです。(php)
0934nobodyさん03/03/09 12:22ID:57f77bEe
>>931よろしくおねがいします
0935nobodyさん03/03/09 12:53ID:hIa+sLU+
すいません、相談させてください。
今、
 「日記を増やせるタイプ」
 「左フレームに作者の日記タイトル、右に日記の内容」
 「各日記ごとに感想をゲストが投稿できる」
 「(できれば、一番最近に更新されたものがわかるようなものがいいです)」
上のような感じのものを探しているんですけど、見つかりません。(T^T)

http://www.t-okada.com/cgi/cgi_scripts/10_20_log.html
 (サンプルは→ http://www.t-okada.com/sh1_diarys/

今の所、↑が一番イメージに近いので、これにレスがつけられたら最高なんですが、
そういう風にはできないでしょうか?

今、20人位の日記のホームページに私も参加しているんですけど、みんなで1つの
日記を使っているので、ゴチャゴチャしていて、とっても使いづらくて…。(T^T)
(1個の普通の掲示板を日記代わりにみんなで使っています ^^;)

あと上のは、最後に更新された日付が最初の左フレームに表示されてとても見やすいと思うので、これにレスをつけられたら最高だなぁ〜って思うんですけど、どなたかお力をお貸しくださいませんでしょうか。

依頼で、すいません。
どうか、よろしくお願い致します。 m(__)m
0936nobodyさん03/03/09 13:18ID:???
>>935
ttp://www.t-okada.com/cgi-bin/sn_diary/sn_diary.cgi
じゃダメな理由はなんなんだYO(;´Д`)
093793403/03/09 13:27ID:hIa+sLU+
>>936
早速のレス、ありがとうございます。^^

20人位で使おうと思っていて、できれば、
日記が個人別に分かれて欲しいと思っているからです。

個別に分かれていてレスがつけらて、各人の最終更新時間が一覧でわかれば
最高なんです♪

だから、934で書いたタイプにレスをつけられたらいいなぁ〜って思っています♪

こういうタイプは見た事がないので、きっと無理なプログラムばんでしょうか…(T^T)
093893403/03/09 13:29ID:hIa+sLU+
すいません、訂正です

× プログラムばんでしょうか…
〇 プログラムなんでしょうか…

m(__)m
0939nobodyさん03/03/09 13:40ID:???
スレッド型掲示板で代用しる
0940nobodyさん03/03/09 13:45ID:57f77bEe
>>931よろしくおねがいいたします。
0941nobodyさん03/03/09 15:59ID:???
( ゚Д゚)ポカーン
094293403/03/09 18:22ID:pZsxM+bP
>>939
レスありがとうございます。

スレッド掲示板ですか…。
それだと、あまり日記っぽくなくなってしまう気がするので…^^;
(わがままいってすいません)

色々機能を満たすのを探すのは、やっぱり難しいですよね… (T^T)
094394003/03/09 18:29ID:KwWbXhd4
よろしくおねがいします!!
0944場違いでごめんね。よかったら教えってね。03/03/09 23:44ID:2uGjMOlZ
フォームの送信ボタンを作り、それを押すと別のウインドウを開くようにしたいのですが、うまくいきません。

☆送信ボタンがあるページ →場所:C:\HOMEPAGE\template\hyouzyun\h_1
☆開きたいページ(tizu)  →場所:C:\HOMEPAGE\template\hyouzyun\h_1

二つのページは同じフォルダに保存してあります。
送信ボタンは挿入→入力部品の送信ボタンを選択して作りました。
それからが問題なのですが、
その作成した送信ボタンを右クリック→イベントの設定をし、
★イベント = ON CLICK
★スクリプト =var winwindow.open("tizu.html","tizu","width=100,height=50")

と、入力し、OKを押して、送信ボタンに上のスクリプトを割り当てたのですが
"tizu"のウインドウが開きません・・。やり方がまちがってるでしょうか?
宜しくご指導ください!お願いいたします。
0945nobodyさん03/03/10 00:05ID:???
>>944
JavaScriptのことなら、Web製作板へどうぞ。
0946nobodyさん03/03/10 14:41ID:ZSUpGpYi
日記スクリプトの改造なのですが

↓このスクリプトだと
http://www.geocities.co.jp/Bookend-Ohgai/4692/tboard007.txt

↓このような表示になります
http://www.geocities.co.jp/Bookend-Ohgai/4692/moto.html

これを↓のような表示にするにはどうすればよいですか?
http://www.geocities.co.jp/Bookend-Ohgai/4692/kaihen.html

簡単に説明すると、現在 左=画像 右=本文 となってるレイアウトを
上=画像 下=本分 にしたいわけです。

よろしくご指導ください
0947nobodyさん03/03/10 16:28ID:???
>>946
print "</TR><TR>";

どこに入れるかくらいは自分で探すべし(゚Д゚ )
0948nobodyさん03/03/10 16:53ID:+NULa64Y
>>947
テーブルで画像と本文分かれてるからそれだと無理じゃない?
それ以上のことは俺にはわかんないけど
0949nobodyさん03/03/10 16:53ID:???
# ロック処理 #
sub lock {
local($retry,$mtime);
# 1分以上古いロックは削除する
if (-e $lockfile) {
($mtime) = (stat($lockfile))[9];
if ($mtime < time - 60) { &unlock; }
}
# symlink関数式ロック
if ($lockkey == 1) {
$retry = 5;
while (!symlink(".", $lockfile)) {
if (--$retry <= 0) { &error('LOCK is BUSY'); }
sleep(1);
}
# mkdir関数式ロック
} elsif ($lockkey == 2) {
$retry = 5;
while (!mkdir($lockfile, 0755)) {
if (--$retry <= 0) { &error('LOCK is BUSY'); }
sleep(1);
}
}
$lockflag=1;
}
# ロック解除 #
sub unlock {
if ($lockkey == 1) { unlink($lockfile); }
elsif ($lockkey == 2) { rmdir($lockfile); }
$lockflag=0;
}
KENTさんのファイルロックのルーチンなのですが、これにflock関数のファイルロックをつけるにはどうすればいいのですか?
0950nobodyさん03/03/10 17:24ID:???
>>948
HTMLを勉強汁!
095193103/03/10 20:32ID:wfQN1r0d
>>931ですが、その改造の仕方教えてください。
0952nobodyさん03/03/10 20:49ID:???
                    /:|.             /:|
                   / .:::|            /  ::|
                  |  ...:::|_          /   :::|
                 i       ̄ ̄⌒゙゙^――/   ::::::|
                /                  :::::::::\
                /|・\           ./・>    :::::::::\
               /ミ\ \         / /彡 i し./:::::::\
               /  ミ\.\ヽ|||liiiii||/ /./彡   ノ (::::::::::::::::::\
              /    ミ\\|||iii||l//彡     '~ヽ  :::::::::::::::\
             /        ̄    ̄,,、          /:::::::::::::::::.\
ファビョ━━━━━/  \ /  ,,____ _,/ ̄ \ \    /::::::::::::::::::::::::::::\━━━━━ソ!!!!!
           \    |.. | /└└└└\../\    /:::::::::::::::::::::::::::::::::/
             \    ∨.|lllllllllllllllllllllllllllllllllllllllll|  /::::::::::::::::::::::::::::::::::/
              \   |.|llllllllllllllll;/⌒/⌒  |    ::::::::::::::::::::::::/
                \ |.|llllllllll;   ./ .   . |    :::::::::::::::::::/
                /  |.|llllll|′  /    . |    | ::::::::/|
                /  |.|llll|    |     .∧〔   / ::::::::::::::::\
              / }.∧lll    |    ../ /  /   :::::::::::::::::\
             /   /| \┌┌┌┌┌/./ /:::      :::::::::::::::::\
           /    ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /:::::::::::         ::::::::::\
          /     ヽー─¬ー〜ー――― :::::::::::::
095393103/03/11 17:24ID:faQewhAO
>>931よろしくおねがいします。
comchatのソース⇒http://csx.jp/~lgyec/ichat.data
0954nobodyさん03/03/11 17:59ID:???
>>953
いくらおねがいしても誰もやる気ないようだ
自分でできるところまでやってみてそれを元にアドバイス求めれ
0955nobodyさん03/03/11 18:32ID:???
>>949
既に解決しているだろうと思うけれど、念のためにカキコすると
flock関数はopen関数で指定されたファイルハンドルで使用するため
指定のルーチンをそのまま置き換えるには無理があるYO
実際はもっと簡単にできる
flock関数を使用している他のソースを調べましょう
095687203/03/11 18:47ID:k4GIfrjV
>>949
$lockkey = '3';

#&lock内に追加
if ($lockkey == 3) {

for ($i; $i<=5; $i++) {
if (flock (FH, 2)) {
last;
} elsif ($i == 5){ &error('LOCK is BUSY'); }
sleep(1);
}

}

#同じく
sub unlock {
if ($lockkey == 1) { unlink($lockfile); }
elsif ($lockkey == 2) { rmdir($lockfile); }
elsif ($lockkey == 3) { flock(FH, 8);}
$lockflag=0;
}
095787203/03/11 19:18ID:k4GIfrjV
>>955
すいませんでした。。
0958nobodyさん03/03/11 20:23ID:???
>>957
ん? なんで謝るのYO
ファイルハンドルとサブルーチンを呼び出す位置を間違っていなければ
sleepする必要はない気がするけれど・・・構わないんじゃないの
095994903/03/11 20:41ID:???
皆さんレスありがとうございます。
>>956さん
試してみたんですが、LOCK is BUSYばかり出て書き込めませんでした。

>>955さん

とりあえず以下のように記述してみました。
open(IN,"$logfile") || &error("ログファイルが開けません");
flock( IN, 1 ); #ファイルを読み出しロック
@lines = <IN>;
flock( IN, 8 ); #ロック解除
close(IN);

open(OUT,">$logfile") || &error("ログファイルに書きこめません");
flock( OUT, 2 ); #ファイルを書き込みロック
print OUT @lines;
flock( OUT, 8 ); #ロック解除
close(OUT);

これで書き込めたんですが、あっているでしょうか? ファイルロックができているかチェックする方法とかありませんか?




0960nobodyさん03/03/11 20:54ID:???
flock( OUT, 2 ) || &error("失敗");

flock( OUT, 8 ); #ロック解除
はいらない
0961nobodyさん03/03/11 21:06ID:???
flock( OUT, 2 ) || &error("失敗");
??
0962nobodyさん03/03/11 21:57ID:???
>>959
あってるYO
ファイルロックのテストは、適当にfork関数で多数の子プロセス上で排他処理させるか
指定時刻にファイルの読み書きのループを一斉に開始するスクリプトなどで
気の済むまでやるしか無いでしょう
もちろん、後からでも正常に処理できたかは分るように、読み書きする内容はキチンとプログラムしましょう
0963nobodyさん03/03/11 21:58ID:???
あ・・・テストは自分のPC上でローカルでどうぞ
0964nobodyさん03/03/11 21:59ID:???
>>959
危なっかしいけど、まあいいだろ
ロック解除は不要
0965nobodyさん03/03/11 22:46ID:???
>>964
あなたは、随分と、偉そう、ですね?
096694903/03/12 18:36ID:???
皆様ご親切にありがとうございました。
>>964さん
この記述は危ないんですかね?
0967nobodyさん03/03/12 22:27ID:???
>>966
この部分だけじゃ$logfileがどの程度重要なものか
わからないけど、十分な安全性があるとは言えないな
0968nobodyさん03/03/13 01:28ID:???
>>967
$logfileが重要かどうかではなくて、その内容によるYO
>>966
ファイルロックトも兼ねてテストすれば、問題点はすぐに気が付くハズ・・・
0969nobodyさん03/03/13 01:29ID:???
>>968
なんだ・・・ファイルロックトって(w
ファイルロックだYO
0970nobodyさん03/03/13 01:54ID:???
open(OUT,">$logfile") ←この時点でファイルはクリアされる
              ←ここで別プロセスがファイルを操作する危険も
flock( OUT, 2 );
print OUT @lines;   ←この前までにプロセスが死んだらファイルは破損
flock( OUT, 8 );
              ←ここで別プロセスがファイルを操作する危険も
close(IN);        ←実際の書き込みが行われるのはここ(オートフラッシュなしの場合)
0971nobodyさん03/03/13 10:07ID:???
>>970
なるほど、open(FH, ">filename") でファイルを開いただけでは
ファイルは変更されていない状態だと思っていましたが・・・確かに危険ですね
">>filename"などでオープンして、turncateで0指定する方法をとるべきか・・・
良い事を教えてもらいました。ありがとうございます
失礼しました
0972山崎渉03/03/13 17:00ID:???
(^^)
097393103/03/15 11:29ID:???
>>954さんが言われたとうり自分でできるところまでやってみました。
改造した部分だけのソース⇒http://csx.jp/~lgyec/ichats.data
ichatのソース⇒http://csx.jp/~lgyec/ichat.data
こういう風にやっても、自分の発言を削除をクリックしても”クリアメッセージ”と自動的に発動しません。
援助お願い致します。
0974ひよこ名無しさん03/03/15 12:43ID:???

(,,゚Д゚)http://www.geocities.co.jp/HeartLand-Yurinoki/3749/dustbox.html
0975名無し03/03/15 16:35ID:55qzOCkc
KENTさんの掲示板
http://www.kent-web.com/bbs/fantasy.html?
に、”タイトル”を入力する項目を追加したいのですが
いざやってみたら、上手くいきませんでした。
この場合、どこをどういじればいいのでしょうか?
0976ウマー(゚Д゚)@Apw5yill☆2ch03/03/15 16:39ID:abzlUrYY
質問です。CGIで例えば、****.cgi?1111
みたいな、?1111を付け加えて表示させる物があります。そこで、
URL転送を使って、***.com/1111を入力すると、****.cgi?1111が表示
されるように、転送先を****.cgi?にしましたが無理でした。
なにかいい方法はありませんか?
097700703/03/15 16:48ID:???
タイトル入力するところあるぞぃ
# タイトル名
$title = "Fantasy Board";
ってやつが
0978nobodyさん03/03/15 16:53ID:???
>>973
while (<IO>){
 if ($_ =~ /<>$ip/){
  @y2=split(/<>/,$_);
  if ($y2[6] ne $ip){
   push(@log,$_);
  }else{
   push(@log,'All Clear (^-^)v');
  }
 }else{
  push(@log,$_);
 }
}
0979nobodyさん03/03/15 16:54ID:???
>>976
転送先を****.cgi?1111
0980ウマー(゚Д゚)@Apw5yill☆2ch03/03/15 16:58ID:abzlUrYY
は、できたんですが、その他にも2222や3333とも指定したいのです。。
0981nobodyさん03/03/15 17:07ID:???
>>980
ドキュメントルートに***.com/以降を受け取れるcgiでも作って置けばいい

尚、ここは改造スレにつきスレ違い
0982nobodyさん03/03/15 18:20ID:???
>>978さんのとうりにすると
sub deleteme{
#自分の発言消去
open (IO,"+<$logfile");
eval{flock(IO,2)};
while (<IO>){
 if ($_ =~ /<>$ip/){
  @y2=split(/<>/,$_);
  if ($y2[6] ne $ip){
   push(@log,$_);
  }else{
   push(@log,'All Clear (^-^)v');
  }
 }else{
  push(@log,$_);
 }
}
truncate(IO,0);
seek(IO,0,0);
print IO @log;
close (IO);
&reload2;
}
でいいですよね?そうしたらScript Errorがでました。
援助お願いします。
0983nobodyさん03/03/15 19:23ID:???
>>982
あのままコピペしたんじゃないだろうな?
全角スペースを半角かタブに置き換えたか?
0984nobodyさん03/03/15 21:59ID:6KH7Xn0j
>>976
>URL転送を使って
多分/以降のデータは中継されないから無理
0985nobodyさん03/03/15 22:06ID:???
   ,.´ / Vヽヽ
    ! i iノノリ)) 〉
    i l l.´ヮ`ノリ <先生!こんなのがありました!
    l く/_只ヽ    
  | ̄ ̄ ̄ ̄ ̄|
http://saitama.gasuki.com/aomori/
098697503/03/15 23:45ID:MaN1zNKv
>>977
いや、掲示板のタイトルじゃなくて
ここのスレッドにタイトルをつけたいのです。
0987nobodyさん03/03/16 13:58ID:???
ここのスレッドとはどこのスレッドですかぁー?w
0988nobodyさん03/03/16 13:59ID:t8L+n8I+
>>983全角スペースを半角かタブに置き換えたか? ってどういう意味ですか?
0989nobodyさん03/03/16 14:08ID:???
>>988
意味も何も、そうしたかと聞いてる
0990nobodyさん03/03/16 15:29ID:vOOsWTxU
そのまま貼り付けたんですけど。
0991nobodyさん03/03/16 16:21ID:???
>>990
アホか
コピペした部分の全角スペースを置き換しれ
0992nobodyさん03/03/16 17:44ID:KSrtergb
新すれはどこですか?
0993nobodyさん03/03/16 17:47ID:WBb98oow
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
★その目で確認すべし!!★超おすすめ★
0994nobodyさん03/03/16 17:51ID:???
>>992
ないから、いるなら立てて
0995nobodyさん03/03/16 18:08ID:vOOsWTxU
>>991さん無事できたのですが。
All Clear (^-^)v > () と名前のところにそのALL Clearとでて文字のところに()とでます。
援助お願いします。
0996nobodyさん03/03/16 18:15ID:vOOsWTxU
↑の続きで
その自分の発言を削除を押した後発言をするとAll Clear (^-^)v > () が消えてしまいます。
0997nobodyさん03/03/16 18:16ID:x5aWnNPV
いきなり乱入1000
0998nobodyさん03/03/16 18:24ID:MtdvS7v9
1000!
0999nobodyさん03/03/16 18:24ID:MtdvS7v9
とう!
1000nobodyさん03/03/16 18:24ID:MtdvS7v9
1000げっとーーーーーーーーーーーーーーーズザァアア
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。