#================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
質問するときは以下の点に注意して書いて下さい
(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化済み)
( ゚д゚)
乙カレー
確実に取れる5をGETしても面白くないな。
イマダ6ゲト ズサーーーーーーーーーーーーーーーー ぷうーあぶねー間に合ったぜ
7 :
7GET :02/08/02 00:10 ID:SyIGyoHO
Ruby━━━━━(゚∀゚)━━━━━!!!!
( ´_ゝ`)フーン
9 :
3PIO ◆3pIoOHKo :02/08/02 21:41 ID:QeEOKQz7
BOCOL
(・∀・)スーンスーンスーン♪ (゚д゚)ハッ! (・∀・)スーンスーンスーン♪ (´Д`)イェァスーンスーンスーンスーン (・∀・)スーンスーンスーン♪ (´Д`)イェイェイェァ (・∀・)スーンスーンスーン♪ (´Д`)イェァイェァイェァイェァスーン (゚д゚)ヤ! (・∀・)スーンスーンスーン♪ (゚д゚)ヤ! (・∀・)スーンスーンスーン♪ (´Д`)イェァモンモン (゚д゚)ヤ! (・∀・)スーンスーンスーン♪ (´Д`)シケタシケタ (゚д゚)ヤ! (・∀・)スーンスーンスーン♪ (・∀・)スーンスーンスーン♪ (・∀・)イェーア! (・∀・)スーンスーンスーン♪ (・∀・)イェーア! (´Д`)スンベスンベソンスンスンバ (・∀・)スーンスーンスーン♪ (゚д゚)ブベラ! (´Д`)スーンスーンスーン
ちなみにこのスレはWEBプログラミングに関する言語ならなんでもOKなんだよね? Perlだけじゃないよな・・?
まぁ、そうだが、スクリプト中心で。
もちろんRubyもPythonもOKですよ ,,というよりPythonだれか教えて
15 :
nobodyさん :02/08/03 12:10 ID:QHwXQt4P
鬼レスボード ←ネーミングセンスがイイ(・∀・)!!
鬼即レスボードきぼん。
19 :
15 :02/08/03 12:51 ID:QHwXQt4P
20 :
20 :02/08/03 18:41 ID:hhYBlAJk
20だけど、鬼レスなんて始めて聞いたよ。
21 :
20 :02/08/03 18:42 ID:hhYBlAJk
E-mail欄に 思わずsageって入れたら起こられた…。 ガーン(w
22 :
22 :02/08/04 15:08 ID:???
改造したいスクリプト
→kent-webのウェブパティオという掲示板
http://www.kent-web.com/bbs/patio/patio.cgi 希望 →投稿内容を増やしたい。デフォルトでは名前やコメントだけだが、
年齢と性別、出身地等を記入できるようにしたい。(クッキー保存は無くて構いません)
$logder$in{'no'}\,cgiと$nowfileへの書き込みを中心に変更したのですがうまくいきません。
よろしくお願いします。
コードが長いので面倒だが少しずつ。。 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> ってところがある。そこを
<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)
性別や出身地については同じように <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も分かりやすいように重複させないこと
↑ <tr bgcolor="$col2"><td bgcolor="$col2" width=80>年齢</td> <td bgcolor="$col2"> が抜けてた。自分で付け足してね
次に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'}; にする。
連続書き込み制限?
次に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歳代"; ってな感じにする
コラコラ、◆adminSE さんは答えられる実力なんてないんだからさぁ。
32 :
22 :02/08/04 17:02 ID:???
>>◆adminSE
ありがとうございます。これから試してみます。
>>30 ´_ゝ`
>>32 あ、まだ↑のだけじゃ動かないからね。
修正するところいっぱいあってけっこう時間かかる
34 :
おとのちゃま :02/08/05 22:05 ID:jr9SkgFH
35 :
クロス(本当に迷惑かけます) :02/08/06 19:04 ID:AiGWWT1t
じつは今gzip圧縮のCGIをいじってるんですが
うちのサーバーではgzipに対応していないのです
自分でもいじったんですがうまくいきませんでした
どなたかgzipの記述を見つけて削除してもらえませんでしょうか?
アドレスは
http://x-wing.tsukaeru.jp/t/ です
まことにずうずうしくてごめんなさい
>35 2行目に undef($ENV{'HTTP_ACCEPT_ENCODING'}); 不具合出たら知らないw
38 :
37 :02/08/06 20:31 ID:???
39 :
クロス(本当に迷惑かけます) :02/08/06 22:31 ID:4KFNCG3i
えっとすいません
>>36 さん
詳しくおしえていただけませんでしょうか?
すいません
40 :
クロス(本当に迷惑かけます) :02/08/06 22:39 ID:4KFNCG3i
できましたぁ本当にありがとうございます♪
219行目の<!--$ipad $rhost-->を消せ。
>>42 様
早速の解答有り難う御座いました。
やってみたのですが、投稿した人のIPアドレスは消えたのですが、
答えた人のIPアドレスはやはりソースに残ります。
答えて頂いたのに申し訳ありませんが、今一度どこをいじればいいか
教えて頂けないでしょうか。
すみません。
投稿した人のIPはもともと出ないはずだが?
>>44 様。
そうですよね。それが、42様の言われた部分を削除すると、
投稿者のIPアドレスは消えて、回答者のIPアドレスが載るように
なってしまったのです。
後いじるところといえば、どこかわからなくて・・・
本当に申し訳ないです。
>投稿者のIPアドレスは消えて、回答者のIPアドレスが載るように だから、投稿者のIPはもともと出ないってば。
47 :
46 :02/08/08 17:37 ID:???
>>46 様。
大変大変失礼しました。
私の勘違いでした(汗)
IPアドレス消えました。
お手数おかけしてすみません。
有り難う御座いました!!!
49 :
:02/08/09 11:05 ID:???
sage
50 :
にすと :02/08/10 11:17 ID:OIUOCS1V
>>50 期待するなよ。
このスレは質問ばかりで答えは少ないから。
>>50 トップページってindex.htmlの画面の中に表示させたいの?
それだったらSSIつかえば出来るよ。それかインラインフレームの中に
CGIファイルを表示させるとか。
それか参加者一覧みたいので別ウィンドウでCGIファイル開いて表示とか
どっち?
<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仕様にしてトップにはっつけれ
54 :
にすと :02/08/11 00:42 ID:7XQNhXs7
>>53 有り難う御座います。(^^
助かりました。
>>52 一応、index.htm内の事です。
53さんのお陰でなんとかなりそうですが。(^^;
55 :
nobodyさん :02/08/12 19:26 ID:0dsfb2nN
>>55 > スレ一覧表示機能
具体的にどんなのだ?
↑にあるようなやつか?
57 :
nobodyさん :02/08/13 03:05 ID:2vLbRybx
>>56 1: IDにPerlが出た奴は神!PHPがでたらDQN (552) 2: こんなCGI探してますスレッド Ver6 (754) 3: 【 スクリプト改造工房 PART 5 】 (56)
・・・
スレッド一覧はこちら
みたいな漢字でおながいします
58 :
コージ :02/08/14 04:09 ID:???
60 :
nobodyさん :02/08/16 16:44 ID:fDHEelSJ
>>59 の所のように全ページHTML表示にできますでしょうか?
よろしくお願いします。
「Akiary」(
http://www.hi-ho.ne.jp/yakira/akiary/ )という日記スクリプトなんですが、
過去日記を、目次(例えば○月×日「タイトル」・○月△日「タイトル」スタイルに
変更することは、ムズカシイことなんでしょうか?
(現在は、過去日記の目次は月毎で、月ボタンを押すとその月がずらずらっと
全て現れる状態です)
あまりPealの知識がなく、どこをいじればいいか皆目検討が尽きません。
申し訳ありませんが、アドバイスをお願いいたします。
62 :
謎? :02/08/17 09:02 ID:oGO0yuMm
>>61 漏れもPealは知らないな。
誰か知ってる奴にでも教えてもらえ。(w
>>63 さん。
間違ってました。ごめんなさい。Perlですね・・・。
本当にすみません。
65 :
コージ :02/08/18 03:56 ID:???
>>59 遅れてすいません。はい。そういう感じで良いです!
それは配布してないでしょうか?
67 :
nobodyさん :02/08/18 21:18 ID: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; これではどうしても返信すると親記事が上がってしまうんです どうしたら、あがらないようにできるのでしょうか? ご教授願えたら、幸いです
68 :
nobodyさん :02/08/19 00:21 ID:fNGRiFtL
>>67 何のソースだよ?
というか一部省略してないか?
69 :
59 :02/08/19 14:34 ID:???
>>65 配布はしていないと思われます。
なんか見つけただけですね。すみません。
70 :
70 :02/08/19 23:45 ID:La8Q9Gx7
CGIの呼び出しが設置しているサイト内のリンク以外からだったら お断りするロジックを追加したいのですが… HTTP_REFERER を???良く判りません。宜しくお願いします。
72 :
70 :02/08/20 01:37 ID:Oem70iG+
>71さん ありがとうございます。やってみます。
test
75 :
74 :02/08/21 11:01 ID:Nqi4eTFI
55行目の print $sock "Host: $HostAddr\r\n"; を print $sock "Host: $hostaddr\r\n"; にしたら74のように投稿できますた。 perl -cwでSyntax checkしたら一発でわかりましたが。
76 :
73 :02/08/21 13:34 ID:???
>>75 あ、一回手直ししたときにコピー元から直してなかったのか。。
うまくできました。どうもです
77 :
nobodyさん :02/08/21 23:45 ID:3+zymHFq
168行目
79 :
77 :02/08/23 00:16 ID:BMtMcA8t
168行目って言うと print "<DIV ALIGN=center><NOBR><SMALL>"; の部分ですか?? それとも168行目以降という意味??
80 :
ビギナー :02/08/23 00:43 ID: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; 説明が下手ですみません。 私は初心者ですのでご勘弁を。
82 :
77 :02/08/23 01:46 ID:BkAaZ1YH
>>80 ありがとうございました。
なんとか出来たようです。
行番号がずれてたみたいで折角ヒント頂いたのに
生かせなくてもうしわけありません、78さん。
この辺もいじってたんですがいじりが足りなかったようですね(^^;
本当にありがとうございました〜
83 :
nobodyさん :02/08/28 07:34 ID:O4565eSf
上のほうに $ENV{'TZ'} = 'JST-9'; を書き加えてみたら?
#---- 現在日付 ----# の下に加えたらいいよ
86 :
83 :02/08/28 18:26 ID:O4565eSf
>>84 >>85 できますた!ありがとうございますた!
たった一行の追加でOKだったなんて、、、。
ほかにもいろいろ時間の狂ったCGIが置いてあるので
これから片っ端から試してみます。おかげさまで
これでやっと日本時間に日記更新できます(;´3`)
2ちゃんに自動書き込みのできるスクリプト探してます。
88 :
nobodyさん :02/08/30 02:05 ID: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; } }
89 :
88の続き :02/08/30 02:05 ID: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;
既存のファイルも添付できるのを使え。
91 :
sage :02/08/30 02:12 ID:???
92 :
nobodyさん :02/08/30 17:28 ID:eOo55UHJ
すみません。
KENT-WEB(
http://www.kent-web.com/の )YY-BOARDを使っているのですが、
アイコンの選択のところで、ランダムを選択してアイコンをランダムに表示するには
どうすればいいのでしょうか?
くだらない質問かもしれませんが、よろしくお願いします。
93 :
ビギナー :02/08/30 18:48 ID:???
>>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 = ('くま','ねこ','うし','いぬ','きつね','ひつじ', 'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ'); …に、【ランダム】の項目を付け足すために ↓ のように書き足します。 −−(改行が多すぎますって怒られて書けないので) 続きは次へ−−
94 :
ビギナー :02/08/30 18:49 ID:???
# アイコンを定義(上下は必ずペアで)
@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/ へ置いてみましたので、チェックしてみてくださいネ。
95 :
92 :02/08/30 21:03 ID:eOo55UHJ
>>93 >>94 できました!ありがとうございます!
欲を言えば、クッキーにランダムを覚えさせておきたいんですが…
クッキーの発行辺りをいじればよさそうなんですが、書き方が分からないもので。
それと、rand.gifを用意するということは、ランダム表示の際に、rand.gifが表示されることもあるのでしょうか?
質問続きですみません。
96 :
ビギナー :02/08/30 21:19 ID:???
92さん、ご報告、ありがとうございました。 無事に動きましたか、良かったです。 これからも改造、頑張ってくださいね。 > それと、rand.gifを用意するということは、ランダム表示の際に、 > rand.gifが表示されることもあるのでしょうか? いえ、rand.gif は表示されませんが、ダミーとして入れておかないと、 【画像イメージ参照】をクリックした時に ×印(画像が無いって意味)が表示されて エレガントじゃ無いですから、その対処として、rand.gif を入れてあるだけです。 > 欲を言えば、クッキーにランダムを覚えさせておきたいんですが… はい、対応できるように考えてみます。 でも、今からちょっと仮眠タイムですので、明日になっても良いですか? ごめんね。 それでは、また明日にでも…。 (って、どなたかが対応してくだされば嬉しいのですが。)
97 :
92 :02/08/30 21:30 ID:???
>>96 rand.gifは表示されないんですね。分かりました。
クッキーの件については、
お忙しい中、申し訳ありませんがよろしくお願いします。
もう少し勉強せねば…
98 :
ビギナー :02/08/31 06:16 ID:???
う〜ん、う〜ん、思ってた以上に難しくって、、、92さん、すみません。
なんとかクッキ対応にしたかったのですが、私のチカラ不足です。
とりあえずのサンプル と 説明は →
http://you.s16.xrea.com/b2/ と、いう訳なので、どなたかにバトンタッチ! お願いします。
99 :
92 :02/08/31 09:21 ID:???
>>98 とんでもないです。朝早くからわざわざページまで作ってくださって
感謝感謝です。
自分の思ってたほど処理が簡単じゃなかったんですね。
この機能はあったら便利だけど、なくて困るようなものじゃないので…
しばらくこのままで使ってみます。
ほんとにありがとうございました。
100ゲト! >>99 92さん、レスをありがと! お役にたてなくて & 中途半端にしゃしゃり出て すみませんでした。 私も今後、精進に励みますので、どうかご勘弁ください。 ここはこーだろ? って、どなたかが教えてくださればありがたいのですが…。 どうぞよろしくお願いします> 分かるかた
>100ゲト! ( ´,_ゝ`) プッ
ッチモニ。
>>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');
を置けば事は済むだろ。試しとらんけど。
>103 どうもありがとうございます、試してみます。
>>ビギナー ならこうしてみ。試したら出来た。 # パスワードを暗号化 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; }
108 :
92 :02/09/01 00:57 ID:???
>>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は表示されなくなりました。(多分)
合ってるかどうか分かりませんが、とりあえず問題なく動いてます。
107さん、 92さん、ありがとうございました。 順を追って試してみたのですが…。 う〜ん、やっぱり rand.gif が表示されちゃいます 投稿、返信、修正、とやってるうちで クッキの件は解決されましたが rand.gif が表示されちゃう件は未解決です 修正で【ランダム】を選択すると ↑ の現象が起こります
110 :
◆DYeooZwg :02/09/02 22:41 ID: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が表示される事は無いと思う。
まずは、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]; } こんなの拾った。試してはないけど
112 :
_ :02/09/03 14:27 ID:???
前記のビギナーですが、、、110さん、111さん、どうもありがとう。 教えていただいた方法を今度、試してみます。
113 :
きつね :02/09/07 21:29 ID:ePdmblI2
ちっとは自分で試行錯誤してから 質問しろやボケ
115 :
nobodyさん :02/09/08 18:01 ID:x3j5SYvz
>>113 同さ未確認ですが何か?
288行目に追加
$threadtate_ip = $ENV{'REMOTE_HOST'};
897行目を変更
print OUT "$FORM{'FROM'}<>$FORM{'mail'}<>$DATE $threadtate_ip <> $FORM{'MESSAGE'} <>$FORM{'subject'}\n";
116 :
きつね :02/09/08 20:11 ID:zO9UXU5c
>>114 ここは殺伐としたインターネットですね
>>115 ありがとうございます、早速やってみます。
117 :
きつね :02/09/09 12:30 ID:YPMaGOW6
サーバーエラーになっちゃった
print OUT "$FORM{'FROM'}<>$FORM{'mail'}<>$DATE<> $threadtate_ip <> $FORM{'MESSAGE'} <>$FORM{'subject'}\n";
にしても、エラー
http://band.lib.net/2ch/16a.zip
>>117 $threadtate_ipの宣言と受け渡ししてないだろ。
よくわからないなら3行目の use strict; は消しとけ。そうすりゃ
いつでもどこでも勝手に変数使えるから。
119 :
nobodyさん :02/09/09 23:58 ID:5bzF4wXy
>>117 どうしてサーバエラーになるのかくらい調べなさい。
少しは自分の脳みそ使えやボケ
121 :
名無し :02/09/12 14:40 ID:cLzEmwaR
KENT-WEB(
http://www.kent-web.com/の )YY-BOARDの改造について質問なのですが
記事に返信する場合に、記事を上に上げるか上げないかは初期設定で行うようになっているのですが、
それをネット上で実際に返信する人が選べるようにしたいのですが、そういう設定にするにはどうしたら良いのでしょうか?
>>121 上げたくないときは、メール欄にsageと書くのじゃ
結構簡単そうなんだけどな。
>>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
125 :
122 :02/09/12 15:50 ID:fqwY/73y
ラジオボタンなら <INPUT type=radio name=topsort value=1 checked>age <INPUT type=radio name=topsort value=0>sage とか
126 :
122 :02/09/12 15:54 ID:CWF7GrNv
>>125 の場合は
eq "age"
は要らないです
127 :
121 :02/09/12 17:36 ID:ZMgsQhUH
みなさんどうもありがとうございます。 早速やってみたのですが、一回目は失敗しました。 もう一度やってみます。 できたら報告します。
128 :
121 :02/09/12 17:40 ID:ZMgsQhUH
それとちょっとお聞きしたいのですが、 ディフォルトが記事を上げない設定で チェックを入れたときだけ記事を上げる設定にする場合が 一番良いのでその記述方法を可能でしたら教えて下さいませ。 厚かましくて申し訳ありません。
129 :
122じゃないけど :02/09/12 17:43 ID:FUZonuZ5
<input type="checkbox" name="topsort" value="1">あげる
130 :
nobodyさん :02/09/13 01:22 ID:lofLfMBW
私も、KENT氏のMT-BOARDの改造についての質問なのですが。 改造したい部分は、メール欄に書き込んだ時に表示色を 変えたいのですが他のスクリプトと見比べてもわかりませんでした・・・ どなたかご教示下さい。お願いします。
131 :
3PIO ◆3pIoOHKo :02/09/13 22:28 ID:oB59gluG
>>130 つーかHTMLの改造で簡単に済むかと思われ
この板で聞く質問ではない。
>>130 「何の」表示色よ?本文?画面全体?
つーかMT-BOARDってどこにあんのよ。
KENTのサイト探してそのスクリプト探して該当部分探して答え教えろと?
133 :
nobodyさん :02/09/14 02:37 ID:8wcKLn20
>>133 大改造が必要です。
自分で改造してください。
>>130 MT-BOARDって書籍収録でしょ?
スクリプトが簡単に手に入らないのにどうやって改造するのさ
136 :
130 :02/09/15 01:19 ID:???
スクリプト見直し解決しました。 アホな質問してすみませんでした。
137 :
sage :02/09/15 09:18 ID:09FtfTkD
138 :
age :02/09/15 12:57 ID:???
<age>-><sage>
139 :
長くてごめんなさい :02/09/21 02:44 ID:TAvfXYri
KENTさんの所のアンケート(投票)のスクリプトです。
http://www.kent-web.com/data/enq.html? inputボタンの文字のサイズを10pxにしたいのですが、全然できません。
普通に<head>で始まってるものならできるけれど
これの「enq.cgi」だと「&header」とか「print」とかわからないのばかりで
どこにどう書いたらいいのか・・・。
色々試したけれど、ダメでした。
あともう一つ。連続投票をすると「ERROR!」と出るページがあるんですが
その文字のスタイルも変えたいです。
これは「&error」というのをどうにかするのでしょうか?
どうか教えてください!お願いします。
>>139 >>1 >(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
いちいちDLしてくれる人は少ないぞ、と。
>>139 ソースを「HTMLヘッダ」で検索した先にHEAD要素の出力があります。
後は御自由に。
142 :
139 :02/09/21 03:43 ID:???
140&141さん、こんな時間にありがとうございます。 で・・・でき・・・できました!大感謝です。嬉しいよー
143 :
nobodyさん :02/09/22 23:11 ID:UOCwN/Ov
>>143 # 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z");
↓
&jcode'convert(*value, "sjis", "", "");
145 :
143 :02/09/23 03:01 ID:???
>>144 修正したけど無理でした‥
なぜですか?
# 文字コードをシフトJIS変換 &jcode'convert(*value, "sjis", "", "z"); ↓ &jcode'convert(*value, "sjis");
>>143 jcode.plじゃ入力文字コードも指定しないと無理。
jcodeg.plを拾ってきて使うか自前でコード判別して
&jcode'convert(*value, 'sjis',"$判別した入力コード");
とするか。
148 :
143 :02/09/23 06:14 ID:???
(ノ゚ο゚)ノ オオオオォォォォォォ-
できました!!!
>>147 さん
こんな朝っぱらから初歩的な質問に答えていただきありがとうございます!!!!!
感謝感激雨あられ
レッツPHPのスクリプトの改造で悩んでいます。
同一ホストからの連続投稿に時間制限を設けたいのですが(例えば一度書き込んだら
その後30分は書き込みできないようにする)、どこに何を書き込めば解決するでしょうか。
ソースは下記のものになります。
ちなみにPHPのバージョンは4.2です。
http://php.s3.to/simple/#short
150 :
さやか :02/09/23 22:10 ID:UR9fVmIX
http://dream.lib.net/room/cgi/e_ps.html ↑このパワーサーチという検索エンジンを改造したいです!
後から登録したサイトが上位に表示されるのを
下に表示したいです!seek(ファイルハンドル,0,0)
を変えてもファイルの末尾に書き込んでくれません。
リンクを書き込むファイルlink.datを先頭からではなく
後ろに追加していくにはどうしたらいいでしょう?
ps_user.cgiがネックだと思うんですが・・・。正直誰かに助けられたい。
依存心なさやかです。
151 :
age :02/09/23 22:39 ID:???
>>150 ソース見てないけど、seek(ファイルハンドル,0,0)ってのは、
書き込み位置をファイルの先頭にもって行ってるんだ。
だから後ろに書き込むには、そいつをカットしちゃえばいい。
152 :
心優しきもの :02/09/23 22:40 ID:UR9fVmIX
>>150 のさやかさんが困ってるみたいですよ〜。
さやかさんは、ファイルに書き込む時にポインタを先頭に
あわせる、すると表示される時に後から登録したやつが
上に表示されるのがいやらしいです。助けてあげようよ〜。
>>150 ps_admin.cgiの251行目と252行目を入れ替えれば良いんじゃない?
>>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 最後まで付き合うからそういうのはやめようね。
>>152 IDって知ってる?書き込み時刻の後ろについてるの。
困ってるのはわかるけど自作自演は止めよう。
156 :
__ :02/09/23 22:45 ID:???
609行目のunshiftをpushにするだけじゃないのか 面倒なんで余り見てないが
157 :
156 :02/09/23 22:49 ID:???
書き忘れたが、admsg.datには今まで通り書き込まれます これも追加如に下段に追加するなら、pushに
158 :
さやか :02/09/23 23:05 ID:UR9fVmIX
すごい!できました!
>>156 さん!!!嬉しいです。
私も勉強してがんばります!
>>156 さん!ささやかなお礼です↓
(*´∀`*)(*^ε^*)チュ♪
なんというか・・・、ポカーン(゚Д゚)
―終了― ―再開―
161 :
nobodyさん :02/09/24 19:38 ID:MoAiFp7K
up
162 :
凹 :02/09/25 02:37 ID:g2jBFaOv
163 :
nobodyさん :02/09/25 08:29 ID:zk1fSPH/
>>162 カウントするだけならIPだけで十分だと思うけど。
164 :
凹 :02/09/25 13:02 ID:+7v9yKyM
163さんレスありがとです。 PCサイトならIPだけで充分なんですけど、 自分のサイトは携帯からのアクセスがあるのでUAもチェックさせないと うまくカウントしてくれないと思うんです。 それでも携帯だと来た人が違くてもIPとUAが一緒だとカウント してくれないですけど、それはしょうがないので我慢します。 UAチェックのscript改造お願いしますm(_ _)m
>>162 携帯だとアクセスの度にIPアドレスが違うけどいいの?
166 :
凹 :02/09/26 08:19 ID:kOBv48Nd
>>165 さん
はい、構わないです。
IPとUA両方をチェックさせたほうがIPだけよりかは
まだ正確ではないですけど携帯ユーザーの実際のオンラインの
数に近くなると思うので是非お願いしますm(_ _)m
167 :
toy :02/09/26 11:51 ID:dWI3M7rO
犯罪者は部落から出て来るなよ 臭いんだよ
>>167 僕の犯罪のお手伝いをして貰えませんか?
ってことでしょうか?
170 :
nobodyさん :02/09/27 22:14 ID:Oi5LYf+X
http://sound.jp/idm/cabinet.txt のsub find実行時に件数を一気にださないで
数件ずつ表示するようにしたいんですが、
どうしたらいいでしょうか。
sub view実行時には件数を限定できるんですが、その部分を
コピって$pfind = 7;みたいな変数を作って$pviewの部分を
書き直してもムリでした。
よろしくお願いします。
>>170 テキトーだけどこんな感じ
# 結果を表示
$i++;
↓
# 結果を表示
$i++;
next if($i < $in{gaisyutu});
if($i > 数件){
print "<a href="URL?gaisyutu=$i&検索条件色々">次</a>"
last;
}
訂正 ×if($i > 数件){ ○if($i > 数件+$in{gaisyutu}){
173 :
172 :02/09/27 22:48 ID:???
>>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
の部分に何を入れたらいいのか分かりません。
つづく
訂正 ×print "<a href="URL?gaisyutu=$i&検索条件色々">次</a>" ○print qq(<a href="URL?gaisyutu=$i&検索条件色々">次</a>"); ザルだな俺
175 :
170 :02/09/27 22:52 ID:???
すいません、私は
>>170 でした。
ちなみにサンプルは
ttp://www.kent-web.com/pubc/cabinet/cabinet.cgi です。
つづき
sub viewのときは条件が単一なので、
(mode=view&area=0&cate=2のような感じで)
次何件というのが表示できるのは分かるんですが、
上記コピペのmode=viewをmode=find,に下場合、
複数条件を指定したときにどういう風な形で
変数が渡されるのかが分かりません。
てんぱってるので変な文章ですいません、、。
よろしくお願いします。
sub findはviewを通らずにexitしてるが。
177 :
170 :02/09/27 22:55 ID:???
>>174 ありがとうございます。
厨質問ですいませんが、gaishutuっていうのはそのままでいいんですか?
それともこちらの環境に合わせて何か書き直さないといけないんでしょうか?
また
>>175 に書いたとおり、
”検索条件色々”の際に渡される変数の形が分からずに困っております。
何度もすいません。。よろしくお願いします。。
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>);
179 :
170 :02/09/28 01:18 ID:???
すいません、レスありがとうございます。 出先だったので今から試してみます。 ほんとに、助かります。 ありがとうございます。
180 :
170 :02/09/28 01:42 ID:???
>>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
みたいな感じなんでしょうか。
>>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;
}
182 :
170 :02/09/28 02:41 ID:???
>>181 出来ました!!!まじでありがとうです!!!
うれしいいいいいい!!ほんとに感謝してます!!
ああ、、、なんてお礼をしたらいいんだろう、、。
ほんとに会ってお礼を言いたいくらいです、、、。
2ch見はじめて以来の感動です。
マジで助かりました。
こんなに長々付き合って頂いてほんとに感謝します。
ありがとうございました!
#上のコードとほとんど変わってないってことは
#僕のやり方がやっぱりおかしかったんですね、、。
#お手数かけましてほんとにありがとうございます。
#いやあ、、うれしい、、、!!
184 :
170 :02/09/28 02:53 ID:???
>>182 いやあ、、、一昨日くらいからずっと悩んでいたのでほんとにうれしいです(涙)。
しつこいですけど、ほんとにありがとうございました。
185 :
170 :02/09/28 02:54 ID:???
186 :
nobodyさん :02/09/29 12:06 ID:i0j1EM8S
http://uho.s7.xrea.com/cgi-bin/yy2ch/ なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
>
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>…
質問がスレ違いなのでこっちに書いとく。
188 :
186 :02/09/29 18:09 ID:GVezWC+D
誰か教えて〜〜〜〜〜〜〜。 無理なら、2chで使われてるのに一番近い機能がある板を教えてください。 お願いいたします。
190 :
nobodyさん :02/09/30 18:45 ID:9eniCY8s
192 :
LaLaLa ◆12fmecqU :02/10/03 01:22 ID:uq/PQZBf
if ($no =100) {print $over) else {$resform} 全く見てないけど。
195 :
LaLaLa ◆9G12fmecqU :02/10/03 09:08 ID:uq/PQZBf
>>193-194 様
ご回答どうもありがとうございます。感謝しております。
とりあえず$noの部分を$numberに変えてちょっといじってみましたが全然出来ませんでした。
力不足で申しわけありません…。
もし宜しければ、詳しくご指導お願いできないでしょうか?
あつかましい願いで申しわけありません。宜しくお願いいたします。
これどう? if($number >= 100){ print "レス100新スレ立てれ"; }else{ print "レスつけろ。";#通常の表示するものなぞ。 }
197 :
nobodyさん :02/10/03 11:01 ID:xHS0Gcl+
$numberはスレッドのナンバー。 レスは$tres[$number]。 sub reswindow { if($tres[$number] == 100) { print "書けませんよニヤリッ"; }
198 :
◆9G12fmecqU :02/10/03 13:03 ID:uq/PQZBf
こんにちは。ご回答どうもありがとうございます。感謝です。
>>196 様のと
>>197 様のを両方やってみました。
しかし、色々いじってみましたがそれをどうやって組み込むのか全然分かりません。
力不足で本当に申し訳御座いません。
Normal modeとDynamicHTML modeの両方で使用したいのですが、
具体的に何行目にそれらを組み込めば宜しいのでしょうか?教えてくださいませ。
また、(大変失礼で申しわけありません)
>>196 様のと
>>197 様のではどちらが正しいのでしょうか?
お手数かけてすみません。どうか宜しくお願いいたします。
全く見てないけど。 > 色々いじってみましたが どういじってみたのかを示してみれば?
201 :
◆9G12fmecqU :02/10/03 16:30 ID:uq/PQZBf
>>199 様
はい。
えっと、いじったと言うか…ただコピペして放り込んだだけなんですが、
>>196 様や
>>197 様の書いたのを154行目の周辺、187行目の周辺に放り込んで
何回か試してみましたがいずれも上手くいかなかったんです…。
他には全然分からないのです。
…どこにどういう形で入れるのか教えてくださいませ。
教えて君で申しわけありません。どうぞ宜しくお願いいたします。
消すだけじゃダメなんか?
>>201 コピペならコピペと正直に書かないと
っつーかコピペじゃ無理だろ
if 文を知らないってことか?
204 :
◆9G12fmecqU :02/10/03 16:43 ID:uq/PQZBf
>>203 様
ゴメンなさい…。バカみたいで書けませんでした。ゴメンなさい。
if文とかそう言うのなんにも分からないです。HTMLしか分からないです。
本当に申しわけないです。どうかご教授ください…。
205 :
その1 :02/10/03 18:52 ID:eT3P8zNo
先頭付近に ---------------------------------- # 1スレッドあたりに書き込めるレス件数 $max_res = "100"; ----------------------------------
206 :
その2 :02/10/03 18:52 ID:eT3P8zNo
---------------------------------- sub reswindow { #追加 if($tres[$number] <= $max_res) { ------------------------------------
207 :
その3 :02/10/03 18:54 ID: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 -------------------------------- 以上
>>200 ダウンロードして解凍して読めってか?
氏んでくれ。
全く見てないけど、多分、
if ($pass != ""){&error}
みたいなところがあったらそこをエスケープしる。
書き込み後のは
「ありがとうございました」
をファイル内から検索してそこをlocationでトップに飛ばすようにしる。
209 :
◆9G12fmecqU :02/10/03 21:45 ID:uq/PQZBf
>>◆9G12fmecqU
>>1 読んだか?
ここは一から十まで全て人任せで改造してもらえる便利な場所ってわけじゃ
ないんだけどな。
#================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
211 :
◆9G12fmecqU :02/10/03 21:56 ID:uq/PQZBf
>>210 様
た、大変もうしわけ御座いません。
改造していただけて、うれしくて調子にのってしまいました。
本当にゴメンなさい…。
これからはこのようなこと無いように気をつけます。
お気を悪くさせてしまい、本当に申し訳御座いませんでした。
考えていただいた全ての皆様、本当に有り難う御座いました。
では失礼します…。
212 :
nobodyさん :02/10/03 22:01 ID:qJG4DIFH
10桁トリップの生成コードってどこかな?
>>211 自分でやってみてわからない所を聞く。
…なら歓迎なんだけどね。
自分でやる気が無い奴に答えてたらそんな奴ばかりが
集まるようになって大変な事になるのよ。
216 :
190 :02/10/04 00:05 ID:8sSFu4uX
書き込みログが残って邪魔なんです。。 思い当たる所はいじってみたんですが変わりませんでした。 ちなみにフレーム解除画面では残りません。 いじったのはtableやstyleなど外観だけです。 どの辺が原因かだけでも(クッキー関係かautoclear関係か) 教えてください。
>>190 ==216
発言消去にクッキーは使ってない。
それにHTMLやJavaScript等のクライアントサイドの問題だから
板違いじゃない?
if($DQN == "190"){&error("itteyoshi");} でいけるんじゃないかな。
219 :
200 :02/10/04 11:42 ID:???
>>200 パスワードのチェック
328行目
if ($FORM{'pwd'} !~ /^[0-9a-zA-Z]+$/) { &error("削除キーは半角英数字で入力して下さい。"); }
を削除
投稿後のお礼表示
445行目の
&html_ok($flag);
を
print "location: $cgifile\n\n";
に変更する。
でも多分i-modeからの投稿だと駄目かもしれない。
検証がPCでしか出来なかったから後は自分でなんとかしてちょ。
中途半端な返答でスマソ
221 :
200 :02/10/04 13:23 ID:???
>>220 ありがとうございます。出来ました。
あと、投稿を表示してる画面で、PCの画像やケータイの画像の
非表示したいのでがうまくいかないです。画像非表示にするかわりに、
文字で機種表示したいのですが…お手数かけます。
222 :
200 :02/10/04 13:31 ID:???
あと、iモードから投稿したのですが、 無効なデータを受信しましたってエラーがでます><
223 :
220 :02/10/04 14:05 ID:???
>>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(画面)の上部が呼び出しがかけれら生成されていますので生成(呼び出)されるタイミングをずらします。
これで必要に応じて呼びにいくような形になりました。
224 :
220 :02/10/04 14:05 ID:???
iconの変更はかなりお手間がかかりそうなのでパスさせてください。 機種を判別してそれを数値で記録しているようなので数値に対応したメッセージを出すように改造すればいいです。 どこかに数値に対応した配列が格納されていると思いますのでその中身をメッセージにして呼び出しているところの周りが恐らくimgタグで囲まれていると思います。 ですので、それぞれのポイントをimgタグではなくただの文章として表示(imgタグを抹消)することで解決できると思います。 私が出来るのはここまでです。 一応解りやすいよう解説も書きましたが、あくまで暇なので丁寧にしただけであって常にこのような対応が受けられると思わないほうがいいです。 それと、もう少し基礎というか少しでも勉強してください。 常識で考えれば「パスが無くても投稿出来る」ということは、パスが無いときはエラーのメッセージを出しているところが怪しいと考えるはずです。 ですから、エラー時のメッセージをCGIプログラム中から探し出してそこから流れの逆を辿っていくということくらいは出来るでしょう。
225 :
220 :02/10/04 14:08 ID:???
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"; それじゃまた。 (丸写しでもいいだけどね(汗(気づくかな?))
226 :
220 :02/10/04 14:19 ID:???
>>200 私も相当な暇人だよな。
OSイメージの非表示
212行目の中の <img src=\"$os_gif\" align=\"absmiddle\" width=\"$os_wid\" height=\"$os_hei\" border=\"0\"> を削除する。
機種名はブラウザ(OS)として出てるでしょ?
そういうのは駄目かな?
227 :
220 :02/10/04 14:31 ID:???
>>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とを区別すために増やしました。
いい加減疲れたよ、これでいいかいな?
228 :
200 :02/10/04 14:31 ID:???
みなさんありがとうございます。 こんなにいっぱい変えられるんですね…感動しました! 教えてくれた皆さんホントにありがとうです。 いまチクチクいじってますが、また質問するかも…シツコイですね・・><
229 :
200 :02/10/04 15:52 ID:???
230 :
220 :02/10/04 16:11 ID:???
きちんと動いているが? いじりしくじっただけだろ。
231 :
200 :02/10/04 16:28 ID:???
>>230 224のやつをいれると書き込み後エラーがでてしまうのです…
設定エラーとかで
232 :
220 :02/10/04 16:42 ID:???
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; と もう一行の位置が変わりました。 かえとかないと修正した後の画面で変になりまする。 詳しく教えてくれるならもうちょっと付き合ってもいいよ。
233 :
220 :02/10/04 16:45 ID:???
何となく解った・・・。 漏れのミスだ。(汗 &html_view; を &html_view;exit; にしてちょうだい。
234 :
220 :02/10/04 16:59 ID:???
スレ使いまくってスマソ・・・皆さん。
>>200 &html_view;exit;
の前に
@DATA = &read_file($datafile);
$agent=$ENV{'HTTP_USER_AGENT'};
$agent =~ s/\,//g;
&read_form;
を書かないと駄目な仕組みになっている模様。
235 :
200 :02/10/04 17:02 ID:???
>>234 動きました!@DATA = &read_file($datafile);
$agent=$ENV{'HTTP_USER_AGENT'};
$agent =~ s/\,//g;
&read_form;
↑入れないとダメって??
236 :
220 :02/10/04 17:08 ID:???
>>200 設定エラーってさ・・・属性の変更し忘れとかの鯖エラーでしょ・・・。
まぁいいや。
それいれとかないと新規投稿が見えない状態で表示されます。
投稿はされてるんだけどね。
って勝手に推測。
やっとくに越したことは無いと思うけど、ちゃんと動いてるならやらなくていいよ。
i-modeの環境が無いもんでね。
検証出来んのだわ。
すまんね。
@DATA = &read_file($datafile);
&read_form;
この2行だけでイイっぽい見た感じ。
237 :
200 :02/10/04 17:28 ID:???
>>220 こんな初心者につきあってくれてありがとうございます。
また現われます!
その前にもうちょっと勉強してきますね!
238 :
220 :02/10/04 17:33 ID:???
>>200 逝ってらっさい。
漏れもヘタレだから大したことは出来ないけど、勉強してきます。
今携帯持ってきて動かしてみたけど上のレスの追加2行はいらんみたいね。
んじゃそういうことで乙彼さん。
なんとなく許せない200がいるスレはここですか?
ウフ♥
242 :
たく :02/10/06 00:56 ID:ND83c5Mp
そ
>>242 そんなこともできないで商売ができると思うな
245 :
たく :02/10/06 01:46 ID:ND83c5Mp
商売って?してないすけど。。
逆切れかよ。
ごめんなさい、スレ違いかも知れないんですけれど、
http://ayu.csidenet.com/ こちらの
http://ayu.csidenet.com/cgi/whiteforum.html? ここで配布されているWhite Forumに文字色選択機能を付けたいのです。出来れば、それぞれのフォーラムに別々の色を最低でも10コくらいで選べるようにしたいんです。ラジオボタンで選ぶ形だとだと凄く嬉しいんですけど。
でもちょっと見てみたんですけれど、なんだかplとかがいっぱいあって、設置するのは出来たんですが改造するには私には難しいんじゃないかと思って…。
私はほんとに、簡単な改造くらいしか出来ないんです。
こういうのって、お仕事として改造して下さるところとかあるんでしょうか?
age
249 :
nobodyさん :02/10/16 22:09 ID:vfA8qHJl
KENT-WEBのYY-CHATにJavaの記述を施して 「新規発言のみを読み込む機能」を付けたいのだけれど 何でもいいのでアドバイスいただけませんか?
もうkentの見た目改造はいいよ・・・
あげ
252 :
:02/10/18 13:26 ID:W7G/zwxh
253 :
s :02/10/18 13:34 ID:efsLfX8l
255 :
252 :02/10/18 22:38 ID:???
あげ
258 :
太郎 :02/10/20 00:38 ID:wHfnl2c6
260 :
nobodyさん :02/10/20 18:39 ID:RVEI8NIX
それわ残念でした。
262 :
nobodyさん :02/10/23 00:21 ID:y0AW0VEm
ealisっていう掲示板に2ch風のトリップ機能とアイコンウプロダ付けたいんですが 詳細キボンヌ
URL くらい書けや。
265 :
nobodyさん :02/10/23 15:49 ID:y0AW0VEm
自分で書けや。
とりっぷなんて 3分でできるだろ。
>>268 以下の2行をコメントしすればいいかも
if ($ip eq $ips)
{ &html_list; &html_main; exit; }
270 :
269 :02/10/25 01:41 ID:???
追記: 51・52行目
271 :
268 :02/10/25 07:48 ID:???
>268=270 うまくいきました! 今、テストして動作も確認しましたが、問題ナシです。 教えて下さってありがとうございました。
272 :
nobodyさん :02/10/25 17:30 ID:LJRnzKMg
はい、次〜
274 :
nobodyさん :02/10/25 23:21 ID: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;
}
粘着にマジレスか。おめでてぇな。
276 :
nobodyさん :02/10/26 12:36 ID:euzUnDiz
278 :
277 :02/10/26 19:25 ID:M0gOphaS
>>276 print "<div align=center><br>以下の記事を書き込みました。〜
の近く(少し前とか少し後とか)で&adminmalを呼んでください。超適当だけど。
sub adminmail
{
$sendto = '
[email protected] '; # 宛先
$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);
}
}
279 :
276 :02/10/26 20:03 ID:euzUnDiz
できました〜ありがとうございました。
280 :
nobodyさん :02/10/27 00:26 ID:vhLCr/NY
>>277 表示対象ログ抜き出し
のあたりじゃないかな。
試してないけど。
281 :
277 :02/10/27 12:45 ID: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
>>281 @exips= (); ←このリストに指定したいIPを追加するんじゃない?
一応、以下の行は変更したほうがいいのでは?
if ( $brw =~ /$exip/ ){ ⇒ if ($brw=~ /^\E$exip\Q$/){
283 :
282 :02/10/27 12:57 ID:???
逆だった if ($brw=~ /^\Q$exip\E$/){
282さん、レスありがとうございます。 $brwにはブラウザが入ってしまうので、(ソースのコメントに 書いてありました) $brwの換わりに別な変数を作って比較元のIPを入れなければ ダメなようです。でもそこがわからない・・・。 正規表現については、勉強し直します。
285 :
282 :02/10/27 13:36 ID:???
>>284 あー、そういうことか・・・
$brw の代わりに $ENV{'REMOTE_ADDR'} でどう?
286 :
277 :02/10/27 14:23 ID:ie8xxqvt
282さん、うまく説明できなくて申し訳ありません。 お付き合いありがとうございます。 $ENV{'REMOTE_ADDR'}はCGIにアクセスした人のIPですよね。 apacheの生ログから必要な行だけ取り出すCGIなので、現在CGIにアクセス したIPじゃなくて既にログに記録されてるIPを取り出そうというところで 混乱しているところです。 apacheの解説のサイトに逝ってきます。
288 :
287 :02/10/27 23:19 ID:???
それかjpeg/gif/pngをリサイズして保存させる ライブラリー無いでしょうか?
289 :
nobodyさん :02/10/28 01:09 ID:7x9qSZkS
現在の閲覧者を得るにはどうすればいいの?
290 :
nobodyさん :02/10/28 01:59 ID:QQJw3Q/J
ちっこいウィンドウがいっぱい出てきて止まらなくなる奴教えて!
291 :
その3 :02/10/28 10:32 ID:0jGJU7lS
>>288 RedHat Linux(i386)用ならCでコンパイルしたのがある。
292 :
その3 :02/10/28 10:46 ID:???
>>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");
みたいに使う。
294 :
288 :02/10/28 23:45 ID:???
>>291 292
どもありがとうございます。
できたみたいです。
あと同じCGIなんですが
投稿順にならべるっていうのがあるんですが
最新3つしか投稿順になりません
どこをいじれば全部にちゃんねるみたいな
最終投稿順になるんでしょうか?
295 :
nobodyさん :02/11/01 14:47 ID:OCxiXTU1
296 :
_ :02/11/02 03:40 ID:???
297 :
nobodyさん :02/11/04 07:28 ID:5+umhhBG
>>295 だから
ダウンロードしなくても済むようにテキストでソースうpして張れと何度言ったら判るんだぁこのバカチンがぁ!
298 :
297 :02/11/04 07:37 ID:5+umhhBG
>>295 でただ串規制といわれると読みこみも規制するのか
書き込みだけ規制するのかわからないけど、
普通に考えて書き込みだけ規制するとしたらpost.plのなかの
sub host_readのなかでいいんでない?串規制にもいろいろあるけど。
300 :
295 :02/11/04 21:55 ID:???
>>298 この連休中でいろいろ調べてやってみてますた。
処理の流れがなかなかわからなくて、しらみつぶしに見ていって
多重投稿を禁止するルーチンがあったのでその辺からいじってみてます。
>>297 こーいうファイルがいくつにも分かれているcgiはどうするのが一番よいのでしょうか?
301 :
あい :02/11/04 23:06 ID:G/C4foN1
携帯用のランキングCGIプログラムを捜しています。 何卒お願いします。
>301 ここにもいたか! マルチはウザイんだよ!
303 :
冗談解らないnobodyさんへ :02/11/04 23:22 ID:G/C4foN1
携帯用のランキングCGIを捜しています。 何卒お願いします。
303>>CGIスクリプトを検索できるサイト、探せばいくつかあるよ。 いってみたら。
携帯だぞ、携帯 アフォじゃねぇのか? マルチは無視しろよ。
306 :
nobodyさん :02/11/05 22:03 ID:5STybYDn
KENT WEBのチャットは、入室しているときのフレームと投稿フォームをローカルに保存してちょっと改造すれば、それを使って投稿できますよね(説明が下手ですみません)
その投稿フォームの中に書いてある
「<option value="#RRGGBB">」などを
「<option value="#000000 style=&"font-size:2em&"">」のようにすれば、CSSが使えてしまいます。
それができないようにしたいのですが、うまくいきません。
ワイワイチャット(
ttp://kent-web.com/chat/yychat.html )を例に、改造方法を教えていただけないでしょうか?
307 :
306 :02/11/05 22:05 ID:???
ちょっと文字参照の使い方を間違えました… > 「<option value="#000000 style=&"font-size:2em&"">」のようにすれば、CSSが使えてしまいます。 ではなくて > 「<option value="#000000 style="font-size:2em"">」のようにすれば、CSSが使えてしまいます。 です。 よろしくお願いします。
>>306 最新バージョンでは使えないんじゃない。
s/&/&/
309 :
306 :02/11/05 22:45 ID:???
>>308 さん
ありがとうございます。
> s/ //g
> s/&/&/g
で解決したようです(これを、上下逆にしてしまったらいけませんけど)
310 :
nobodyさん :02/11/07 19:15 ID:wiJfESIx
311 :
310 :02/11/07 19:21 ID: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;
}
312 :
310 :02/11/07 19:26 ID:wiJfESIx
とりあえず動けばいいって感じで #============# # 設定完了 # #============# $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;
314 :
続き :02/11/07 19:36 ID:???
#----------------------------# # フォーム2 : 発言フォーム # #----------------------------# sub form2 { #®ist('into');-------削除またはコメント +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ print "発言自動消去</td></form></table>\n";#</body>\n</html>\n";--変更 #exit;--------------------削除かコメント } #--------------# # 記事表示部 # #--------------# sub log_view { #&header;----------------削除かコメント ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 以上
315 :
続き :02/11/07 19:37 ID:???
最初の入室時のみ robo.cgi?mode=form でアクセスしないといけない。
316 :
続き :02/11/07 19:38 ID:???
® = ® です。
317 :
bery :02/11/07 20:34 ID:jtBNkMoC
318 :
nobodyさん :02/11/07 21:51 ID:LYTlqOr8
>>317 それはCGIの改造ではなくCSSだろ?
319 :
bery :02/11/07 23:02 ID:jtBNkMoC
あ、そうなんですかすみません(^^; そちらの方で質問してみます…
320 :
310 :02/11/07 23:56 ID:Tm6hHAQP
>>313-316 ありがとうございます!
すみません、確認させて頂きたいんですが、
書いて頂いたスクリプトの中の「?」はそのままでいいんでしょうか?
(例:>313の「$string=?」等)
それと、初心者で申し訳ないんですが、
>>316 の意味が分かりませんでした。
頂いたスクリプトを、そのまま該当箇所にコピペしてみましたが、
internal server errorが出てしまいました。
321 :
nobodyさん :02/11/08 03:36 ID:KKJBpaNF
皆様はじめまして、とほほさんのwwwserch.cgiについて質問させてください。
現在wwwserchを実際に稼動しているのですが、
データ量が多くなるにつれ表示件数が膨大になって困っています。
そこで表示結果を分割して表示させたいのです。
(10件ずつ表示して「次へ」のリンクで次の10件を表示といった感じで・・)
このような事は可能でしょうか?
可能なら何処をどのように改造すれば良いかお知恵を拝借させてください。。
なんとか自力でしようと頑張ってみたもののサッパリで・・
宜しくおねがいします。。
此方にソースをtxtでアップしてみました↓
http://www.geocities.co.jp/Milano-Kotto/1097/wwwsrch.txt
322 :
310 :02/11/08 11:04 ID:By9No9AA
>>313-316 このスクリプトを書いて下さった方、まだ見てらっしゃいますか?
>>320 の質問にお答え頂けると助かります……
厚かましくてすみません。
323 :
:02/11/08 11:46 ID:???
324 :
続き :02/11/08 16:36 ID:???
>>322 何か&が参照されちゃって、もう一回
#============#
# 設定完了 #
#============#
$string = &decode;
&deny;
if (!$string) { &form1; }--------------------変更
#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;
325 :
続き :02/11/08 16:39 ID:???
あとフォーム2で target="log" を削除する。(リロードのたびにウィンドウが開くため) とりあえずなのでHTMLは変です。(</head>が2個になったり)
326 :
310 :02/11/09 12:28 ID:oFTHMvgO
>>324-325 四苦八苦しながらやってみたら、一画面で動きました!
とりあえず使う分には問題なさそうなので、HTMLの変な所は気にしないことにします。
どうもありがとうございました!
あの・・・マジで質問です 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'); } } っていれたら、いくらひみこーどがあってても チェックコードエラーってでてしまうんですよ 誰か教えてくれないでしょうか?
328 :
nobodyさん :02/11/09 22:58 ID:Y+NUqAmE
>>327 ウザイ
自分で考えろや豚野郎
二度と書き込むなボケ
17氏スクリプトにdame処理を追加したいんですけど、 まったくわかりません… どなたかやってみたことある方いらっしゃいますでしょうか? …厨房質問なのでsage
331 :
nobodyさん :02/11/12 06:24 ID:zpgICSVI
295のところにあったのですが
ttp://www.nurs.or.jp/~b3/scripts/proxy/ これを複数クライアント対応にできないでしょうか?
これを置いてあるところでは
数行書き換えるだけでできると書いてあるのですが
さっぱりわかりません・・・
これはperl串というものになるのですか?それともCGI串なのでしょうか。
ソースはリンク先に直接はってあります。
おながいします。
332 :
331 :02/11/12 18:29 ID:kBSIdPWX
説明が足りなかったようなので書き直します。
http://www.nurs.or.jp/~b3/scripts/proxy/ ここにある、CGI proxy(?)についてです。
リンク先に、ソースがそのまま貼ってあります。
多分100行無いと思います。
これは、IPが一致した一人のクライアントしか受け付けないのですが
これを複数のクライアントが接続できるようにしたいです。
forkしたあと、クライアント受付をすればよいのかもという所までは
思いついたのですが、どうすればよいのかわかりません。
教えてください。お願いします。
>>331 何に使うわけ?
ただ「串」という言葉に惹かれてるだけっぽいが。w
334 :
331 :02/11/13 03:44 ID:bEkh+4n6
>>333 そういうCGIを見つけたのは初めてなのでやってみたいだけという気持も大きいですけどw
ircで使えるみたいなので使おうかと。
自己責任でどうぞ。
>>336 kentさんのところのCGIは、1個しかないの?
えっと もともとはJoyful NoteでもYYBBSでも ページの枚数分だけ 出てきちゃいます 20ページ分のログがあったら [1][2][3] 〜〜〜〜[18][19][20] ログがたくさんあるとうっとうしいので この表示そのものを消すことも考えたんですが やっぱりあったほうが使いので よろしくおねがいします
>>336 ところでそのURL
本当にKENTのなのか?
340 :
nobodyさん :02/11/16 17:56 ID:25GjLFjs
掲示板で、行頭に> があるとき、<blockquote>〜</blockquote>で 囲む方法を教えてください。 なるべくなら行頭に>がある複数行をまとめてくくりたいのですが。
$FORM{'comment'} =~ s/(<br>|^)(((&gt;|>)(?!&gt;[0-9]).*?<br>)+)(?!(>|>))/($_ = "$1<blockquote>$2") =~ s!^(.*)<br>$!$1!; "$_<\/blockquote>";/ge; 改行は既にbr,>は既に&gt;になっていると仮定して。 2ch式の>>1とかいうのを引用にしないようにというのも考慮。 だれかもっとスマートな方法ないですか? 実体参照どうなるのか知らないので&を大文字で書いておきました。 #なんかime.nuから飛んでくるし、うちのサイトにこの板のコピペでの書き込みが #あったので見に来たら、これのスレに漏れのサイト載ってた・・・
あ、一箇所>になっちゃってる、&大文字にするの忘れた。
343 :
340 :02/11/17 14:13 ID:NOOOaxSv
344 :
_ :02/11/17 15:17 ID:???
>>332 串ならそこら辺に売ってますが?
そんことも解らないスキルで串なんてほざくんじゃねぇ。
YYBBSにトリップ昨日をつけたいのですが・・・ 挫折。 わかる方宜しくおねがいします...
>>345 >>274 のサブルーチンを一番下にでも追加。
あとは書込処理の所に
&make_trip;
とフォーム入力チェックの下にでも追加すればできると思われ。
>>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>';
}
後は自分で考えろ!ヴォケが!!
345でつ。 過去ログ漁ってませんでした(汗 激しくスマソ。 あと、良かったらWebPatioの奴記事の表示部分なんですが Page: [1] [2] [3] とか普通に移動メンドイんですょ・・ 全部とかつけたいんですけど Doすれば・・・・
あ、あげさせて下さい
350 :
nobodyさん :02/11/19 18:14 ID:/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で親投稿とレスにそれぞれ新着マークを表示させたいと思ってるので ヒマか、ヒマじゃなくても物知らずにちょっと教えてやっかと思う有志がいればお願い。
351 :
nobodyさん :02/11/19 18:17 ID:/Dv7gUEP
$newtime = '60 * 60 * 24'; ってのはたしか60秒×60で1時間、それに×24で一日という設定。
petiboardのログに投稿時間がどういう形式で記録されているかですな。 あと × eq ○ =
>>350 KENTのログは
$date = '2002/11/19 (火) 18:30';
みたいにして記録されてるから処理がめんどくさいな
354 :
nobodyさん :02/11/19 18:49 ID:/Dv7gUEP
>>352 えーと sprintf でフォーマットされてログに入るみたい。
このときフォーマットしない投稿時間(エポック秒)を一緒に非表示でログに記録して、
それとリアルタイムの比較するってのは無理かな?
>× eq
>○ =
指摘感謝。
355 :
nobodyさん :02/11/19 18:50 ID:/Dv7gUEP
epoch取得は $hoge = time; そういえばもう9桁じゃないんだね。。
357 :
nobodyさん :02/11/20 03:03 ID:XwDH5ZL+
$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';
$hoge = time;
if ($newtime <= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }
あとは$xtime(ログのエポック秒)を取得出来ればいいということですか?
>>353 のお話だと面倒なようですが、なにか手があったら教えて下さい。
359 :
nobodyさん :02/11/20 12:42 ID:bO+exC+I
>>358 了解です。
問題はどうやって比較するかなんですが、
この時点で俺の知識は限界です。
アイディアを出してくれる方がいたらお願いします。
こういうこと? 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 : '';
361 :
nobodyさん :02/11/20 14:56 ID:bO+exC+I
エポック秒をログに書き込ものはたとえばpetitだから色変更機能を取っ払うつもりで $colorのところに$xtime(投稿時間)を書き込んめばログに10桁のエポック秒が入って、 あとはそれをどうやって$xtimeの変数に戻して if ($newtime >= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' } を成立させるかってところですか?
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
363 :
nobodyさん :02/11/20 16:55 ID:VyhcjvPU
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
365 :
nobodyさん :02/11/20 16:56 ID:VyhcjvPU
すみません、なぜか作業中で投稿できなくなってしまったので いろいろ試している間に投稿されてしまいました。すみません(;´Д`)
book-iの様なURL転送サービスのスクリプトを探しているのですが、どこかのシェアウェアらしいと言うことが分かりました。 なので自作したのですが、どういう風にすればいいか分からなくなりました。 アドバイスをお願いできないでしょうか?
367 :
nobodyさん :02/11/20 17:05 ID:aDlw2kvx
>>366 book-iってどこよ?
でURL転送サービスのスクリプトってのは転送する部分がほしいのか?
それとも転送サービスを受け付ける(ユーザ登録)システムがほしいのかどっちだ?
368 :
nobodyさん :02/11/20 20:20 ID:DRRYVgUE
>>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 {
YY-BBSがベースの掲示板に↑のようにやりましたが・・・。 テスト#test などと投稿しても そのままになってしまいます。 変数名などの変更する箇所とか挿入箇所が 間違ってますか?・・・
371 :
nobodyさん :02/11/20 23:32 ID:3WorW1PE
初心者ですみません。 ranklinkで inページ、新着ページ等が作られていきますが inページで順位の隣りに(位)と出したのですが 新着ページにも反映されてしまい、新着ですと 例=11/20位 の様になってしまいます。 どうか先輩方お知恵を下さい。
373 :
nobodyさん :02/11/21 08:34 ID:Ht8hmAkY
>>370 KENTのForm デコードは
$in{'hogehoge'}
だよ。
375 :
:02/11/21 17:27 ID:???
>>374 スキルが足りないね。
書籍買って読めよ。
376 :
nobodyさん :02/11/21 21:21 ID:qQxlYNfm
皆様のお知恵をお貸しください。
ttp://genesis.vis.ne.jp/ こちらで配布されているCHAMELEON BOARDを、
レスが付いたら親記事ごと一番上に表示するようにしたいです。
お手数ですがご教授宜しくお願いいたします。
>>376 ちょっと見ただけだから分からんけど
かなり改造しないと駄目だと思うよ
378 :
nobodyさん :02/11/22 17:52 ID:JgWrpTOL
>>374 設定変更用のシステムとか作ればいいんじゃないの?
ていうか、自分がそういうサービスを利用する上でほしい機能を作っていけばいいじゃん。
あと表示だけじゃなくメールで設定情報は送ってあげたほうが親切かもな。
379 :
376 :02/11/22 22:42 ID:???
>>377 レスどうもです。
やっぱり駄目そうですか・・・。
素人考えで155行目からの
foreach (@lines) {
($no,$number,$title,$name,$mail,$url,$comment,$del,$date,$icon,$color) = split(/<>/,$_);
if ($number eq '0') { push(@line,"$_"); }
}
ここに追加すりゃなんとかなるかなと思い触ってたんですけど、
自分自身のperlの知識が浅すぎてどうにもならなくなってます。
>>376 それってさ、RES投稿を確認してRES対象の親記事のNOが付いている親記事自身とその親記事に今までに付いたRES記事を取り出してその一番下にRES投稿の記事をくっつければいいんじゃないの?
で、取り出すときに関係ない他の記事は@oldかなんかに突っ込んどいて保存する時に新記事郡、旧記事郡の順で書けば実質一番上に来た事になるけど、プログラム自体を見てない漏れには解りません。
まぁ頑張れや。
>>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;
}
ってところに好きなスタイル追加してみ。
384 :
nobodyさん :02/11/23 22:07 ID:QZcZ5A23
>>383 さん。
ありがとうございます。出来ました。
マジで感謝です。
これで何とか年を越せそうです。
386 :
nobodyさん :02/11/23 23:36 ID:B4pvccDx
387 :
nobodyさん :02/11/24 02:23 ID:DDSdv1W7
>>386 javascript
よって板違い。ソースでも読んで来い。
初心者でスイマセン。 いま使っているツリー型掲示板のレスがつくと記事を上にトップに上がる機能は やはり掲示板によってプログラムは違ってくるのでしょうか? 共通のルーチンなどはないのでしょうか?
>>388 特には無いと思うけど?
更新された部分だけを抜き出して一番上にするだけ
>>384 ケントんトコのスクリプトでも移植シレ
あそこは分かりやすい(無駄が多いけど
>>376 そいつのソース汚くて読む気になんねぇー
FlashCGIのminiThreadってヤツはキレイだったな(´-`)
>>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,$_);
}
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からコピペ。これで一応できる。
($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]);
>>387 javascript で対応させていたのですか。。。。知りませんでした。ありがとう。
396 :
376 :02/11/24 23:33 ID:???
>>392 無知な私にご教授ありかとうございます。
今すぐにでも試したいのですが、前の書き込みの後に急遽入院しちゃいまして(汗
退院か外泊時にでも試したいと思います。ありがとうございました。
397 :
397 :02/11/25 02:14 ID:???
http://aji.s1.xrea.com/の Force264 BBS(ver.3.22A 連結GIFコード) と書いてある
スクリプトの改造についてお伺いします。(ファイルに直リンできません(^^;)
訪問時にHTTP_USER_AGENTに特定の文字列が入っていると指定のページに飛ばす
(たとえば"MSIE 4.0"を含む場合./deny.htmlに飛ばす)にはどうしたらいいでしょうか?
398 :
nobodyさん :02/11/25 09:35 ID:TeZapJEO
>>397 スクリプトいじらんでも.htaccess使えばいい。
399 :
397 :02/11/25 15:22 ID:???
>>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
400 :
初心者 :02/11/25 17:49 ID:iBc9Rrdb
THE ROOMの"ranklink"で質問があるのですが、 ランキングサイトを運営しているのですが、総合ランキング のカテゴリを作りたいのですがどの様に各々のランキング から引き抜いて総合ランキングが出来るのか分かりません。 何卒お教えて下さい。お願い致します。
知る限りでは他2箇所でマルチか…
>> による記事LINKをYY-BOARDに取り付けたいのですが KENT-WEBのwebpatioを参考にやってみましたが 変数の違い等々より挫折・・。 良かったら、教えていただきたいのですが 判るかた。宜しくお願いします。
403 :
nobodyさん :02/11/25 22:07 ID:rY+1ONaW
つくったヤシに聞け
406 :
:02/11/26 20:25 ID:???
407 :
nobodyさん :02/11/26 23:57 ID:GahKTPLA
408 :
408 :02/11/26 23:58 ID:???
410 :
nobodyさん :02/11/27 01:11 ID:gzMOh9EH
KENTのpetitbordの過去ログ生成なんだけど、 行数で区切ってdat化するのがどうも気持ち悪いんだよね。 スレッド数(たとえば10スレッド)で1datって感じに出来ないかな。 要するにこの部分の$log_file(行数)を別のものに置き換えればいいと思うんだけど。 # 規定の行数をオーバーすると次ファイルを自動生成 if ($#past > $log_line) { $past_flag=1; 最近ようやくほんの少しづつ読めてきたかなぁという程度で、 じゃあ何と置き換えるのかって考えると混乱する一方。 なにかアイディアがあったら協力願います。
411 :
nobodyさん :02/11/27 01:24 ID: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 を割り込ませる。
なんとなく並んでる変数とログファイルの中身を見比べてると、
あ、ここに割り込ませればいいのかな?ってカンが働くはず。
カナーリ初心者の俺が言うんだから間違いなし!
つーことで、レスくれた人たちありがとうでした。
412 :
nobodyさん :02/11/27 19:30 ID:BLcNdMdK
なんとなく問題解決ぽ 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("二重投稿です。蹴りますが何か?"); }
>414 ログ全部から多重チェックするのか?
416 :
:02/11/28 15:00 ID:???
>>414 for (@lines){
my(undef,undef,undef,$name,undef,undef,$com) = split(/<>/);
&error("二重投稿です。初心者の癖に浮き過ぎです。") if($in{'name'} eq $name && $in{'comment'} eq $com);
}
い・・いけないの(゚Д゚≡ ゚Д゚) 効率悪いですか!?
>414 精度は下がるけど配列の先頭の要素だけで検討するのがいいかと思ったり。 ログが多くなると死ねます。 my(undef,undef,undef,$name,undef,undef,$com) = split(/<>/,$lines[0]); if($in{'name'} eq $name && $in{'comment'} eq $com){&error("二重投稿イッテヨシ");}
YYBBSで指定レス以上になったら省略する機能は どうやって足せばいいんでしょうか? 頭と最新5レスを表示したいのですが
420 :
nobodyさん :02/12/06 12:27 ID:q7PjCrzt
画像投稿型掲示板cgiのスクリプトなんですが、 サーバに保存するファイル名に、投稿された時間を反映させるには(img200212061220.jpgのように)、 複雑な改造が必要ですか?
複雑な改造はいらないと思う。 ファイル名に反映するだけなら。 多分記事のデータにファイル名も保存しているだろうから つじつまあわせるようにしないといけないけど。 どの程度をもって複雑と言っているのかわからんし。
422 :
nobodyさん :02/12/06 16:55 ID:lbFI8Saa
>>422 動くようにって・・・、それは頼りすぎじゃないか?(´Д`;)
外国人の留学希望者相手に掲示板を設置してるんですが、 日本人の荒しに2byte文字のAA等を貼り付けられて 困っています。投稿から2byte文字を確実に蹴る正規表現って どうやればいいんでしょうか。スペースとか"'などの記号 は使えるようにしておきたいです。
>>423 う・・・・
ちなみに、そのスクリプトの作者に聞いたところ、「サポートは一切しません」と返されますた。
今までも度々動かなくなることはあったけど、そん時は自分で何とかしてきました。
でも今回ばかりはまじでヤバイっす。
1point.jpとxreaではもうぜんぜん駄目。
>>424 なんで荒らしが日本人だってわかったの?
>>426 charsetをshift_jisにして見たら
2chそのままのAAでした。
>430 糞単発してるよ・・・最近カスが多いね(´Д`;)
>>430=431=尾瀬原皿仕上げ
434 :
nobodyさん :02/12/07 10:46 ID:AGlpmR8Q
YYBBSにふきだしをいれたいんだけどどうすればできるかな?
muri
marimo
>>438 KENTさんとこのをそのままパクってみれ
>>439 以前やってみたんですが、
スレ立てフォーム周りにアイコン部分を埋めてみるだけで宜しいのでしょうか。。
色々とスクリプト弄ってみたんですが力の限界です(w
後一歩のところまでは来てるヨカンがするのですが。。
>>440 あとはsplitとpushの部分に$iconを入れないとだめだろう。
全く見てないので全くあてずっぽうだけど。
その一山を超えるとぐっと面白くなるから、がんばってみ。
442 :
nobodyさん :02/12/09 17:14 ID:9ucXAnkG
THE ROOMのRANKRINKについて教えていただきたいのですが。 サイト登録時に追加でラジオボタンで選択したものをランキングに画像表示 させるようにしたいのですが、(Yomiサーチでいうと相互リンクの選択 みたいなかんじ)どのようにしたら良いのかお教え下さい。 また、ランキングページの左側にカテゴリーのテーブルをおきたいのですが 何度か挑戦してみましたが、うまくいきませんでした。よろしければ、 ご教授お願い致します。
443 :
440 :02/12/09 21:50 ID:???
もれなくソース加えたはずなんですけどねぇ。。 う〜ん・・・プログラムというのは難しいです。。 付け加え方を根本から間違ってるかもしれないです(w
プログラムの流れを理解していない香具師が、手に入れたソースを突っ込んだだけで動かせるはずがない。 黙って鮭定でも食ってろ!
失敗が人間を強くするんですYO
>>443 ソースの一部貼り付けたら誰か見てくれるかも
446 :
443 :02/12/12 22:57 ID:???
自分で色々いじったんですが、
>>444 の通り、
素人が簡単に改造できるようなものじゃないですねぇ(笑)
スッパリとあきらめてver.up待ちます。
ご助言くださった方ご迷惑をおかけ致しますた〜
447 :
:02/12/14 06:43 ID:???
n a m a z u の Current List: 1 - 3 Page: [1] [2] [3] の"[1] [2] [3]"の部分を << Previous | Next >> などと改造する方法を教えてください。
448 :
447 :02/12/14 06:45 ID:???
このへん?? 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; } } }
450 :
nobodyさん :02/12/16 22:07 ID:tbIe581B
掲示板にメール送信機能をつけてみたんですが、題名に日本語が使えず、
メッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?
>>451 がソースです
451 :
nobodyさん :02/12/16 22:07 ID: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); #--------------------メール送信機能------------------------# よろしくお願いします。
452 :
nobodyさん :02/12/16 22:28 ID:tbIe581B
掲示板にメール送信機能をつけてみたんですが、題名に日本語が使えず、
メッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?
>>750 がソースです
453 :
nobodyさん :02/12/16 22:30 ID:tbIe581B
あれ・・? 2重投稿スマソ
>>449 送信不可能なんだろ?何がしたいんだ?
ずるぼんでも使ってファイル一覧表示しないようにしたらいいだろ
>>451 メール送るのにJISに変換しない厨房ハケーン
456 :
yani ◆saNSktNEdQ :02/12/16 23:11 ID:/GE+8J7v
個人的にはMIME宣言してるメールはヘッダもMIMEにするのが筋だと 思うんだがどうだろう。
457 :
451 :02/12/16 23:33 ID:tbIe581B
すいません。本当にわかんないんです。 教えてください
458 :
455 :02/12/16 23:43 ID:???
だからさ、メール送る時は、そのまんま送っちゃいけないの。 どっか、メーラー機能付きのフリーの掲示板かなんかさがしてきて、 それがどんな風に送ってるのか調べてみろって。 ここはアドバイスをする場所であって、回答そのものを書く場所じゃあない。
459 :
yani ◆saNSktNEdQ :02/12/16 23:50 ID:/GE+8J7v
ついでだからさっき書きかけた奴を投げてみる。
>>451 (1)スクリプト中の日本語がJISになってないか、
(2)またはsendmailが妙な面倒を見てくれているかどちらか?
いずれにせよ、個人的にはMIMEを宣言するならsubjectもBASE64エンコードするのが筋だと思う。
(1)だったらEUCで書いて、nkfとか、jcode.pl, Jcode.pmを使うのがいいのかな。
5.8だと pragma encodingがサポートされているけど。
(2)だったら、本文もヘッダもBASE64エンコードか。
460 :
451 :02/12/17 23:50 ID:gzYXlHgB
スクリプトはシフトJISでかかれてます。 EUCはエディタを持ってないんで… BASE64等聞いたことはあるんですがやり方がよくわからんのです。
461 :
455 :02/12/17 23:54 ID:???
>>451 自力でできないなら、すでにあるものをパクってこいって言ってるだろ。
462 :
451 :02/12/18 00:28 ID:ZpDIFVLh
それもやってみたんですが・・・ 変数が入り組んでてわからんのです
463 :
455 :02/12/18 01:11 ID:???
>>451 もしKENTのスクリプトですらわからんとか言うなら、諦めろ。
いやマジで。
464 :
マリモーマ ◆jbBCmetwgw :02/12/18 06:29 ID: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);
}
465 :
451 :02/12/18 21:21 ID:ZpDIFVLh
つまりメール用に変数を書き換えるんですか? $m_name = "名前 " . $name; のように?? KENTのCGIですか・・・ JCODEなどの使い方がわからないんですよね・・
466 :
マリモーマ :02/12/19 07:29 ID:82rcnvne
これは 僕の作った掲示板なんだ sendmail用に jcode.plで 変換してるだけだよ
>>464 サンプルったって……
何故Perl4を意識した組み方なのかそこんところを作った人間に聞いてみたい。
468 :
nobodyさん :02/12/20 03:20 ID:fpLfXsGv
はじめまして。
>>310 さんと同じKENTWEBさんのchat roboの改造なんですが、
このチャットは2人以上が入室するとロボットが黙るようになっています。
それを、2人以上入室しても喋るようにはできないでしょうか?
概要 www.kent-web.com/chat/robo.html
微妙な改造をしていますが、cgiのテキストファイル
http://jadore.jp/~sermot/robo.txt よろしくおねがいします。
469 :
nobodyさん :02/12/20 03:34 ID:XVaLbHjJ
>>468 # 在室者が1名のとき、又は名前を呼ばれた時に返答する
の直下のifブロックを撤去して
$regist_flag=1;
にしたらいいんじゃない?
470 :
マリモーマ :02/12/20 07:04 ID:rQl0YSG9
>467 まだ初心者なもんで あまりわかってないんだ
471 :
nobodyさん :02/12/20 11:35 ID:sQRsVps7
2ちゃんねる VS TIME・・・
その戦いの歴史は、まさに近代兵器の見本市だった
田代砲にはじまる数々のスクリプト兵器を経て到達した、97式アラファトマシンガン
これはまさに最終兵器として、猛威を振るった
しかし、ついにTIMEはこれらの兵器全てを完膚無きまでに無効とする
パプリカの設置に成功した
武器を奪われた我々に残されたもの ・・・それは「チョップ!」
手動で一撃一撃叩き込む「チョップ!!」地味で威力も極限まで小さな「チョップ!!!」
ただそれだけと、なってしまった!
だが、チョップといえども決してバカには出来ないということを!
そしてこのような手段にまで出たTIMEを今一度!
我が2ちゃんねらーの総意を込めたチョップを以て、叩き壊したい!!
有志たちの参戦を、ひとりでも多くの戦士の挑戦を待つ!!!
http://live.2ch.net/test/read.cgi/festival/1040349157/
472 :
468 :02/12/20 13:35 ID:fpLfXsGv
>>469 ごめんなさい、どうも505エラーが出ます。
# 在室者が1名のとき、又は名前を呼ばれた時に返答する
if ($_[0] eq "comment" && $now_member <= 1) { $regist_flag=1; }
の、 if ($_[0] eq "comment" && $now_member <= 1) を
削除するということでしょうか?
473 :
nobodyさん :02/12/20 13:57 ID:ehxtG+cI
>>472 && $now_member <= 1
を取れ。それ以上は君には無理っぽい。
474 :
nobodyさん :02/12/20 13:58 ID:bSnvNs3j
>>472 if ($_[0] eq "comment" && $now_member <= 100) { $regist_flag=1; }
ここの数字大きくするだけでもいいと思われ。 ↑
475 :
468 :02/12/20 14:37 ID:fpLfXsGv
>>473 さん、
>>474 さん、レスありがとうございます。
474さんの方法でやってみました。うまくいったくさいです。
無知で申し訳ないです……ありがとうございました。
476 :
nobodyさん :02/12/20 18:43 ID:Xm/IHOJS
始めまして。最近CGIをかじりだして、なんとか設置「できる」程度にはなったのですが、 KENT-WebさんのYY-BORDのアイコン登録機能をyy-chatに追加したいのですが、 自分で調べてもpup.cgiをどうやって連動させたらいいのかというところでつまずいてしまいました。 もし宜しければご指南いただけないでしょうか? 宜しくお願い致します。
477 :
nobodyさん :02/12/21 03:04 ID:p9M9wN14
478 :
nobodyさん :02/12/21 03:29 ID:hxR7EJif
479 :
479 :02/12/21 06:12 ID: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やホストが表示されるだけという結果でした。
詳しく説明した方がいいと思い長文になってしまいました申し訳ございません。
このスクリプトを配布しているサイトのサポート掲示板は改造に関する質問は禁止という事ですので、
こちらに質問させて頂いたのですが、どなたかご教授下さらないでしょうか?
宜しくお願いいたします。それでは失礼致します。
480 :
_ :02/12/21 16:35 ID:???
>>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");
行数一部ずれてるかも…
自分もへっぽこだからな(;´Д`)
481 :
479 :02/12/21 18:37 ID:TCs+vCTx
>>480 レスどうもありがとうございます。
ですが>480さんの言った通り改変してみましたが、
やはり投稿者のIPではなく、自分のIPが表示されてしまいます・・・。
245行目に $addr = $ENV{'REMOTE_ADDR'}; を追加する事は、
今まで試していなかったのでこれで出きると思ったのですが・・・
もう少し自分で試行錯誤してみます。
482 :
479 :02/12/22 03:15 ID:IzGI9cL3
あれから色々やってみたのですがやはり出来ないです。 同じスクリプトの前のバージョンではこの方法で出来たのですが・・・ ログを見てみるとちゃんとIPもホストも残されているのですが、 名前の後に表示するとなると自分のIPとホストが表示されてしまいます・・・ どなたかご教授下さい。どうかお願いします。
>>482 ログから記事を取り出しがうまく取れてないか、
もしくは表示するときにうまく表示できてないか、でしょ。
変数の名前が違ってる(ログから$adrで取ってるのに$addrをprintしてる)
とかじゃない?
484 :
479 :02/12/22 05:24 ID:IzGI9cL3
>>480 >>483 もう一度DLしなおし、
>>480 さんの言った通りに改変して見た所、無事出来ました!
何時間もいじっていたので、どこかのソースを少し変えたまま戻すのを忘れていたんだと思います。
手間かけてすみませんでした本当にどうもありがとうございました。
485 :
477 :02/12/22 09:58 ID:4O+EjJim
>>478 それでちょっと試してみます!
ありがとう御座いました。
486 :
479 :02/12/23 05:07 ID:nzgwR1fc
昨日は本当にありがとうございました。
皆様に教えて頂いたおかげで、掲示板は順調に動作しているのですが、
もう一つ気になる個所がでてきてしまいました。
書き込みを削除する際に、1つチェックを入れる度に送信ボタンを押す為、
削除したい書き込みが複数ある場合には非常に効率が悪いんです。
同スクリプトの以前のバージョンは出来たのですが・・・
自力でやってみようと以前のバージョンと見比べて、
<input type=radio name=no value=\"$no\">
という個所の radio を checkbox に変えてみたのですが、
チェックは複数につけられるものの複数にチェックをして削除しようとしても
結局最初にチェックした書き込みしか削除されませんでした。
どなたか教えて頂けないでしょうか?
一昨日質問したばかりで申し訳ないですが、どうか宜しくお願いいたします。
ソースは↓です。(おそらくこのスクリプトを改造するだけで出来ると思うのですが・・・)
http://www2.csc.ne.jp/~nga/admin.txt
487 :
nobodyさん :02/12/23 12:12 ID:EkLX2nFl
それはUIの変更でしかない。 実際に選択された全てを削除する作業を改良付加しなきゃ。
488 :
nobodyさん :02/12/23 15:32 ID: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は初期でスレッド固定のようなので
プログラム自体が複雑に絡み合ってこうなっていると言うより、
何行かが書き加えられてこうなっていると考えるのが自然のように思えます。
どうにかなりますかねえ^^;
489 :
nobodyさん :02/12/23 22:15 ID:ylDWuCld
改造された方からのお返事を今確認。 スクリプトが長くなり重くなるなどの理由からトップソートのみで書いていると言うこと。 こういうこともあるんですねえ。
490 :
486 :02/12/23 23:41 ID:nzgwR1fc
>>487 わざわざレスありがとうございます。
やはり特別な改良を行う必要があるのですか・・・
お手数とは思いますがその処理を教えては頂けないでしょうか?
ですが製作者様は今までのバージョンでは可能だったという事をあえて出来なくしたのですから
可能にする事により何かデメリットが出来てしまうんですかねぇ・・・
私のサイトは携帯用なので利用者どうしの喧嘩のようなものから、
よく荒らしに発展してしまうので複数チェックで削除出来れば大変便利なのですが。
>>490 その掲示板だかなんだかの、昔のバージョンはないのかね?
複数削除が可能だった頃の使えば?
492 :
486 :02/12/24 02:03 ID:7RBB/Grc
>>491 「プログラムは、セキュリティ対策を施したv5.7以降を必ずご使用ください」
という注意事項がかかれてあったので、以前の物を使用するのはちょっと・・・
それに以前のバージョンはもう公開していないみたいですし私もそれそのものはもってないんです。
セキュリティのどこが甘かったかといったような事はわからないのですが。
>>492 じゃあ、作った本人に改造してもらったら?
作った本人が面倒くさいって言ってるくらいだから、
他人がいじるのはもっと面倒くさいな。
>>493 それじゃこのスレの意味ねぇだろアフォ!
しかもKENTは面倒くさいなんて言ってないだろ?
どこで言ってたの?まぁ俺は面倒くさいから嫌だがね。
>>492 それかなりめんどうだよ。
スクリプト全体に手を入れないといけないからね。
むしろ以前のバージョンにセキュリティ対策施した方が楽かも。
496 :
486 :02/12/27 09:13 ID:ABvqt34o
レス遅くなって申し訳御座いません。
>>495 そうなんですかか大掛かりな改良が必要なんですね。
特に致命的な問題ではないですし、諦めてこのまま設置致します。
レスくれた皆様ありがとうございました。
>>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);
498 :
497 :02/12/27 17:53 ID:???
>>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にカエレ!
499 :
486 :02/12/28 05:06 ID:???
>>498 神様の言う通りやってみたらあっさり出来ました!
凄く嬉しいです!この掲示板に書き込みしてほんとによかったです!
お世話になりましたありがとうございました!
500 :
477 :02/12/29 17:36 ID:5O7Hg3I+
501 :
nobodyさん :02/12/29 17:55 ID:uoxci6sX
>>477 アダルトサイトの管理人には教えたくないです。
502 :
nobodyさん :02/12/30 03:32 ID:cfFttQy/
a
503 :
AY :02/12/30 21:38 ID:6Lg7oo1p
すごい初歩的なことなんですけど、 「KENT WEB」の「Joyful Note」に、投稿者の居住地をつれけるようにするには、 どこをどうすればいいのでしょうか。 プルダウンで選べるようにしたいのですが。
504 :
にんにん :02/12/31 02:48 ID:w7i1AXgj
&nsp;
505 :
486 :02/12/31 05:59 ID:???
>>498 先日はお世話になりました。
あの>498で教えてもらった通り改変した所、
無事、複数同時削除が出来るようになったのはお話しした通りなんですが、
それにより、どうやら修正が出来なくなってしまったようです。(気付くのが遅くてすみません)
私としましては書き込みを修正する機能は必然というほどではありませんので、
出来ればでいいのですがご教授頂けないでしょうか?
プログラムのソースは以前と同じく
http://www2.csc.ne.jp/~nga/admin.txtです 。
それでは失礼致します。
506 :
486 :02/12/31 06:10 ID:???
すみません!修正出来なくなっていたのは私のミスでした! 修正出来ました。お騒がせして申し訳ございませんでした。
507 :
498 :02/12/31 10:01 ID:???
>>486 もしかして、複数選んでなかった?
# 修正フォーム
} elsif ($in{'job'} eq "edit" && $in{'no'}) {
&error("複数修正はできません") if ($in{'no'} =~ /\0/);
これでも追加しれ
ところでパスワード晒してない? dimensionzってモロダシ━━━(゚∀゚)━━━!!!!
509 :
α ◆HCOpYnZA7c :02/12/31 11:59 ID:mjoKt6Ws
510 :
α ◆HCOpYnZA7c :02/12/31 12:02 ID:mjoKt6Ws
↑に追加1分以内ロムってる場合IP表示
511 :
nobodyさん :02/12/31 13:18 ID:qLQW6luA
512 :
α ◆HCOpYnZA7c :02/12/31 14:56 ID:KGoFfbhM
このcgiはテキスト形式でやると汚くなるんですよ
>>511
513 :
α ◆HCOpYnZA7c :02/12/31 15:03 ID:KGoFfbhM
>>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) ";
こんなんでいいの?
515 :
α ◆HCOpYnZA7c :02/12/31 18:27 ID:NfjjwQzQ
1分以内ロムってる場合IP表示これが発動してないような
>1分以内ロムってる場合IP表示これが発動してないような 意味が分からないのですが
そういう機能つけるのむりっぽいのでいいですぅ。 後そのチャットに発言ランキングをつけたいのですが、どのようにすればいいんでしょうか?
518 :
nobodyさん :03/01/01 13:22 ID:SdsD4VAk
age
>つけたいのですが 付いてるスクリプト探せば?
520 :
α :03/01/01 14:58 ID:SdsD4VAk
そこで配布されてるCGIがどうしてもつかいたいのです
「1分以内」じゃなくて「1分以上」でしょ。。。
>αさん 教わる場合はもっと礼儀をしっかりしましょうよ・・・。 ここに人たちは純粋に善意で教えてるんだからさ・・・。
女子は画像添付だよ 守れよ〜
KENTさんのとこのプチ☆ボードにスレッドごと及びレス記事に番号つけてようは ここの掲示板みたいなやつ。んでレスカット機能つけて全レス読むでread.cgiを 使って表示するという改造を(read.cgiは探してきます。)したいのですが・・・。 当方やっと本、片手にシンプルな掲示板が組めるようになった程度でスキルが ありません。ご協力お願いします。
526 :
α :03/01/02 12:32 ID:DP7C43xk
527 :
α :03/01/02 16:01 ID:BNSxPHvc
そのチャットに発言ランキングをつけたいのですがどのように改造すればいいんでしょうか?
perl覚えてください とミもフタもないことを言ってみるテスト
>>525 ありがとうございます。でもなんつ〜か自力で(ここで聞いてる時点でそうでは
ないけど)改造したいんですよね。ただ設置するだけでは意味がないような気が
するんですよね。
自分で頑張ってみて自力で無理なとこ(ほぼ全部だけど・・・)はソース張るので
ご協力していただけたらと思います。
531 :
529 :03/01/02 21:09 ID:fb82aWK0
>>530 ちなみに529です。名前変更するの忘れました。
532 :
515 :03/01/03 14:01 ID:sga5e0Hj
自分なりにichatに発言ランキングいれようとしたけど、無理でした。 発言ランキング使けかたおしえてください
>>530 投稿フォームへのリンクを消せばいいだけだと思うが。
すっきりさせたいならsub newk{} とそれを呼び出している部分も消せばいい。
具体的には193行目と237行目とsub newk{}全体。
まあ機能削りなんかするくらいなら一から自分で作ったほうが良いとは思うがな。
534 :
533 :03/01/03 17:11 ID:???
ちなみに #!/usr/local/bin/perl の下あたりに use CGI::Carp qw(fatalsToBrowser); と書いておくとブラウザにエラーが表示されるのでおすすめ。
535 :
nobodyさん :03/01/03 18:01 ID:Dyvox6wr
536 :
nobodyさん :03/01/03 18:14 ID: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"のみ許可したい場合の記述の方法が今ひとつ良く分かりません。 ご教授お願い致します。
537 :
515 :03/01/03 18:15 ID:d+mRDn0L
教えてください
>>536 if ($match) を if (!$match) にするだけ。
それと余計なお世話かもしれないが、本当にやりたいことは
@host = ('\.jp$', '\.hoge\.com$');
なんだと思う。
>>536 単純に
if(!$match){
じゃダメなの?
>>536 if($match)
を
if(!$match)
にするだけで、$matchじゃなかったら「書き込めません」と出るようになります。
541 :
536 :03/01/03 18:54 ID:???
レスが遅くて被りまくり・・・。
543 :
536 :03/01/03 18:57 ID:???
>>冬厨様 ありがとうございます。
544 :
536 :03/01/03 21:01 ID:???
先ほど質問させて頂いた536です。 教えて頂いた通りに記述してみたところ、ホスト名をIPアドレスで指定した場合は正常に動作しましたが、"jp"などドメイン名で指定すると上手くいきませんでした。 恐らくIPアドレスからホスト名の逆引きが上手く出来てないと思い、 if ($ENV{'REMOTE_ADDR'} =~ /$_/) { $match=1; last; } を if ($ENV{'REMOTE_HOST'} =~ /$_/) { $match=1; last; } としたけどだめでした。 また、538さんが指摘して頂いた @host = ('\.jp$', '\.hoge\.com$'); ↑を使って記述したいいと思い色々弄ってみたのですが、私がやるとスクリプトエラーになってしまいます。 初歩的な質問で大変恐縮なのですが、改善策をご指導願えますか?
545 :
538 :03/01/03 22:09 ID:???
>>544 まず本当にホストの逆引きができていないか $ENV{REMOTE_HOST} の内容を
表示して確認する。(printデバッグ)
IPアドレスが表示されるなら
$ENV{REMOTE_HOST} = gethostbyaddr(pack("C4", split /\./, $ENV{REMOTE_ADDR}), 2);
たぶんこれでいける。
スクリプトエラー云々は単なる記述ミスだと思うが…。
perl -cw なり
>>534 の方法で確認。
546 :
名無しさん@お腹いっぱい。 :03/01/04 00:16 ID:3GL3mxm0
>>534 とりあえず軽量化するための苦肉の策として投稿フォームをhtmlで
吐き出すことにしました。名無し投稿が可能なので匿名投稿可というのをクッキーの
言い訳に・・・(w 返信フォームではクッキーが有効なので大して問題もないですので
ご協力ありがとうございました。
547 :
515 :03/01/04 09:35 ID:KfYBPbca
AGE 発言ランキングどうやったらつけれるんですか?
>>547 入れようとして無理だったなら途中までのソース見せれ
549 :
536 :03/01/04 19:17 ID:???
>>538 さん
教えて頂いた通りにしたら今度は上手くいきました!ご丁寧にご教授頂き本当に助かりました。有難うございました。
550 :
515 :03/01/05 13:38 ID:ApfC6Obw
age
newbbをi-mode用に改造しなさい
552 :
5 :03/01/06 07:38 ID:Fttc1nxV
age
553 :
nobodyさん :03/01/06 11:40 ID:JetMYh6a
ソース見るの面倒だからどっかにうpくらいシレ! まぁ、これくらいなら大体分かるか… ログを記録するところがunshiftになってると思うから pushにしれば完了
555 :
553 :03/01/06 12:40 ID:???
うわ!ほんとにできました!!! 天才かと思いました。俺、素人ですが。 ソースのアップすみませんでした。めんどくさいの忘れてました。 あああ。マジうれしい。ありがとうございました!!
556 :
nobodyさん :03/01/06 17:12 ID: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>
誰か発言ランキングのつけかたおしえてくださいよぉ
558 :
おしえてください :03/01/07 00:56 ID: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人で上手くローテーションが回りません。
どうかお知恵をお貸しくださいませんでしょうか?
559 :
nobodyさん :03/01/07 04:43 ID: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;
}
で動く、かも。間違ってたらスマンということで。
560 :
vvv :03/01/07 05:43 ID:LnDaxIug
発言ランキングのつけかたおしえてください
>>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;
}
(続き) 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(); }
564 :
558 :03/01/07 17:17 ID:sAGCj5os
>>559 さん
見事にローテーション回りました♪
ありがとうございますm(_ _)m
>そんなクソソース読む気がせん。
やっぱり酷いスクリプトなんっすか?
もともとFFAの改造らしいですが。
「劇ぱわ」を改造したはる人の間ではわかりにくいと評判のようです(w
>>564 スクリプトいじれもしねぇ〜くせにガタガタ抜かしてんじゃねぇ〜。この真性包茎が!
566 :
nobodyさん :03/01/07 20:21 ID:2QX2iHj7
567 :
558 :03/01/07 21:25 ID:sAGCj5os
568 :
名無しさん@お腹いっぱい。 :03/01/07 21:56 ID:0U86HUrj
>>567 最もらしい顔して書き込んでればみんな職人さん!ってわけではないのだよ。
ソース以前にこんなスクリプト使う奴の気がしれん。ネパワでよくみかけるが。
>>566 なぜソースをあげないのかと小一時間・・・。34のファイルはすでに消えているし
あったとしても圧縮ファイルじゃほとんどの人は読まないよ。君がtxtで
うpしなよ。
570 :
558 :03/01/07 22:05 ID:sAGCj5os
>>568 いや、真性包茎のほうでつが...<なぜわかった!?
冗談はさておき、連勝中のチームでのローテが上手く回らない事が判明しました。(ToT)
症状をまとめるため、もう少し試合重ねてみます。
(今のところ、数連勝していると投手の打順が8や7になって、野手として試合参加してしまいます)
>>571 取り敢えず最終行で良いんじゃねぇの?
てか、これ位も判らないんじゃ話にらん
少しはPerl勉強して出直してこい
573 :
nobodyさん :03/01/08 19:58 ID:/YJAwlvJ
発言ランキングを表示するところをつくれば表示されますよね?
>>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 = ();
}
(続き) # ealis.cgi 106行目あたりにある if($flag){ &reswindow($_[0]);} の上に if($resflag) { printres(); } を追加。119行目あたりにもあるので同様に。
578 :
574 :03/01/09 02:37 ID:???
>>579 まずは自分でやってみる。上手くいかなかったら、はじめてここで質問する。
自分で出来ること(チャレンジ)を端折るな。じゃなきゃ、いつまでたっても
質問廚だぞ。
582 :
578 :03/01/09 14:28 ID:???
>>580 すいません理解力に乏しくて。
48-54を削除し閉じ括弧を付けましたところ
うまく行きました。
感謝します、ありがとうございました。
583 :
nobodyさん :03/01/09 19:18 ID:+NBXZYwN
>>583 そのトリップを付ける改造方法を紹介してるトコで聞いてみれば?
585 :
486 :03/01/10 02:34 ID:???
586 :
486 :03/01/10 02:34 ID:???
>>507 レス遅くなりました。
複数修正チェック入れさせていただきました。
どんどん機能が増してきて凄く嬉しいです。ありがとうございました。
>>508 パス丸出しでしたw
念の為パスワード変えました。ご指摘ありがとうございました。
>>585 大まかには理解しているようなのでヒントだけ。
sub decrypt はパスワードが正しければ1、そうでなければ0を
返すようになっている。これをパスワードが正しい、もしくは
管理パスと同じ場合に1を返すようにすれば良い。
588 :
nobodyさん :03/01/10 10:31 ID:a9CYRt8t
ワードラップ表示のない掲示板を設置しています。 改行を入れずに記入されると、表示がびよぉ〜んと伸びて、ブラウザを右にスクロールしないと読めなくなります。 普通は、表示のほうでワードラップさせるのでしょうか。 そこで考えているのですが・・・。 掲示板書き込みの、内容チェックルーチンの後ろに、自動整形ルーチンを 持たすようにしたいんです。 昔のMS-DOSの時にあった fin という外部コマンドみたいな機能です。 付け加えたいのは、 .br といった、改行を入れる埋めこみコマンド(一つだけ) 禁則処理 引数で、桁を指定 引数で、インデント桁を指定(これで四角い文書になる) 引数のわたし方ですが、チェックボックスでも作るのがいいでしょうか? こうした機能がすでに書かれたサブルーチンがどこかにあったら見てみたいのですが、 ご存じないでしょうか?
589 :
bloom :03/01/10 10:51 ID:KGaolIdm
>>587 管理パスは平文でスクリプトに書いている。
sub decryptは通さないでそのまま比較すればいい。
if ($in{'pwd'} eq $pass)
591 :
590 :03/01/10 11:28 ID:???
>>486 ,585
sub decrypt {
local($inp, $log) = @_;
の下に
if ($inp eq $pass) {return(1);}
を追加したらどうやろ
592 :
586 :03/01/10 15:18 ID:???
>>587 大まかには理解していると言っていただけて嬉しいです。
最初はほんとにさっぱりわからなくてHTML部分の改造以外できなかったのですが、
毎日わからないながらも試行錯誤していたら少しだけですがわかってきました。
だんだん覚えていくので凄く楽しいです。
>>590 パスを書かないのがif ($in{'pwd'} eq "")だったのでそこにパスを入れれば
「もしもパスが入力されていたら」になるかなぁと思って
それと同じような文を書いたんですけど、結局出来なかったんです。
惜しかったんでしょうか。
>>591 (590)
その一行を追加しただけで出来ました!
簡単とは思ってはいましたが一行で済むとは思いませんでした凄いです!
私が考えていた所と全く焦点が違っていた事に驚いてます。
何度も質問したのでもう一度ここのお世話になるか凄く迷ったのですが、
質問してよかったです。(皆様にはお手数かけましたが)
本当にありがとうございました。m(_ _)m
593 :
nobodyさん :03/01/10 17:57 ID:ViB4peHI
発言ランキングのつけかたおしえてください
>>593 >>1 を読んでYO
質問するときは以下の点に注意して書いて下さい
(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い
※答えてくれないからといって逆ギレする厨はお断り
>>593 は少々イジけているんだろ。
すんなり誰も教えて(改造して)くれなかったから。
自分でドコまでやったのか
それを示せばいい答えが返ってくるかも知れないぞ
>>593 はPerl判らないから全部コピペで完全に動作する所まで説明しないと判らないんだろう
って、言うかどう言うのを希望なのかHTMLすら出さないから
HTMLもタグ打じゃ書けないヨカーン
発言ランキングの奴はcomchatの奴をつかいたいです。
>>597 KENT氏のCOMCHATについている発言ランキングを
自作のスクリプトに使用したいってことか?
・・・勝手に使えばいいぢゃないかYO
comchatなんて、元々ゆいちゃっとからのパクりが多いから、全然OKだろう。
ネットサーフしててあるところの掲示板で見かけたのですが
掲示板の書き込みで
”>”のような引用を使うとその一文の文字色が変わり
背景色がつけられて 目立つ
ようなのを見かけたのですが
どうすればできるのでしょうか?
背景色は外部スタイルシートでしょうか?
よろしくおねがいします
テキストは
ttp://www23.tok2.com/home/fura/yybbs.txt です。
(トクトク仕様で見づらいですがソースで確認お願いします)
よろしくおねがいします
601 :
背景中央っこ :03/01/11 23:15 ID:h7Wygp1p
perl掲示板の壁紙について質問があります。 現在、 { print "<body background=\"背景イメージ" bgproperties=\"fixed\" } となっていて、壁紙はリピートになっているのですが、 この壁紙を「中央に1つだけ表示」するにはどうしたらよろしいのでしょうか? CSSでいうと .Wallpaper { background-attachment: fixed; background-image: url(背景イメージ); background-repeat: no-repeat; background-position: center center; } の様にしたいのです。 よろしくお願いします。
>>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;
を追加するようなやり方でも可能です。
>>602 ぉ! 間違えてる。。
sも抜けてるし・・・
s/(^|<br>)((>|(?:>))(?:(?!<br>).)*)/\1<FONT color=#ffffff style="background-color:#666666">\2<\/FONT>/g;
です。。
>>601 そのprint文にスタイルシートを追加では
なにか問題があるのでしょうか?
print '<body background="背景イメージ" bgproperties="fixed" style="background-repeat: no-repeat; background-position: center center;">';
605 :
nobodyさん :03/01/12 12:06 ID:eJ8Igs3E
>>605 以下のように書いてありますが、何か?日本語読めますか?
CGIファイルをサーバーにアップロードして、ページには1行書き加えるだけ
<script language="JavaScript" src="imakoko.cgi"></script>
>>605 a.htmlを見ていると思われる人数を
b.htmlに表示することは可能です
マルチポストなので私は改造しませんけれど
>>605 おまえね、誘導されてきたなら元スレにお礼言ってから
こっちでも誘導されてきましたって挨拶するべきでしょ?
609 :
927 :03/01/12 13:02 ID:???
タッキーズルームのpulinplinkに背景固定のスタイルシートを加えたいんだけど、 どのへんいじったらいいかわかりません。誰か教えてください。
>>609 420行目にbodyタグのCSSとかが在るからそこを書き換え
てか、次からはCGIのテキストをUPするか最低限配布場所のURLを明記しましょう。
612 :
nobodyさん :03/01/12 13:19 ID:eJ8Igs3E
>>606 あ〜今からお礼いいにいってきます!&誘導されてきました。
んとぉ〜b.htmに<script language="JavaScript" src="imakoko.cgi"></script>
をはると、b.htmを見てる人もカウントされてしまうんです。
a.htmみている人をb.htmに表示したいんです。
>>609 タッキーズルームへ逝ったけどpulinplinkというタイトルのCGI見つからなかった
pulinplinkでgoogleで検索しても見つからなかった
>>613 試しにみてみたら・・・あるじゃん
ぷりんぷりんく pulinplink.cgi って。。
615 :
nobodyさん :03/01/12 13:31 ID:eJ8Igs3E
>>607 すみません。マルチポストってマナー違反ってしりませんでした。
すみませんがおしえてもらえませんか?どうしてもしたいんです。
おねがいします。もぉ、おこっちゃったかなぁ…
618 :
609 :03/01/12 13:37 ID:???
>>611 ありがとうございます。
いろいろやってみたけどできなかったです。もうちょっとやってみます。
>>614 説明わかりにくくてすいません
>>615 ん? 607・・・って私ですか(笑
全然怒ってはいないですよ。昼飯食べてくるからその後で・・・よければ。
>>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;
>>621 そして、a.htmlでは普通にスクリプトを呼び出して
b.htmlではimakoko.cgi?bのように?bを追加して読み込んでください。
<script language="JavaScript" src="imakoko.cgi?b"></script>
もっとスマートに改造できるのですが・・・とりあえずこれでも可能です。。
>>621 あ、exti;の後にもう1つ}がいります。。
exit;
}
624 :
nobodyさん :03/01/12 14:24 ID:eJ8Igs3E
>>622 ほんとですか!やってみます!こんなやつにわざわざありがとうございます。
あ!このbってのはb.htmだからbなんですか?
それともなんかの。。。
>>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;
}
>>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;
}
627 :
nobodyさん :03/01/12 15:01 ID:3kq2ylQl
おしえてください!発言ランキングのつけかた KENTのところにあるCOMCHATの発言ランキングをつけたいです。
>>624 imakoko.cgi?bって呼び出すのは適当すぎますし
imakoko.cgi?countって呼び出したページの人数をカウントして
imakoko.cgiだけで呼び出した時に人数を表示するほうが、より良いですね。
あと
@OUT = ("今このページに$count人の人がいます");
のメッセージも自分流に書き換える必要がありそうです。
無理に書き換える必要はありませんけれど、、
宿題として・・・?? でわでわ!
629 :
nobodyさん :03/01/12 15:30 ID:z75wTlqT
ありがとうございます!早速やってみます!ありがとうございます!!
630 :
566 :03/01/12 17:34 ID:0R5jZ1Nf
>>630 ace.txtの70行目に
@DATA = reverse(@DATA);
タイトルは64行目の
print "</td>\n";
の後に
print "<td bgcolor=#CCCCCC align=center>$title</td>\n";
を挿入で表示できます。
>>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";
とでも記入してください。。
>>632 失礼、、画像タイトルは55行目を以下のように変更です。
print qq{<center><img src="画像"></center>\n};
>>631 @DATA = reverse(@DATA);
データを削除したり編集したりしている内に表示順がおかしくなるねぇ
reverse行は取り消して
73行目の
foreach $line (@DATA){
を
foreach $line (sort @DATA){
で解決かな?
635 :
nobodyさん :03/01/12 19:06 ID:/hVM4GRx
お絵かきけいじばんの、画像を保存するのを無理やりgifに変換するにはどうしたらいいのかを考えるすれに変わりました
636 :
600 :03/01/12 19:44 ID:???
>>602 >>603 を元にできました。どうもでした。
ただ全角の引用の”>”には対応するのですが
半角の”>”にも対応させるにはどうすればいいでしょうか?
半角を使う人もいるので・・・
よろしくおねがいします
>>637 >って言っても
<br>はそのままだYO
念のため
639 :
600 :03/01/12 20:16 ID:???
641 :
背景中央っこ@601 :03/01/12 22:42 ID:U7D7FDnd
>>604 さんへ
できました!
あたしはperlは無知なので助かりました。
簡単な質問にも丁寧に回答していただいてありがとうございました!
>>640 2・3日待って貰えば
ユーザーの方でファイル名設定できるようにします.
644 :
nobodyさん :03/01/12 23:44 ID:HvHiIRir
>>631-633 さん、
>>634 さん
どうもありがとうございます!希望通りの表示になりました。
お時間を割いていただいて恐縮です。
たった1ワード入れるだけで変わるものなんですね。
何を勘違いしたのか数字を入れたりしていました...
いまはは曜日表示の追加と下部に表示される記事部分を
一番上の日付ぶんが最初に来るように調整してみています。
自分でスクリプトをすべて書けるようになったら
とても気持ちがよいでしょうね。がんばります。
>>627 >>562-563 を書いた者だが…。
「発言ランキングのつけかた」なんて漠然と言われても、
「発言ランキングとして動作するコードを書け」としか答えようが無い。
そしてできなかったのなら、自分でどこまでやったのかを書くこと、と
言われてるだろ…。全くPerlができないのなら最初に具体的な仕様を
書くこと。そうしていれば
>>562-563 のような無駄なコードは書かずに済んだわけで。
こっちだって時間を割いてスクリプトを書いてるんだから。
まぁ乗りかかった船だから一応教えるけどさ…。
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(); を追加。
ファイルの一番下に 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; }
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のやつからもってきただけ。 (ただ、無駄な部分は省いた。) # 長くてスマソ... 今度からインデントやめます。
>>645 で報告させていただきましたが、
sortを記入すると曜日ごとにソートされまとまって表示されるのに気づき、
reverseを記入してみたらうまくゆきました。
>>651 スクリプト改造お疲れさまです。
sortを使用した場合、ログデータをそのまま並び替えています。
デフォルトの状態では〜.datファイルが
年<>月<>日<>タイトル<>本文<>
年<>月<>日<>タイトル<>本文<>
・・・
のフォーマットで保存されています。
曜日ごとに並び替えられてしまったのは
曜日<>年<>月<>日<>タイトル<>本文<>
みたいに曜日をデータの先頭に挿入しているため
曜日毎に並び替えてしまったのかな、と推察しています。
reverseの使用で対処できるとのことでなによりですが
reverseしてデータを表示するルーチンの後に
もう一度reverseして@DATAの内容を元に戻しておくことを勧めます。
もちろん問題がでていないようなら必要ありませんけれど。。
@DATAをreverseしたままの場合は
他のルーチンのロジックも少し弄る必要があるかも知れません。
あしからず。
653 :
nobodyさん :03/01/13 17:17 ID:9dWOZyTE
>648のようにやりまして、エラーが発生しました 324行目あたりに elsif の閉じ括弧があるのでその下に更に elsif ($act eq "ranking") { viewranking(); } っていうところなんですけど、elsif (($act eq "mainframe") || ($act eq "changeframe")){ の↓にかけばいいんですよね?elsif ($act eq "ranking") {viewranking();}{このように
>>653 俺の言ってるelsifの閉じ括弧っつーのは
elsif (($act eq "mainframe") || ($act eq "changeframe")){
#元からあったコード
} ←これ。
なのでその下に追加すれば良い。
別に改行しなくてもいいんだけど、
>>648 で書いている行番号は
改造を行った後のものだから混乱するかも。
あとエラーが出たのならエラーメッセージを出せばなお良い。
655 :
nobodyさん :03/01/14 00:48 ID:hZLDsUe8
kentwebのスレッド式掲示板webpatioのスレッド名の文字数制限をなくしたいのですが どなたか方法をお教え願えませんでしょうか?
# コメント文字数チェック if (length($in{'comment'}) > $max_msg*2) { &error("文字数オーバーです。<br> 全角$max_msg文字以内で記述してください"); }
>>655 >>656 init.cgiに
# コメント入力文字数(全角換算)
$max_msg = 800;
・・・スレッド名の文字数じゃなくてコメントの文字数なのかYO
658 :
655 :03/01/14 01:54 ID:hZLDsUe8
>>656-657 氏
コメントの文字数ではなくてスレッドの題名の文字数です。
宜しくお願いします。
ここはSの依頼者とMの回答者が仲良く助け合うスレッドですか。
>>658 patio.cgiの464行目
<td><input type=text name=sub size=30 value="$resub" maxlength=30>
maxlengthの値を変えましょう
perlばかりみていたYO。。。
>>659 (≧∇≦)ブァッハハ!
661 :
655 :03/01/14 04:52 ID:hZLDsUe8
>>660 氏
無事改造できました。いやー助かりました。
どうもありがとうございました。
662 :
nobodyさん :03/01/14 05:52 ID:H5j11McP
663 :
nobodyさん :03/01/14 14:10 ID:VUdpm8ck
665 :
nobodyさん :03/01/14 18:31 ID:5gQYQZhs
667 :
nobodyさん :03/01/14 20:44 ID:+oyPgr4P
1行目とは?
>>665 使い古されたアレだが、500だけじゃ何がエラー原因か絶対にわからん。
ローカルで試してエラーメッセージを確認してから出直して来い。
669 :
nobodyさん :03/01/14 21:11 ID:+oyPgr4P
ローカルで試せってどうやって?
>>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
671 :
668 :03/01/14 21:27 ID:???
おお、親切な
>>670 がエラーメッセージを出してくれたぞ。
これで意味がわからなければ
>>665 はもうプログラムいじるのやめろ。
これが理解できないようであれば、これから先他人に迷惑かけるだけだから。
>>669 ActivePerlとApacheを入れる。
詳しくは、ググル
>>665 なるほど、、ランキングを付けようとされてるのですね。
そのために追記された305行目の
elsif ($act eq "ranking") {viewranking();}{
}
のブラケット使い方、条件分岐の使い方が間違っています。
そこの部分を元に戻して
321行目の}の後に
elsif ($act eq "ranking") {viewranking();}
とでも入れてください。。
674 :
600 :03/01/15 11:54 ID:???
>>600 で
掲示板の書き込みで
”>”のような引用を使うとその一文の文字色が変わり
背景色がつけられて 目立つ
ってのを教えてもらった者ですが
このCGI携帯からも閲覧&書き込み可能なのですが
携帯から見た際には反映されていませんでした
携帯でアクセス際にも反映させるにはどうすればいいでしょうか?
それとも携帯からは無理でしょうかね?
一応ですが携帯でも<font color〜>とかのタグには反応するので・・・
テキストは
ttp://www23.tok2.com/home/fura/yybbs.txt です。
(トクトク仕様で見づらいですがソースで確認お願いします)
よろしくおねがいします
>674 携帯用のHTMLタグを勉強汁!!
676 :
山崎渉 :03/01/15 13:31 ID:???
(^^)
>>674 なんだあ、このテキスト?
トクトク仕様で見難いんぢゃなくて
お前の脳内仕様だからダメなんだよ
教えた香具師も報われないな(w
暇だったから覗いてみたが、時間の無駄
>>678 600以降のやり取りと674のテキストをみてマターリできるような香具師ははっきり言ってキモイ
>674 よく分らないテキストはうっちゃっておいて。。 どのみちスタイルシートと同様で 全ての携帯向けに背景色を指定するのはできませんし <FONT color=〜で文字色にて目立たせるか <B>などで強調して表示させるほうがベターなのではないでしょうか。
681 :
600 :03/01/15 15:59 ID:???
お騒がせしてスマソ
テキストはこちらで
http://www23.tok2.com/home/fura/yybbs.bin よく調べればできることでした。見苦しいものを見せてしまって申し訳。
>>680 おっしゃるとおりにしようと思います
背景色設定は無理ですね。
>の引用を使った時に文字色を変えて目立たせようと思うのですが
携帯からの閲覧に反映するには教えてもらった
$commentと$com をどこに挿入すればよいかわからなくて…
たびたびすいませんがわかる方よろしくおねがいします。
>>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";
こんな感じにです。ここも携帯向けのタグを指定します。
とりあえずはこんな所だろうと思います。。
683 :
600 :03/01/15 17:35 ID:???
>>682 丁寧な説明でわかりやすかったです。
無事できました。
どうもありがとうございました。
最後に自分のせいで
お騒がせして申し訳ありませんでした。
684 :
621 :03/01/15 17:35 ID:6md+W64o
>>673 elsif (($act eq "mainframe") || ($act eq "changeframe")){
}
elsif ($act eq "ranking") {viewranking();}
でいいってことですか?これでやったらまた500えらーがでました
>>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();}
全部書くとこうなります。。。
>>685 これでも表示できないようなら
jcode.plを同じディレクトリに設置し忘れていないかを確認してください。
688 :
nobodyさん :03/01/15 18:28 ID:6md+W64o
行番号表示するエディタもってません、 なんかいいやつありませんか?
>>688 そうですねーエディタを人に勧めるのは難しいのですけれど。。
メモ帳を使用しているのなら・・・同じようにシンプルでクセの無い
TeraPad を勧めておきます。
690 :
nobodyさん :03/01/15 19:23 ID:ZEY+vyxw
TeraPadをDLしましたが行番号のところやっても全然違うところぁ なんかできない
>>690 設定がおかしいんだろ?
できること全部やってから弱音吐け。
たった一時間でそのエディタの全部がわかったとか言うなよ?
>>690 わーお!!
速レスで分かりませんでしたか。。
ひょっとしてネタなんじゃ・・・いや、ネタでもマジでもいいのですけれどね。。
もう一度返答するのでしばしお待ちくださいませ。
夕飯に食べる物が無かったので外食してきます。
>>684 use CGI::Carp qw(carpout fatalsToBrowser);
2行目あたりに入れて実行してみ
696 :
nobodyさん :03/01/16 16:35 ID:HW8AcD+V
697 :
nobodyさん :03/01/16 19:41 ID: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; よろしくっす。
699 :
nobodyさん :03/01/17 16:33 ID:1khKuUwT
701 :
700 :03/01/17 19:55 ID:???
ところで誰か 動作報告くれないかな? 動いたサンプル数が自分の所含めて1〜2のまま配るのはコワイ(w 虹板のうpろだスレのほうがいいかな?
702 :
nobodyさん :03/01/17 20:56 ID:15DclOIz
>>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しておいて
修正後のファイルを公開、修正前のファイルは自分のレス用にする
こんなでどうかな?動作確認してないし、
漏れ初心者だから動かなかったらごめん。
>>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 ていわれる・・・
どう改善すりゃいいんかね??
すなおに0chでもつかってお(ry
0ちゃんねるは将来がたのしみなところ。 いまはまだ〜 16歳だかr
708 :
nobodyさん :03/01/18 14:25 ID:jS0nQcA8
>>703 さん
教えて下さって有り難うございました。
出来そうです!!!
>>707 Cool Board v4.6のファイルのフルセットである場所はどこ?
配布元へ逝ったらバージョンアップされていてv4.6は手に入らなかったよ
710 :
707 :03/01/18 20:22 ID:???
711 :
707 :03/01/18 20:26 ID:???
あ、メイン表示じゃなくて設定ファイルだった。すんません。
699なんですが・・・。どなたか答えていただけないでしょうか? 手間だということは分かっているんですが・・・。
>>713 214行目にいきなり $num って変数でてきてるけど、
>>699 にアップしてるファイルは
自分で改造を試みた途中のもの?
それと設定ファイル別ですってそれないと確認のための動作テストもできないし。
レスつかないのも当たり前と思うが
とりあえず勘で。186行目から
if ($reno eq "") { $i++; $num=0;}
if ($i < $start) { next; }
if ($i > $end) { next; }
$num++;
715 :
nobodyさん :03/01/19 23:00 ID:aB6Qct6i
>>715 無理。table使っているし携帯のコンパクトHTML対応していない
対応しているBBSを探してつかった方が吉。
717 :
715 :03/01/20 00:27 ID:???
719 :
nobodyさん :03/01/20 01:58 ID:K3JQNvbX
720 :
715 :03/01/20 16:25 ID:???
>718 ありがとうございます。見てみます!
721 :
nobodyさん :03/01/20 22:51 ID:VXONO5Hx
凄く初歩的な質問ですみませんが、ご教授お願いいたします。 kent氏のYY-BOARDに、「年齢」や「仕事」などの質問項目を入れたいのですが、 どこを触ればいいのか、わかりません。 本当に申し訳ないですが、どなたか教えて下さい。 よろしくお願いいたします。
ここで質問する奴に言ってみたい。ていうか、ぜひ答えを聞かせて欲しい。 「身銭切って改造頼むのはなしなのか?」 いやさ、その方がどっちも幸せになれると思うんだよ。
>>722 既存のスクリプトに機能を足すだけで身銭を切る必要があるのかが疑問。ただ単に
高機能な掲示板が欲しいとかだったらいくらでもフリーのものがあるわけだから
ここで聞いてる厨はスクリプトを自力でなんとかしようってしてるだけマシだと
思うが・・・。金、払っていいものできてもそれじゃあいつまでたっても自分じゃ
かけるようになれんしね・・・とマジレスしてみる。
Perlのパの字も分からなくてさ、自分で改造する気もなくて 自分の使うのに都合良いスクリプトだけ欲しいから 全部ソース書いてくれってのも、たま〜にいる気がする。
>>723 ここに書き込んでる時点で自分でなんとかしようとかいう気はないと思える。
>>721 とか見てみろ。
>>1 に
「(3) 出来るだけ詳しく書くこと。少しは自分で考えること。」
と明記されているにもかかわらず
「どこを触ればいいのか、わかりません。」の一言で努力の一切を放棄してる。
言語を学ぶ気がないなら、かわりに金で解決するのも立派な手段だと思う。
だけど、言語を学ぶ気もなく、金を払う気もないなら、
厨呼ばわりされたってしょうがなかろよ。
まあ、身銭ったってさ。
誰かが「アフターサービス一切なし、一項目の改造につき300円」とか言い出せば、
ここに書き込んでる連中はなんて反応するだろうね。
>>725 リア厨(中学生)のできる香具師なんかが
バイトさせてとか言い出しそう(w
>>725 一項目の改造につき300円、そんな事言った日には「ムンクの叫び」だろうか?
・・・・つーか安いよな?
これで欲しい機能が確実に手に入るなら逆に喜ぶんじゃないのかw
入会金が3000円で、年会費が12000円です。
731 :
725 :03/01/21 20:37 ID:???
>>727 実は安くならない。マイクロソフトのサポート風にやるから。
たとえば、
>>721 を顧客とするなら、
「二項目なので600円いただきます」
追加されたフォームの位置が気に食わないとクレーム
「二箇所のフォームの位置変更ですのでさらに600円いただきます」
とできる。
アフターサービスはしないって明言してるしね。
動作確認(これは最後の良心)も含めて10分で1200円手に入るなら、御の字じゃねえ?
他にも、
>>719 が顧客だったら、
「複数箇所をいじらなければならなかったので600円いただきます」
http://pc.2ch.net/test/read.cgi/php/1037222063/790-793 が顧客だったら
「FTPのアカウントとパスをいただければ300円で設置をします」
とかね。
お前ら2chのスクリプト改造工房にいる以上は金の話はやめれ
734 :
真実事実をご覧ください。 :03/01/23 06:30 ID:w3+JDQYa
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| マスター〜2chの文字絵はAA(asciiart)ではなくJISアートだが
| なぜアスキーアートと嘘の情報が信じられているんですか。
|
http://www1.ryucom.ne.jp/papa/asciiart.htm ←ココ文字絵理論
|____ _______________________
V
___. ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ / │ (´Д`;)△ < 2chの管理人に聞けや…
( ・∀) / 凸 │ ( つ つ\ 目\___________
( `つ日 凵 | ││ │ .|\凸./ |
┏(__ /.Y │ (__(__)\| .|\| |
┗┳┳(___| ̄ ̄ ̄ ̄'| \| | |
┃┃ | | \.| │
┻┻ | |
735 :
nobodyさん :03/01/23 07:00 ID:MK3OE1fp
736 :
696 :03/01/24 18:09 ID:/AgT52LQ
先日はichtに発言ランキングをつける改造を教えていただき誠に有難うございます。
ICHATはアイコンが使えます。
来る人来る人アイコンをチェックします。
だから掲示板みたいにアイコンを表示する機能の改造の仕方教えてください。
ICHATソース⇒
http://csx.jp/~feger/ichat.txt
>>736 相変わらず、あやしい言葉使いだ。
改造の必要すらないよ。
仰るとおり、アイコン機能は実装されています。
興醒めです。。
738 :
696 :03/01/24 18:27 ID:/AgT52LQ
おしえてください。
カカシさん、あなた一人で十分対処できます。 過去ログを見る限り、キリが無いので私はもうコメント致しません。
741 :
nobodyさん :03/01/26 16:02 ID:28lAB0x2
>>741 ページが見つかりません。
なんかこのスレ、金の話がでていらいちょっと・・・。
743 :
740 :03/01/27 03:17 ID:???
引用の考え方としては、 >のある行の行頭に<BLOCKQUOTE>、 それ以降の>のない行の行頭に</BLOCKQUOTE>でいいんでしょうか?
まるちぽすとはやめれ!
放置って740からのカキコじゃないの? まだ1日しかたってないじゃん
>>746 そう言われるとそうですね。
他のスレにいついてるので、感覚が狂ってました。
>>744 というわけで、ごめんなさい。
イタイなー
えと、他のスレで聞いてきたらスレ違いでしたのでこちらの方に誘導されてきました。
本題です。
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
>749 >では、宜しくお願いいたしますです・・・。 ハァ?(゜д゜) 俺はお前の下僕でもなけりゃお客様でもないんだよ! なぁにが「では、お願いします」だ。 アフォ化、自分の希望通りにしたかったら金払って改造してもらえヴァカ! こっちは有志だってこと忘れんなよ!
道に落ちてるもんでも食ったのかお前?
752 :
749 :03/01/27 21:18 ID:???
>>750 申し訳ないです。
私の人に物を頼む態度がいけませんでした。
まあ、ここの連中は金に目がくらんで以降何にもしてないわけだが。
755 :
nobodyさん :03/01/27 23:10 ID:Wa/8lWRk
756 :
755 :03/01/28 00:13 ID:CvJ+0lN2
なんかほんとこのスレ金の話がでてからダメだよな・・・
でも誰も質問には答えないのな。
俺もダルいから答えたくないし。
>>749 なんかは
「なんでそこまでわかってて自分で作れないのか?」と疑問に思うけど。
>>758 みんなダルいんじゃない?金もらえないから。
>>761 配布されてるスクリプトのトラブルは、まず配布先に聞け。
763 :
nobodyさん :03/01/28 20:03 ID:NiVVWd4k
FORMタグがあると一行あくから、それじゃない? <FORM>を問題ないところまで(?)上に持っていく、で大丈夫かな? やってみてー
>>766 マークアップが変。
・<form>の直前の <hr></p> を </p><hr>の順にする。
(p要素の中にブロックレベル要素であるhrが入るのは間違い)
・CSSに以下を追加
form { margin-top: 0 }
ついでに、body内にもstyle要素があるけど、headのほうにまとめたほうが
いいと思う。
>>765 >>767-768 できましたー!!
どうもありがとうございます
意見を参考にして色々いじくってたら奇妙な隙間が消えました
ほんとありがとうございました
770 :
nobodyさん :03/02/03 17:10 ID:5qWxw95W
入室時及び退室時の挨拶 # NAME のところに挨拶する相手の名前が自動的に入ります。 $admin_entermsg = 'ランダム'; $admin_byemsg = 'ランダム'; これでなります。
772 :
nobodyさん :03/02/03 18:03 ID:tT3xOrLs
>>770 エラーが出ます。
ソースが変です。
}
elsif ($act eq "ranking") {viewranking();}{
}
は何?
>>772 ichatに関して聞いてる奴はもう放置で良いかと
少しもPerl勉強する気無いみたいだしな
775 :
nobodyさん :03/02/06 13:25 ID:mhsFcb8i
776 :
775 :03/02/06 14:22 ID:???
>>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行で置き換えると近い処理が出来るはず。
どこを書き換えるかは自分で探すべし。
どうもありがとうございました。 こんなに早く回答していただけるとは思いませんでした。 おかげで無事設置できました。スタイルも自分の思ったとおりで満足です。
メールでも記事が書き込めるようにする改造って簡単には出来ないですよね。。。
>779 独り言なら脳内に留めておいてくれ あんた次第だよ
.qmailを置いておけばOK
そうか、ググって見つからないのか。難しくて大変だったな。
>>782 メールの受信をキーにしてCGIを動作させるということは、普通できないものだと
認識すべし。
一定時間ごとにCGI実行というのも同様。
やろうと思えばできないこともないが、たいていは自宅鯖などでroot権限がないと
ダメなことが多い。プロバイダや共用サーバ利用者はまず不可能。諦めれ。
まあ、(脳内で)できないわけじゃないけど…… ユーザがメールを送信する(手動)それを反映させるために、 1.他人が日記を開いたときに時刻チェックをする。 2.以前のチェックから数分時間が経過してたら メールサーバに接続・データ受信。 3.その内容をHTMLに反映させる。 これでどう?IMAP関数とかあるからPHPなら簡単にできそうだけど…… 問題点は、メールの送信元チェックとかしっかりしないと 誰でも書き込めるという罠があるかもしれない。
>>786 そりゃそのまま挿入しても動かんな。
フォームデータが入ってるハッシュの変数名が違ってるし、無関係な処理も含んでる。
キーは同じみたいだけど、そもそもそのソースはどっから持ってきたんだ?
まあいいや。とりあえず $in → $FORM に直してから
#情報の修正(名前) とか書いてあるあたりに突っ込んでみれば?
先頭のほうに use CGI::Carp qw(carpout fatalsToBrowser); って書いておけば
エラーがブラウザで見れるから、あとはそれ見ながら自分で直せ。
>>786 どうもです。
とりあえずやってみて過程と結果報告します
>>789 ところどころ $$FORM になってるところがあるぞ。大丈夫か?
プログラムなんだから、1文字でも違ったら動かないよ。
あと、unlessは制御構文であって、ユーザー関数ではないんだが…。
Perlの基礎をこのスレで質問されても困る。自分で調べて学習すべし。
逝ってきます・・・ショボーン
792 :
nobodyさん :03/02/09 17:15 ID:FJkJ4b09
793 :
れもん :03/02/09 17:19 ID:???
お前等いいか!! ラーメソだぞ!!ラーメソ!!!!! 俺は30分でどんぶり3杯も食えるんだぞ!!! 博多の冬は寒かったんだぜ。
794 :
れもん :03/02/09 17:19 ID:???
脳内妄想が俺の技だぜ
>>792 214行目、メニュー部表示の「#新着スレッド」内の以下の部分
if ($i >= $menu) { last; }
この$menuを、スレ一覧で出したい数にすればいいみたい。
テーブルの数は従来どおり、冒頭の$menuで設定。
例:if ($i >= 100) { last; }
テストしてないんでうまく動くか分からんけど。
796 :
nobodyさん :03/02/09 17:44 ID:FJkJ4b09
>>795 返信ありがとうございます。
nobodyさんの例の様に、100でやってみました。が
新着スレッドもそれに続くテーブル数もやはり同じ100に
なってしまいました。
797 :
795 :03/02/09 17:48 ID:???
>>796 あっ、ごめん。
そこは読み込む行数を決めてるとこだから、そりゃ両方変わっちゃうわな。
ちょっと今考えるから。ただこのあと用事があるからあとになるかも……
798 :
nobodyさん :03/02/09 17:49 ID:FJkJ4b09
はい!よろしくお願いします。>nobodyさん
>>796 わかった。たぶんこれでいいと思う。
すぐ下に「#スレッドリンク」ってのがあって、 foreach (@num) { っていうのが
2つあるよね。
この2番目のほうをこう書き換える。
for ($i = 0; $i < 10; $i++) {
10の部分が、テーブル表示数。スレ表示数は$menuで設定(さっきと逆)。
これでいいはずなんだけど……
800 :
nobodyさん :03/02/09 18:00 ID:FJkJ4b09
foreach (@num) { → for ($i = 0; $i < 10; $i++) { に書き換えるのですか?
801 :
nobodyさん :03/02/09 18:03 ID:FJkJ4b09
>>801 またごめん……
追加した次の行にこれを追加。
$_ = $num[$i];
なんかミスが多くてすまんです。
803 :
nobodyさん :03/02/09 18:13 ID:FJkJ4b09
ちなみに $menu = 5 です。
804 :
nobodyさん :03/02/09 18:26 ID:FJkJ4b09
805 :
nobodyさん :03/02/09 18:40 ID:KhuXu5ko
nobodyさんへ できました!本当に感謝します。ありがとうございました。 多分OKだと思います。
806 :
nobodyさん :03/02/09 18:49 ID:KhuXu5ko
すいません。805です。 少し問題が生じたのでよろしくお願いします。 スレッド一覧の部分で、下のテーブルに表示されている数の分はリンク できているのですが、それ以上のリンクになると飛んでくれません。 どうでしょう?
>>804 よく見たら、スレ一覧でテーブルの出てないスレは、クリックしても無反応に
なっちゃってる。(アンカーが同じページ内のテーブルになってるせい)
こりゃCGIのもっと奥のほうから直さないとダメかもしれんね。
お役に立てずにすまんこ。
>>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 は削除したほうがよいと思われ
あー、より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"; }
俺もやってみたけど先を越されてしまったのでフォローだけ。
>>808-809 に加えて #スレッドリンク の少し上、@numを取得するところの
if ($i >= $menu) を if ($i >= 10) に、
スレッドを表示しているところの foreach (@num) { を
for (my $i = 0; $i < $menu; $i++) {
$_ = $num[$i];
とすればいけると思う。
おかげさまでなんとかトリップ機能が動きました。
でもまだ問題があってindexを開いた際にクッキー情報の名前もトリップ変換してしまい名前欄を
はみだしてしまいます。
396行の名無しさん処理のunless()のあとelse{}で398行〜425行のトリップ処理を加えました。
これを何行目あたりに入れることでこのバグを回避できますか?
自分でも悩んでるんですどうも全体の流れがつかめないもので・・
こちらでソースは更新しました。
http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs3.txt よろしくお願いします
>>811 クッキー発行の処理してからトリップ変換すればいいんじゃないの?
試してないけど
>>813 具体的に行番号とか構文で言っていただけるとうれしいです。
流れがわからないんで
プログラムに慣れてる人でも、他人の書いたソースの流れをつかむのは一苦労なんだよ。
>>814 見出しだってちゃんとでてるのに。世話のかかる子ね。
これでなんとかならんか。試してないけど
クッキー発行の処理してからトリップ変換をする。
#==================================================
# 情報の修正(名前)
#==================================================
{
foreach $key ('FROM', 'MESSAGE', 'mail') {
$FORM{$key} =~ s/</</g;
$FORM{$key} =~ s/>/>/g;
$FORM{$key} =~ s/\"/"/g;
$FORM{$key} =~ s/\r\n|\r|\n/<br>/g;
}
}
(中略)
#==================================================
# クッキー発行 (440行目付近)
#==================================================
{
(中略)
}
#==================================================
# トリップ変換 (クッキーの処理終わった後に挿入)
#==================================================
>>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);
}
#==================================================
# パス情報(名前)
#==================================================
すんません。 恩にきります。何かこのスレに役立てるよう俺もがんがって覚えます。
820 :
816 :03/02/10 13:00 ID:???
> まだindexで名前欄にトリップがめりこんで残ります。 フォームの名前欄に変換後のトリップが残ってるってこと? 「めりこんで残ります。」って表現の意味がわからないです。 実際に動いてるとこ見せてくれます? それか元のスクリプトってどこで配布してるやつ教えてください。 どうなってるのか自分の目で見てみたい。
すみませーん
取り込み中みたいですけれどスクリプトをいじくって貰いたく来ました
えーとこれです
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>を抜いた事によってうぷろだの表示がずれてしまいます
スタイルシートの方法じゃ無理なのでしょうか
話が脱線してしまいましたが
どうかもし暇な方が居られたら、よろしくお願いします
822 :
nobodyさん :03/02/11 08:22 ID:R89Bia6B
>821 スクリプトじゃなくてhtmlの段階だと思うんだけど、 文字サイズじゃなくてテーブルの幅を固定したいってことで良いのかな? print "<th>Comment [[[この↓部分です]]</th>\n" if($commente); ってところの<th>を<th width=\"300\">とかにしたら良いんじゃない。 300の部分は勝手に変えるよろし。
>>822 説明の仕方が悪くてすみせまん、テーブルの幅ではなく 文字サイズです
具体的に言うと
[[[この下の部分です]]]の下にある場所の
CNN スペースシャトル と表示されている場所の文字の大きさ(サイズ)を固定したいのです
えーとわかりやすくhtmlであぷしてみました
http://mint363.ddo.jp/test.html これだとブラウザの表示サイズが「大きい」だとずれてしまうので
表示サイズ中で見て下さい
何がしたいのかというと
観覧者のブラウザに関係無く
どのブラウザで見ても上にupしたhtmlのように見せたいのです
長くなってすみせまんでした、助言頂けると幸いです
>>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のように見せたい、そのために文字の大きさを
固定したいという考え方には言いたいことあるけど、そういうスレじゃないのでやめとく。
825 :
821 :03/02/11 15:06 ID:???
>>824 できました!
どうもありがとうございます!!
自分ではcgi作成(1から)の経験が無いので本当に助かりました
>どのブラウザで見ても上にupしたhtmlのように見せたい、そのために文字の大きさを
>固定したいという考え方には言いたいことあるけど、そういうスレじゃないのでやめとく。
やっぱりそうですよね
html勉強時代何処かで固定は良くないとかありました
けれどやっぱり自分のこだわった大きさで見てみたいなーと思ったり
何はともあれ教えてくれてありがとうございました
なんかさ、最近勉強する気がない覚える気が無いお願い厨が多い気がするんだが・・・。
ていうかWebProgじゃないよな…
828 :
nobodyさん :03/02/11 19:57 ID:DLCyWGmC
&get_date; if(!$name){$name = "名無し";} if(!$subject){$subject = "無題";} if(!$pass){&error("削除パスが記入されていません");} if(!$comment){&error("コメントが記入されていません");} このようなエラーサブルーチンに投稿バイト制限を付けるにはどうやったらいいんでしょうか?
829 :
828 :03/02/11 20:02 ID:DLCyWGmC
厳密には1KB以上の投稿を受け付けないようにしたいのですが。
たびたびすんません。 cgiの生ログの閲覧禁止とパーミッションに関してはどこで質問したらいいですか?
>>830 DocumentRoot以下には置かないようにするとか、suEXECが有効になっているのならば所有者以外の権限を全て奪うとか。
infoseekなんでかどうかわからないんですがパーミッションをffftpでオーナーだけ実行できてグループとその他は 呼び出しだけにすると403なんですよ
>>828 if (length($comment) > 1024) { &error("コメントが長すぎます"); }
>>832 セキュリティを気にするならinfoseek(isweb)はやめましょう。
>>832 パーミッションは実際に設定した数字で書くこと。
その文章だと744になるが。
つーか、質問の意味が全然わからん。
836 :
828 :03/02/11 20:24 ID:???
837 :
828 :03/02/11 20:36 ID:???
>>835 すみません。
700、744、705、755、を試しましたがCGIから書きこみができません。
サーバ規定的な問題みたいなんでレンタル板で手っ取り早く借りれる
無料CGI鯖探してきます。それでまだだめならまた寄せてもらいますわ。
どうもありがとうございました。ペコリ
>>838 阿呆だなあ。
それログファイルのパーミッションか?
あと、infoseekはCGIがnobodyで動くの知ってる?
基本を理解してなきゃ、鯖変えても同じだよ。
>>840 スレ違いどころか板違い。失せろ!
レン鯖板いけ!
842 :
初心者 :03/02/12 14:44 ID:pNFQ2drR
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(文字列変換)で切り取り。
としているのですが、まだ問題があるでしょうか。
844 :
843 :03/02/12 19:49 ID:???
ソースの一部は ======================ジャバスクリプト===================== ヘッダー部分に <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> ==========================================================
845 :
843 :03/02/12 19:50 ID:???
===================================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にするしかないでしょうか?
新しくサイズ指定でウィンドウを開く方法他にありますでしょうか?
良い案がありましたらご意見お願い致します。
新語誕生ッ
☆★☆★第3回2ちゃんねる全板合同迷惑メール業者訪問祭り!★☆★☆
シャットアウトしても送って来る未承諾メールにブチキレてるあなた!
何度も何度もしつこく送って来る非常識なメールにイライラしませんか!?
私達は今夜、そんな出会いサイトに「訪問」(※注)する祭りを盛大に開催します!
2ちゃんねる全板合同です!是非とも皆様お誘い合わせの上、ご来場ください!
老若男女問いません!初心者大歓迎!一緒に彼氏・彼女をつくりましょう!!!
(↑本音とタテマエ)
訪問開始予定時間 午後9時00分決行予定!
総本部URL
http://jbbs.shitaraba.com/news/938/ (※注)あくまで「訪問」です。(笑)
物騒な事を書くと削除されちゃいますから。(←この意味わかります?)
それから「訪問」の主旨と無関係ですが、各種「訪問道具」も取り揃えております。(笑)
スレ汚し失礼しました。
849 :
843 :03/02/13 20:35 ID:???
エンティティ…(悶) 他にも間違いが…どうもすみません。 やっぱりJavaScriptは使わない事にしました。 お騒がせ致しました〜とほほ
なんかむちゃくちゃだな・・・。
#タグの使用禁止 $value =~ s/</</g; $value =~ s/>/>/g; タグを禁止にして、特定のタグだけを使用可能にするにはどうすればいいんでしょうか?
>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タグを復活、後は自分で考えて。
>>853 最大登録件数なんかねえじゃねえか。脳内仕様もいい加減にしろ。
最大ファイルサイズ変えたけりゃ、スクリプトの最初に出てくる数字をいじれ。
855 :
851 :03/02/19 19:39 ID:???
>>852 大変参考になりました。ありがとうございました。
後は自分で考えて改造に励みます。
856 :
851 :03/02/21 08:01 ID:???
すみません、考えてもどうしてもわからなくて、また質問します。 #タグの無効化 $value =~ s/</</g; $value =~ s/>/>/g; #<del>の許可 $value =~ s/<del>(.*)<\/del>/<del>$1<\/del>/g; #<del>を許可 このように記述してみたんですが、この記述だと文章中のタグ一つしか変換しないみたいです。 何回も変換するようにするには、どうすればいいんでしょうか?
857 :
:03/02/21 12:55 ID:???
>851 #<del>の許可 $value =~ s/<del>([\w\d\s\t\+\*\.\,\(\)\!\"\#\$\%\'\=\~\`\@\{\[\^\]\}\:\;\/\\\_\>\<]*)<\/del>/<del>$1<\/del>/ig; #<del>を許可 これで一応は動くけど文中に&は使えなくなる。 何か一個全角に・・・「文中に&(半角)があったら&(全角)にする。」っていう対策で一応はクリアできる臭い。 $value =~ s/\&/&/g; #コレ ゴメン漏れの力じゃ<を除外してマッチングさせるのは解らなかった・・・道場かどっかで聞いて・・・。
858 :
857 :03/02/21 12:58 ID:???
ゴメン、&消すのが一番早いわ・・・。 つかなんか犠牲にしれ、もしくはエロイ人来るまでまってれ。
すごい正規表現やね。。
単に
>>854 は最長マッチになってるだけなんぢゃ・・・・・・
>>856 お兄さん最長マッチしてやすぜ。
$value =~ s/<del>(.*?)<\/del>/<del>$1<\/del>/g;
かぶったな・・・
被ったままじゃいかんと思ったのでついでに、 複数のタグを許可するときは $regexp = "(del|b|small|em|strong)"; $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/<$regexp>(.*?)<\/$regexp>/<$1>$2<\/$3>/g;
ついでにisoも追加汁
括弧と全角&もw
867 :
851 :03/02/21 19:19 ID:???
>>861 さん
ありがとうございます。この方法で解決しました。
レスを下さった皆様、本当にありがとうございました。
868 :
nobodyさん :03/02/21 21:01 ID:/aoYgsJG
>>868 どこに表示したいの?
たとえばフレームとか別な窓とか
870 :
nobodyさん :03/02/22 16:58 ID:I8wQ3PSP
下のフレームです。 参加者(1): 健太@ROM
>>870 いつ状態をCGIに引き渡すかにもよるな。
それを教えれ
873 :
872 :03/02/23 09:13 ID:???
>>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>
874 :
872 :03/02/23 09:23 ID:???
#最後にCGIに送られてきたデータを受け取る。 450行目付近に、「$name = $FORM{'name'};」 とある。これを、状態の情報を受け取るために 450: $nametemp = $FORM{'name'}; 451: $status = $FORM{'status_form'}; 452: $name = $nametemp.$status; に入れ替える。
875 :
nobodyさん :03/02/23 11:23 ID:9SQ36OP6
877 :
nobodyさん :03/02/23 20:22 ID:OjosXiHY
878 :
872 :03/02/23 21:31 ID:???
>>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;
に書き換える。
#いちいち連結するのは改造箇所を減らすためと思ってくらさい
879 :
872 :03/02/23 21:38 ID:???
#最後に発言用フォームを改造。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> と記述。 #状態の言葉を長くしすぎると画面が激しく崩れます。 #まだまだ良い方法があるとは思いますが、とりあえず同じ処理をば。
880 :
872 :03/02/23 21:43 ID:???
>>879 訂正。
570: 「<td bgcolor=$table_color_2 colspan=3>$name」
のすぐ下(571行目くらい)から
571: <select name=status><option value="">(なし)</option>
::::::(略)
579: </td></tr>
と記述してくださいな。
881 :
872 :03/02/23 22:36 ID:???
>>877 自身の手による改造のために簡単に説明を。
@status = ・・・で状態を配列に代入しているが、これを使って後で
foreach ・・・でプルダウンメニューを作る。
メニューで選ばれた「状態」はCGIに送信されてくる。
それを名前を受け取る処理と同じように行い、名前と状態を連結して同じ変数Bに格納する。
で、もとの名前を表示する変数Aの代わりに変数Bを用いて、その後の処理を行う。
メリット:改造箇所が少ない。ログの形式が変わらない。
デメリット:フォームが増える。入力内容はメニューの内容に限られる。
882 :
nobodyさん :03/02/24 17:17 ID: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を用いて、その後の処理を行う。
これは、どういう意味なんでしょうか?
質問ばかりですいませんが、宜しくお願いします。
883 :
872 :03/02/24 18:32 ID:???
884 :
872 :03/02/24 18:47 ID:???
>で、もとの名前を表示する変数Aの代わりに ってのは、受け取った名前の変数($namet)の値と状態の値($status)をくっつけて、 名前の変数($name)にまとめて入れる、ってこと。 こうすると改造箇所が無駄に増えるのを防げるなと思った。それだけ。 連カキスマソ。鬱
885 :
nobodyさん :03/02/24 19:59 ID:80HVp5Lh
ん、とてつもなく難しいぃ 困ったなぁこんな難しいとはおもってなかったぁ・・。 第一どこにどういれるかとかまったくわからないぃ。
886 :
nobodyさん :03/02/24 20:00 ID:RRWzLh+f
887 :
872 :03/02/24 21:18 ID:???
889 :
nobodyさん :03/02/25 17:07 ID:9GtyGnjs
変数とかってなんなんですか?
889の存在意義とかってなんですか?
>>894 何の桁数よ。
質問者が手抜きをするのはいただけないな。
3桁の投稿コードを6桁位に増やしたいんです。 見た目的に荒らし防止になると思いまして・・・
スクリプトをちらっと見たけど、一応、 なんか意味があって3桁にしてるみたいだね。 下手にいじる必要はないんじゃない?
898 :
nobodyさん :03/03/03 12:59 ID:VIdRJxPn
すんません、どうも行き詰まってます。
BBS Note 7.xにトリップ機能を付け加えようとしてるんすけど、いい塩梅にいかねっす。
テキストはこれなんすけど、
http://mage.free-city.net/bbsnote.txt この中の 書き込み処理全般 のとこにトリップ処理の記述を追加したところ、
トリップ変換そのものは上手くいくようになったものの今度は名前の表示が
マトモに出んようになりますた。
よろしくご指南おながいします。
900 :
899 :03/03/03 22:54 ID: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; }
901 :
899 :03/03/03 22:56 ID:???
訂正 誤 $trip = substr(crypt($key, $salt),-11); 正 $trip = substr(crypt($key, $salt),-10);
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール
[email protected] グローバル探偵事務局
>>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>" : '';
905 :
898 :03/03/04 02:37 ID:???
>>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にメアドが文章として含まれちゃうんですよ
よろしくお願いします
906 :
poor :03/03/04 05:15 ID:pSR3aMdf
2箇所機能的に動かなくて困っています。 誰かPerlに詳しい方はおられますでしょうか? 直されましたら5000円お支払います。 ご連絡おまちしております。
>>906 詳しいやつなどいくらでもいる。
内容もわからずにどうしろっていうんだ?
5000円で見合うかどうかもわからないのに。
そもそも、ここは改造スレ。
>>1 をよく読め。
908 :
poor :03/03/04 11:30 ID:pSR3aMdf
では 正しく動くように改造してください。 メールアドレスを下さい。 添付でファイルを送ります
>908 失礼な香具師だな。 金出せば動くと思ってるボンボンか? 正しく動くってなんだよ! エラー出してるとこ一戸ずつ削ってケや! それで動いたら正しく動いてる。
>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が出来上がるが、これじゃ駄目?
911 :
poor :03/03/04 12:28 ID:pSR3aMdf
でわスクリプトを見てください
しかもマルチか。
913 :
nobodyさん :03/03/04 17:29 ID:jIWPHT84
YYCHATで、 発言毎に日時の右側にIPを表示するようにしたいのですが、 どうすれば良いのでしょうか?
914 :
899 :03/03/04 20:33 ID:???
>>904 >>910 ご指南いただいた通りに直したら、ちゃんと名前とトリップ出せたっす。
どうもありがとうございますた。
>>897 そうなんですよね・・・
なのでどうしたらいいか分からなくて(;´Д`)
5,6桁のヤツを使っているサイトもありましたが
別の方法でコードを作成しているみたいでしたし、
>>897 だから変える必要はないし、桁数が多いのがいいのなら、そっちを使えばいい。
馬鹿?
918 :
917 :03/03/06 13:45 ID:???
すいません解決しました。
919 :
877 :03/03/06 17:44 ID:qrKweJNz
920 :
872 :03/03/06 20:18 ID:???
>>919 いろんな大きさのアイコン使いたいんだと仮定。
226行目付近、
「@icon_size=(20,20);」
とある行をコメントアウト。
#あまり巨大な画像はやめれ
921 :
nobodyさん :03/03/06 20:32 ID:z1LbRXdZ
コメントアウトというのはそれをけせってことですよね?
922 :
nobodyさん :03/03/06 20:33 ID:z1LbRXdZ
その@icon_size=(20,20);をけしたらアイコンなどつかえなくなりましたよ。
>>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>";
924 :
872 :03/03/07 13:12 ID:???
925 :
nobodyさん :03/03/07 18:01 ID:s5GMjGcA
>>923 のとうりにしたらアイコンが消えました。ありがとうございます。
もう一つ改造したいことがあります。
そのichatに”自分の発言を消去”というボタンがあるんですけど、KENTWEBにあるような
発言を消したらメッセージを自動で書かれる奴にしたいのですが、どうすればよいでしょうか?
例えばその自動メッセージに”クリアメッセージ・・・。”こんなかんじのやつをつけたいのです。
説明不足ですが宜しくお願いします。
927 :
nobodyさん :03/03/07 18:30 ID:s5GMjGcA
>>926 説明不足ですいませんでした。
KENTWEBにあるCOMCHATはclearとかけば文字がけせますよね?
その時に消したことを通知するメッセージを書きたいのです。comchatのように。
宜しくお願いします。
>>916 別のスクリプトは簡単に解析できるので。
>>894 のが私が見つけた中で一番いいかなと思ったので、依頼してみたワケです。
後は自分でやってみます。
929 :
nobodyさん :03/03/08 11:00 ID:MqKsAecY
「comchatのように」っつったって、こっちはcomchatがどんなのか知らん。 Perlに精通=CGIに精通、ってわけじゃないのよ。
931 :
nobodyさん :03/03/08 17:15 ID:Ee7k58Ji
932 :
nobodyさん :03/03/08 21:21 ID:b2yfloXL
お願いします。お知恵をお貸し下さい。
目的のスクリプトは、
2ch風の画像張付(返信にも画像投稿可能)掲示板なのですが、
記事の部分をSQLを使ってデータベースに記録しています。
これをSQLが使えないところで、使いたいので、
なんとか、テキストなりのファイルに記録するようにしたいのですが…
(ちなみに、XREAで設置してみましたが、
すこし、なおして動くようになりましたが、最初の1ページしか
表示されず、生成されたHTMLにアクセスできないという、
よくわからない状態になってしまいました。)
よろしくお願いします。
http://moe.homelinux.net/soft/rev708.zip
933 :
932 :03/03/09 01:56 ID:jq/gPxKU
どうもすみませんでした。 自分でいろいろやってみたんですが、 あれから、全然進展しなくて。 それで、これの参考元をさがしたら… ちょうど、自分の思ってたものがありました! どうも、お騒がせしました。 ちなみに、「鏡のくに」ってとこのスクリプトです。(php)
934 :
nobodyさん :03/03/09 12:22 ID:57f77bEe
935 :
nobodyさん :03/03/09 12:53 ID: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
937 :
934 :03/03/09 13:27 ID:hIa+sLU+
>>936 早速のレス、ありがとうございます。^^
20人位で使おうと思っていて、できれば、
日記が個人別に分かれて欲しいと思っているからです。
個別に分かれていてレスがつけらて、各人の最終更新時間が一覧でわかれば
最高なんです♪
だから、934で書いたタイプにレスをつけられたらいいなぁ〜って思っています♪
こういうタイプは見た事がないので、きっと無理なプログラムばんでしょうか…(T^T)
938 :
934 :03/03/09 13:29 ID:hIa+sLU+
すいません、訂正です × プログラムばんでしょうか… 〇 プログラムなんでしょうか… m(__)m
スレッド型掲示板で代用しる
940 :
nobodyさん :03/03/09 13:45 ID:57f77bEe
( ゚Д゚)ポカーン
942 :
934 :03/03/09 18:22 ID:pZsxM+bP
>>939 レスありがとうございます。
スレッド掲示板ですか…。
それだと、あまり日記っぽくなくなってしまう気がするので…^^;
(わがままいってすいません)
色々機能を満たすのを探すのは、やっぱり難しいですよね… (T^T)
943 :
940 :03/03/09 18:29 ID:KwWbXhd4
よろしくおねがいします!!
944 :
場違いでごめんね。よかったら教えってね。 :03/03/09 23:44 ID: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"のウインドウが開きません・・。やり方がまちがってるでしょうか? 宜しくご指導ください!お願いいたします。
>>944 JavaScriptのことなら、Web製作板へどうぞ。
946 :
nobodyさん :03/03/10 14:41 ID:ZSUpGpYi
>>946 print "</TR><TR>";
どこに入れるかくらいは自分で探すべし(゚Д゚ )
948 :
nobodyさん :03/03/10 16:53 ID:+NULa64Y
>>947 テーブルで画像と本文分かれてるからそれだと無理じゃない?
それ以上のことは俺にはわかんないけど
# ロック処理 # 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関数のファイルロックをつけるにはどうすればいいのですか?
951 :
931 :03/03/10 20:32 ID:wfQN1r0d
/:|. /:| / .:::| / ::| | ...:::|_ / :::| i  ̄ ̄⌒゙゙^――/ ::::::| / :::::::::\ /|・\ ./・> :::::::::\ /ミ\ \ / /彡 i し./:::::::\ / ミ\.\ヽ|||liiiii||/ /./彡 ノ (::::::::::::::::::\ / ミ\\|||iii||l//彡 '~ヽ :::::::::::::::\ /  ̄  ̄,,、 /:::::::::::::::::.\ ファビョ━━━━━/ \ / ,,____ _,/ ̄ \ \ /::::::::::::::::::::::::::::\━━━━━ソ!!!!! \ |.. | /└└└└\../\ /:::::::::::::::::::::::::::::::::/ \ ∨.|lllllllllllllllllllllllllllllllllllllllll| /::::::::::::::::::::::::::::::::::/ \ |.|llllllllllllllll;/⌒/⌒ | ::::::::::::::::::::::::/ \ |.|llllllllll; ./ . . | :::::::::::::::::::/ / |.|llllll|′ / . | | ::::::::/| / |.|llll| | .∧〔 / ::::::::::::::::\ / }.∧lll | ../ / / :::::::::::::::::\ / /| \┌┌┌┌┌/./ /::: :::::::::::::::::\ / ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /::::::::::: ::::::::::\ / ヽー─¬ー〜ー――― :::::::::::::
953 :
931 :03/03/11 17:24 ID:faQewhAO
>>953 いくらおねがいしても誰もやる気ないようだ
自分でできるところまでやってみてそれを元にアドバイス求めれ
>>949 既に解決しているだろうと思うけれど、念のためにカキコすると
flock関数はopen関数で指定されたファイルハンドルで使用するため
指定のルーチンをそのまま置き換えるには無理があるYO
実際はもっと簡単にできる
flock関数を使用している他のソースを調べましょう
956 :
872 :03/03/11 18:47 ID: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;
}
957 :
872 :03/03/11 19:18 ID:k4GIfrjV
>>957 ん? なんで謝るのYO
ファイルハンドルとサブルーチンを呼び出す位置を間違っていなければ
sleepする必要はない気がするけれど・・・構わないんじゃないの
959 :
949 :03/03/11 20:41 ID:???
皆さんレスありがとうございます。
>>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);
これで書き込めたんですが、あっているでしょうか? ファイルロックができているかチェックする方法とかありませんか?
flock( OUT, 2 ) || &error("失敗"); flock( OUT, 8 ); #ロック解除 はいらない
flock( OUT, 2 ) || &error("失敗"); ??
>>959 あってるYO
ファイルロックのテストは、適当にfork関数で多数の子プロセス上で排他処理させるか
指定時刻にファイルの読み書きのループを一斉に開始するスクリプトなどで
気の済むまでやるしか無いでしょう
もちろん、後からでも正常に処理できたかは分るように、読み書きする内容はキチンとプログラムしましょう
あ・・・テストは自分のPC上でローカルでどうぞ
>>959 危なっかしいけど、まあいいだろ
ロック解除は不要
966 :
949 :03/03/12 18:36 ID:???
皆様ご親切にありがとうございました。
>>964 さん
この記述は危ないんですかね?
>>966 この部分だけじゃ$logfileがどの程度重要なものか
わからないけど、十分な安全性があるとは言えないな
>>967 $logfileが重要かどうかではなくて、その内容によるYO
>>966 ファイルロックトも兼ねてテストすれば、問題点はすぐに気が付くハズ・・・
>>968 なんだ・・・ファイルロックトって(w
ファイルロックだYO
open(OUT,">$logfile") ←この時点でファイルはクリアされる ←ここで別プロセスがファイルを操作する危険も flock( OUT, 2 ); print OUT @lines; ←この前までにプロセスが死んだらファイルは破損 flock( OUT, 8 ); ←ここで別プロセスがファイルを操作する危険も close(IN); ←実際の書き込みが行われるのはここ(オートフラッシュなしの場合)
>>970 なるほど、open(FH, ">filename") でファイルを開いただけでは
ファイルは変更されていない状態だと思っていましたが・・・確かに危険ですね
">>filename"などでオープンして、turncateで0指定する方法をとるべきか・・・
良い事を教えてもらいました。ありがとうございます
失礼しました
972 :
山崎渉 :03/03/13 17:00 ID:???
(^^)
973 :
931 :03/03/15 11:29 ID:???
975 :
名無し :03/03/15 16:35 ID:55qzOCkc
976 :
ウマー(゚Д゚)@Apw5yill☆2ch :03/03/15 16:39 ID:abzlUrYY
質問です。CGIで例えば、****.cgi?1111 みたいな、?1111を付け加えて表示させる物があります。そこで、 URL転送を使って、***.com/1111を入力すると、****.cgi?1111が表示 されるように、転送先を****.cgi?にしましたが無理でした。 なにかいい方法はありませんか?
977 :
007 :03/03/15 16:48 ID:???
タイトル入力するところあるぞぃ # タイトル名 $title = "Fantasy Board"; ってやつが
>>973 while (<IO>){
if ($_ =~ /<>$ip/){
@y2=split(/<>/,$_);
if ($y2[6] ne $ip){
push(@log,$_);
}else{
push(@log,'All Clear (^-^)v');
}
}else{
push(@log,$_);
}
}
980 :
ウマー(゚Д゚)@Apw5yill☆2ch :03/03/15 16:58 ID:abzlUrYY
は、できたんですが、その他にも2222や3333とも指定したいのです。。
>>980 ドキュメントルートに***.com/以降を受け取れるcgiでも作って置けばいい
尚、ここは改造スレにつきスレ違い
>>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がでました。
援助お願いします。
>>982 あのままコピペしたんじゃないだろうな?
全角スペースを半角かタブに置き換えたか?
984 :
nobodyさん :03/03/15 21:59 ID:6KH7Xn0j
>>976 >URL転送を使って
多分/以降のデータは中継されないから無理
986 :
975 :03/03/15 23:45 ID:MaN1zNKv
>>977 いや、掲示板のタイトルじゃなくて
ここのスレッドにタイトルをつけたいのです。
ここのスレッドとはどこのスレッドですかぁー?w
988 :
nobodyさん :03/03/16 13:59 ID:t8L+n8I+
>>983 全角スペースを半角かタブに置き換えたか? ってどういう意味ですか?
990 :
nobodyさん :03/03/16 15:29 ID:vOOsWTxU
そのまま貼り付けたんですけど。
>>990 アホか
コピペした部分の全角スペースを置き換しれ
992 :
nobodyさん :03/03/16 17:44 ID:KSrtergb
新すれはどこですか?
993 :
nobodyさん :03/03/16 17:47 ID:WBb98oow
995 :
nobodyさん :03/03/16 18:08 ID:vOOsWTxU
>>991 さん無事できたのですが。
All Clear (^-^)v > () と名前のところにそのALL Clearとでて文字のところに()とでます。
援助お願いします。
996 :
nobodyさん :03/03/16 18:15 ID:vOOsWTxU
↑の続きで その自分の発言を削除を押した後発言をするとAll Clear (^-^)v > () が消えてしまいます。
997 :
nobodyさん :03/03/16 18:16 ID:x5aWnNPV
いきなり乱入1000
998 :
nobodyさん :03/03/16 18:24 ID:MtdvS7v9
1000!
999 :
nobodyさん :03/03/16 18:24 ID:MtdvS7v9
とう!
1000 :
nobodyさん :03/03/16 18:24 ID:MtdvS7v9
1000げっとーーーーーーーーーーーーーーーズザァアア
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。