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

スクリプト改造工房 Part4

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/02/05 01:20ID:CZVDHHph
「こういうふうにスクリプトを改造したいけどやりかたわかんないよー」
という人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。

前スレ
Part2 http://pc.2ch.net/test/read.cgi/perl/986986227
Part3 http://pc.2ch.net/test/read.cgi/php/988808396

なお、質問するときは
1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
を必ず明記しよう。
0051名無しさん@お腹いっぱい。02/02/16 21:46ID:???
>>47,49
なんかカコイイ
0052厨房perler02/02/17 08:30ID:???
スクリプトを書いたのですがなんかグロいです。助けてください!

if($a =~ /@@@@/){ print $a; }
if($b =~ /□ □/){ print $b; }
if($c =~ /  ◎/){ print $b; }
0053名無しさん@お腹いっぱい。02/02/17 21:49ID:???
質問させて下さい。
チャットなんですが、一般的にログは下から上へ流れますよね?
これはスクリプトで定義されているんでしょうか?
Niftyなんかですと、上から下へとログが流れるので
出来れば、そういう仕様のチャットに改造してみたいんです。
探してみたんですけど見つからないので、改造で何とかなるなら
頑張りたいと思い、質問してみました。
すみませんが、分かる方いらっしゃったらよろしくお願いします。
0054名無しさん@お腹いっぱい。02/02/17 23:07ID:???
>>53
???
cgiでやってるチャットなら普通だいたい新しいのが上じゃない?
00555302/02/17 23:27ID:???
>54
ええ、新しいのが上にきますよね?
それを新しいのが下にくるように出来たらいいなと思ってるんです。
それで、その流れを決めてるのはスクリプトなのか
改造可能なのかが知りたかったんですよ。
0056名無しさん@お腹いっぱい。02/02/17 23:32ID:???
>55
通常、新しいものが上に来るようにするためには、
正順に記録されたログを@LINEのような配列に読み込み、
reverseします。
005753=5502/02/18 00:07ID:???
>56
ありがとうございます!
ということは正順に並んでいるログをわざわざ逆転させてるんですね。
おっしゃってるのは

foreach (@lines) {
if ($str2 ne '') { if ($_ =~ /$str2/) { next; } }
elsif ($str1 ne '') { if ($_ =~ /$str1/ && $_ =~ /$host/) { next; } }
if (++$i >= $max) { last; } else { push(@new, $_); }
}
if ($str1 eq '' && $str2 eq '') { unshift(@new, $val); }

この辺りのスクリプトでしょうか。
ログ保存の部分にあった@LINEなんですけど。
0058名無しさん@お腹いっぱい。02/02/18 00:17ID:???
>57
うん。そのforeachのまえで、
@lines = reverse @lines;
というような処理を入れてあげるとひっくり返る。
00595302/02/18 04:46ID:???
@lines = reverse @lines;
を入れてみました。出来たー!と思ったのも束の間…。
ログがですね

6
4
2
1
3
5
というように奇数行は希望通りに上から下なのに
偶数行は下から上という流れになってしまいました(汗
多少のカスタマイズが出来るくらいで、スクリプト自体が読める
訳ではないので詰まってしまいました。
あとは何が足りないんでしょうか。

以前からミスってた部分の見直しとかしてたら
こんな時間になってしまった…。
いい加減に寝ておこう。
0060名無しさん@お腹いっぱい。02/02/18 14:16ID:???
age
0061名無しさん@お腹いっぱい。02/02/18 14:20ID:???
インターリーブっぽく記録されてたり。
もう一つデータ管理してる変数無い?
0062名無しさん@お腹いっぱい。02/02/18 18:09ID:UxBPmNlO
http://homepage1.nifty.com/~studio/prog/srch/index.htm

この検索エンジンに、完全一致と項目別検索の機能を盛り込みたいんですが、
どうすればよいでしょうか?データファイルはCSVになってます。
0063名無しさん@お腹いっぱい。02/02/18 19:32ID:???
ソース読むのめんどくさい(;´Д`)
ある程度目星付けてくれれば協力するかも。
0064名無しさん@お腹いっぱい。02/02/19 04:48ID:???
朝なんであげとくね
0065名無しさん@お腹いっぱい。02/02/19 09:11ID:bQza7qr8
KENTさんのLight bordにIPとホストを両方とりたいのですが
今の掲示板では片方しか取得する事が出来ません。
両方取得出きる方法を知りたいんです。
設定のところに

# ホスト名取得モード
# --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
# --> 1 : gethostbyaddr で取得できる場合
$get_remotehost = 0;

↑のようなソースがあり、ホスト名取得は

## --- ホスト名取得
sub get_host {
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};

if ($get_remotehost) {
if ($host eq "" || $host eq "$addr") {
$host = gethostbyaddr(pack("C4",split(/\./,$addr)),2);
}
}
if ($host eq "") { $host = $addr; }
}

↑のようになっているんですがこれを変えてログへの書き込み処理を変えれば可能ですよね?
ログへの書き込み処理は自分でやれると思いますので↑に書いた部分をどう変えれば両方取得出来るか
教えては頂けないでしょうか?↑はifってなってるのでそのままifを消したりしたんですけど当然ダメでした。


おぉ力也か。え?やっぱり行ける?もう取り消しの電話入れちまったじゃねぇかよ。
00666502/02/19 09:13ID:bQza7qr8
一番下の力也ってやつは見なかった方向でお願いします。
0067名無しさん@お腹いっぱい。02/02/19 09:58ID:uiFxg8op
>65
そこはIPとリモートホストのルーチン部分だ。
記載している場所はほかにあるから、
$hostで検索して、printしてるところを見つけれ。
0068名無しさん@お腹いっぱい。02/02/19 09:59ID:uiFxg8op
あと、力也には、優柔不断にぐたぐた言うなっていっとけ。
00691ファンより02/02/19 12:49ID:???
力也の再登場を願って止みません
00706502/02/19 13:03ID:bQza7qr8
>>67
あそこじゃないんですか!?
あそこだと確信してたんですけども。
どこなんでしょう?いくら探しても他にホストやIPを取得してるような所は見当たらないんですけど。
もしよかったら探してくれませんか?めんどくさいですか?てめーでやれカスですか?
↓がソースです。それと力也ネタは勘弁して下さい。力也は忘れてください。
http://csx.jp/~hage/light.txt
0071名無しさん@お腹いっぱい。02/02/19 13:05ID:???
>>70
だから彼は「表示するところを探せ」と言っているが。
printが表示する命令だと知らないのか?大変だぞ。
00726502/02/19 13:50ID:???
>>71
あっそうですね。でもprintを探すんですか?
でも今のままだと$hostにipかホスト名のどちらかしかを書き込むので片方しか取得できないんです。
printを探すのはIPとリモートホストのルーチンを書き換えたあとの話しでは?
printを探してログへの書き込み処理を変えるのは私でも出来ると思うのでですが
どうすればifという形式ではなく両方を取得できるのかを知りたいんです。
教えてもらえますか?
てめーなんかに教えるぐらいならダンゴ虫に教えた方がマシだボケですか?
0073名無しさん@お腹いっぱい。02/02/19 14:02ID:uqUI0/lz
>71
thx!
>72
みてみた。4カ所ほど変更する必要があるので、手間がかかり教えるのが面倒くさい。

しゃれのつもりなんだろうが、質問の仕方がカワイゲないので
心を入れ替えるまで放置することにした。
誰か優しい人が教えてくれるかもしれない。

ref.>もしよかったら探してくれませんか?めんどくさいですか?てめーでやれカスですか?
ref.>てめーなんかに教えるぐらいならダンゴ虫に教えた方がマシだボケですか?
00746502/02/19 14:18ID:bQza7qr8
>>73
ID違うけど>>67さんかな?
いや、なんか普通の文じゃつまらなくてレス返ってこないかな?と思ってつけたしたんですけど…
自分ではわからないながらも表示以外のところは結構簡単にできるような気がしてたんですけど4個所もあるんですか。
それじゃあ仕方ないですね。そちらにはメリットなにもありませんし。
誰か教えてくれるまで気長に待ちます。
00756702/02/19 14:24ID:uqUI0/lz
>74
うんそう。
ここそんなに住人多くないって(笑)。

んで、ちょとカワイゲある文章になったので関心が戻ったりして。
このスクリプト、ログにリモートホストかIP残すだけで、画面表示しないんだな。
改造自体はそんなに大変ではないと思う。問題は、うまく行かないときのでバッグだな。
00766702/02/19 14:29ID:uqUI0/lz
224行目:
($number,$date,$name,$email,$subj,$comment,$url,$host,$pwd)
を
($number,$date,$name,$email,$subj,$comment,$url,$host,$addr,$pwd)
に変更。
335行目;
unshift(@lines,"$number<>$date<>$name<>$email<>$sub<>$comment<>$url<>$host<>$ango<>\n");
を
unshift(@lines,"$number<>$date<>$name<>$email<>$sub<>$comment<>$url<>$host<>$addr<>$ango<>\n");
に変更
656行目:
($number,$date,$name,$email,$subj,$comment,$url,$host,$ango)
を
($number,$date,$name,$email,$subj,$comment,$url,$host,$addr,$ango)
に変更
666行目:
($number,$date,$name,$email,$subj,$comment,$url,$host,$ango)
を
($number,$date,$name,$email,$subj,$comment,$url,$host,$addr,$ango)
に変更。
多分これでうまく行く。
00776502/02/19 14:45ID:bQza7qr8
>>76
おおおぉぉぉッ!
出来ましたッ感動です!
ってゆーかそれと全く同じように昨日やったんですけど出来なくてこれじゃダメなんだなぁって
思ってたんですけど昨日やった時はたぶんどっか間違ってたんですね〜。
一回試して>>65で挙げた部分を改良してから>>76さんのようにやれば出来ると思い込んでました。
それだけでよかったんですか〜あ〜出来てすっごい嬉しいです。
たぶん誰にもレスされないで終わるだろうなと思ってましたし。
昨日から徹夜でやっててそろそろ限界だったんですけどこれで目が覚めました。
本当にありがとうございました。
00786702/02/19 15:04ID:???
>77
単純なタイプミストかがあったんだと思う。
どちらにしてもよかった。
0079名無しさん@お腹いっぱい。02/02/19 15:54ID:???
age
00805302/02/19 19:37ID:???
チャットのログを改造していたがっていた者です。
教えて頂いたreverseだと奇数が元のままなので悩んだまま
止まってましたが、聞く前に調べる努力をしてなかったので
本屋に行って見てきました(始めから行けって言わないで下さい。
まず改造出来るものかどうか知りたかったんです)
reverseでなくsortで試したところ、新しいログが下にくるように
なりました!
一番新しい発言だけが上にくるんですけど、今はとりあえず流れが
望んだ通りになったんで嬉しいです。
CGIを勉強してみたくなりました(笑
ご助言、どうも有難うございました。
0081名無しさん@お腹いっぱい。02/02/20 04:49ID:???
定時あげ
0082名無しさん@お腹いっぱい。02/02/22 15:28ID:9ER9/CDB
サルでありますが、CGIの添削をお願いできませんでしょうか。

2chのsubback.htmlにsocket→sort→diffをかけるものです。
こんがらがったので2つに分けたままなのですが
sockt部が http://nogdnik.s3.xrea.com/sagepicker/client.txt
sort,diff部が http://nogdnik.s3.xrea.com/sagepicker/diff.txt
であります。
動作は http://nogdnik.s3.xrea.com/sagepicker/ 
で一応動いたのですが、どう考えてもソースが汚いと思われる上に
余計な(サーバに負荷をかけるような)動作も行っている気がします。。

スマートな解法等ありましたら、宜しくお願い致します。
0083真木素人02/02/24 00:20ID:VkuFVpRf
ttp://www.area-s.com/main/missinglink.html
↑MissingLinkのナレーションBBSのおねえさんといっしょを
HPに設置したいんですけど、改造&設置の仕方がわかりません
ナレーションBBS2.1とおねえさんといっしょのキットは
DLして解凍まではわかったのですが、そのあとが…

改造はおねえさんといっしょのキットをそのまま使いたいのですが…
改造のしかたと設置のしかた教えてください
お願いします
0084名無しさん@お腹いっぱい。02/02/24 01:57ID:???
設置もできないくせに改造しようなんて思うな
0085名無しさん@お腹いっぱい。02/02/24 10:24ID:???
設置の仕方なんかそのサイトで聞けよな
0086名無しさん@お腹いっぱい。02/02/24 14:43ID:???
http://pc.2ch.net/test/read.cgi/perl/1013594041/989
0087わかりません02/02/27 12:01ID:/Q61BdR8
if($i_photo_chk eq 'url'){
@photo_urls=("$i_photo_url1","$i_photo_url2","$i_photo_url3");
foreach(@photo_urls){
if($_ ne ''){
if($_ =~ /^http.*jpg$/){
$i_comment = "$i_comment<br><IMG src=\"$_\">";
}else{
&print_error("写真URLの入力が正しくありません。注意&解説を参照して確かめてください。<br>Macintosh環境でも拡張子(.jpg)をつけて下さい。");
}


すみません。
↑ここらへんで拡張子JPGだけしか選べなくなってるのを、gifも選べるようにしてあげたいんですが、
どうしたらいいですか?つまり、JPGとGIFを認めてあげたいんですが・・・。
エラーばっかりでわけわかめです。
誰か教えて下さい。お願いします。
0088名無しさん@お腹いっぱい。02/02/27 12:39ID:???
if($i_photo_chk eq 'url'){
  @photo_urls=("$i_photo_url1","$i_photo_url2","$i_photo_url3");

    foreach(@photo_urls){
      if($_ ne ''){
        if($_ =~ /^http.*gif$/ || $_ =~ /^http.*jpg$/){ #←ココ
        $i_comment = "$i_comment<br><IMG src=\"$_\">";
      }else{
        &print_error("写真URLの入力が正しくありません。注意&解説を参照して確かめてください。<br>Macintosh環境でも拡張子(.jpg)をつけて下さい。");
    }

PNGとか追加して多くなるようだったら配列使うほうが楽かも。
0089名無しさん@お腹いっぱい。02/02/27 13:28ID:???
もっとスマートに書けるでしょう……
しかもチェックも甘いし。まぁ他人事だからいいけど。

m#^http://[^/]+/.+\.(?:jpg|gif)#i
0090名無しさん@お腹いっぱい。02/02/27 13:29ID:???
(?:jpg|gif)$
0091名無しさん@お腹いっぱい。02/02/27 15:16ID:uzDDNMO0
少し脳みそを貸して下さい。
返信できる掲示板を改造し、親記事への返信に対してradioboxで5段階の採点
ができるようにしました。が、たまに採点がおかしくなります。

1ページに表示されている全ての返信記事に一気に採点できるようにしました。
$noは親記事のNo. $res_noは返信記事のNo.です。
簡単に書きます。
-------■フォーム部分■---------
[最高:<INPUT TYPE=RADIO NAME=\"($no)-$res_no\" value=5>]
[良い:<INPUT TYPE=RADIO NAME=\"($no)-$res_no\" value=4>]
のようなものをあと3つ
-------■フォーム部分■---------
0092名無しさん@お腹いっぱい。02/02/27 15:16ID:uzDDNMO0
ログの形式:<>で区切ってます。
$x1が親記事の番号で$x2が返信記事の番号です。
行の最後に採点のためのデータを6つ追加しました。
$xjが合計点で、$xe〜$xiまでが各採点の数。

-------■ログの形式■---------
130<>1<>名前<>タイトル<><><>親記事のコメント<>#ff6633<><><>02/02/26(Tue)02:29<>0.XuCN0FGrIKQ<>1014702931<>0<>0<>0<>0<>0<>0<>
(130)<>1<>名前<>タイトル<><><>親記事への返信のコメント<>#ff6633<><><>02/02/26(Tue)02:29<>0.XuCN0FGrIKQ<>1014702931<>0<>0<>0<>0<>0<>0<>
-------■ログの形式■---------
0093名無しさん@お腹いっぱい。02/02/27 15:20ID:uzDDNMO0
2重カキコとか言われて書き込めん!
0094名無しさん@お腹いっぱい。02/02/27 15:20ID:uzDDNMO0

ログから全記事を@all_linesに読み込む。
while (($key, $value) = each %in){
if( $key =~ /^%28\d+%29-\d/ ){
$key =~ s/^%28(\d+)%29-(\d+)/$1,$2/ ;
foreach (@all_lines) {
if( /^\($1\)<>$2/ ){
my($x1,$x2,$x3,$x4,$x5,$x6,$x7,$x8,$x9,$xa,$xb,$xc,$xd,$xe,$xf,$xg,$xh,$xi,$xj)=split(/<->/);
if($value == 5){ $xe = $xe+1 ;}
elsif($value == 4){ $xf = $xf + 1;}
elsif($value == 3){ $xg = $xg +1;}
elsif($value == 2){ $xh = $xh +1;}
elsif($value == 1){ $xi = $xi +1;}
else{ エラー処理;}
$xj = ($xe * 5) + ($xf * 4) + ($xg * 3) + ($xh * 2) + ($xi * 1);
push(@new, "$x1<>$x2<>$x3<>$x4<>$x5<>$x6<>$x7<>$x8<>$x9<>$xa<>$xb<>$xc<>$xd<>$xe<>$xf<>$xg<>$xh<>$xi<>$xj<>\n");
}else { push(@new, $_ );}
}
$#all_lines = -1 ; #これは必要?
@all_lines = @new ;
$#new = -1 ;
}
}

@all_linesをファイルに書き込む。
0095名無しさん@お腹いっぱい。02/02/27 15:26ID:uzDDNMO0
受け取り側がすごく間抜けなコーディングですが、
もっとスマートな方法はないものでしょうか?
さらにバグがあるようです。たまに採点した以上に採点の数が増えます。
よろしくお願いします。
0096わかりません02/02/27 15:49ID:/Q61BdR8
ありがとうございます!!感謝感激です。
ところで、
@@@@@@@@@@@@@@@@@@@@@@@@@@
sub upnote {
local($get_pf_name)=shift;local($pffno)=shift;
if($file_name{"$get_pf_name"} =~ /jpg$/){
$psc=0;
$file_len=length($file_data{"$get_pf_name"});
if($file_len<=0){
&print_error("画像が選択されていません。");
}elsif($file_len>=$photo_max_size*1024){
&print_error("$photo_max_size\KB以下の画像しか指定できません。");
}#--end

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
↑ここの部分も、JPGしかアップロード出来ないんですけど、これもGIFをアップロードしたいのですが・・・。
0097名無しさん@お腹いっぱい。02/02/27 15:54ID:???
>>96
たよってたよって大正解。
0098わかりません02/02/27 16:09ID:/Q61BdR8
>>97
まじ途方にくれてたので大正解っす。どこいじってもエラーになってわけわかりまっしぇん!
要は「JPGだけじゃなくGIFも使いたい」ってことだけなんですけどね・・・。
0099名無しさん@お腹いっぱい。02/02/28 20:48ID:cUMoNmua
PHPのファイルあぷろだなんだけど
初期設定のアップロード制限意外に
デフォルトで2Mが限度になってるみたいなんだけど
その制限をとっぱらうにはどうしたらよいでしょ?
アドバイス頂けませんでしょうかm(_ _)m

↓ソース
http://www.geocities.co.jp/Milkyway-Lynx/2562/upload.txt
0100名無しさん@お腹いっぱい。02/03/01 02:13ID:???
2ch型の掲示板です。

レス書き込みの際、メール欄に「dame」と入れることによって
スレッドの配置を一番下に移動させる機能を付けたいのですが
解る方いましたら宜しくお願いします。

↓掲示板の外観です
http://www.42ch.net/UploaderGeneral/source/224.htm
↓メインのスクリプトです
http://www.42ch.net/UploaderGeneral/source/225.txt
010110002/03/01 02:24ID:enmjRXxk
(レスのチェック部分です)

# - レス付与 -------------------------------------
sub res {
   〜〜〜〜〜〜〜
     # age_______________________________
     if (!$sage) {
          push(@DATA,splice(@DATA,$no,1));
      }
   〜〜〜〜〜〜〜
}

# - フォームチェック ------------------------------
sub formcheck {
   〜〜〜〜〜〜〜
     # E-mailチェック____________________
     if ($mail =~ /sage/) {
          $sage = 1;
      }
   〜〜〜〜〜〜〜
}
0102名無しさん@お腹いっぱい。02/03/01 02:47ID:???
>101
スクリプト読んでないけどこれでどうかな?
〜〜〜
#age____
if (!$sage) {
 if ($dame) {
  unshift(@DATA,splice(@DATA,$no,1));
 }
 else {
  push(@DATA,splice(@DATA,$no,1));
 }
}
〜〜〜

〜〜〜
# E-mailチェック____
if ($mail =~ /sage/) {
 $sage=1;
}
elsif ($mail =~ /dame/) {
 $dame=1;
}
〜〜〜
010310002/03/01 03:32ID:???
>>102
ありがとうございます!

今試してみたんですが、なんか500エラーになってしまいました…。
もう一回やってみます。。
010410202/03/01 03:38ID:???
>103
全角スペースで字下げしてるから,そのままコピペじゃ動かないです。
半角スペースに置き換えてください。
010510002/03/01 04:16ID:???
>>104
DATファイルにもちゃんと書き込まれて、スレッドも下がりました…!

ただ、トップ表示と一覧表示でデータを読み込めないみたいです。。
http://www.42ch.net/UploaderGeneral/source/226.htm
0106名無しさん@お腹いっぱい。02/03/01 04:46ID:???
>105
スマソ,さっきのでログ壊れたかも。
unshift(@DATA,splice(@DATA,$no,1));
を
unshift( @DATA, (shift(@DATA),splice(@DATA,$no,1)) );
に変えるとどうかな
0107名無しさん@お腹いっぱい。02/03/01 05:03ID:jSI4cIj+
>>99
サーバーの設定で制限さてれるんじゃない?
http://www.php.net/manual/ja/function.ini-set.php
http://www.php.net/manual/ja/configuration.php
010810002/03/01 20:20ID:???
>>106
下の方に書き替えたら、壊れなくなりました!

しかし今度は、「書き込んだスレッドの一つ上にあるスレッド」が
一番下に下がるようです...(;´Д`)
01099902/03/02 10:48ID:???
>>107
ありがとうございます。
何故か5Mまでしかあぷ出来ませんが
スクリプトのせいじゃないのがわかっただけでも助かりました。m(_ _)m
0110名無しさん@お腹いっぱい。02/03/04 19:46ID:xVeLh+HA
ずるぼんあぷろだ
ttp://zurubon.strange-x.com/upload.txt
のトップページをhtmlファイルとして吐くように改造していただけませんでしょうか?
無理なお願いかもしれませんがよろしくお願いします
0111名無しさん@お腹いっぱい。02/03/04 23:36ID:???
> 110
意味がわかりづらいが、トップページをリクエストするとHTML形式の
ファイルをダウンロードするってこと?
011211002/03/04 23:54ID:xVeLh+HA
http://www2.makani.to/akutoku/upload/index.html
のようにトップページはhtmlとして吐き出させて負荷を減らし
アップロード作業や2ページ目以降の表示をCGIにさせたいのです

わかりにくくて済みません
0113nobodyさん02/03/05 00:10ID:???
>>110
perl勉強中だけど、答えてみる。
index.htmlをopenして、「sub html」の中の表示部分をそっちに吐くようにすればいいんじゃないかな。
他にも弄るとこあるかもしんないけど、そこは識者にお任せします。
011411102/03/05 00:23ID:???
単純にこれをCGIとして実行したときのトップページのHTMLをファイルとして
用意するとできるのでは? だいたい以下の感じに。(■■■部分は呼び出すCGI)

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="http://■■■" >
アプするファイル<strong>(300 Kまで)</strong><br>
<INPUT TYPE=file SIZE="40" NAME="filedata">
<select name="ext">
<option value="ext" selected>特殊拡張子選択
<option value="css">css
<option value="csv">csv
<option value="htm">htm
</select>
<br>コメント<i><small>(※コメント無記入の場合リロードになります
/URLはオートリンクします)</small></i><br>
<INPUT TYPE=text SIZE="45" NAME="comment">
<INPUT TYPE=submit VALUE="Up/Reload" class="button"><INPUT TYPE=reset VALUE="Cancel" class="button"><br>
</FORM>
011511002/03/05 06:37ID:ZPKxkzAd
>113
openでhtmlファイルを開いてprintするところまでは思いついたのですが、
クッキーを使った環境設定や、print_postdataとの絡みが分からずに挫折しました
>114
???
済みません、意味がわからないです
0116nobodyさん02/03/05 20:29ID:???
先にhtmlファイルを作ってから
クッキーをはいてLocationでhtmlファイルに飛ばせばよい。

htmlファイルを作る処理はprint_postdataなどを直接弄ると
副作用があるので、コピペで名前を変えた関数を作って
ファイルに書き出すようにすればよい。
0117nobodyさん02/03/06 15:45ID:???
改造依頼なのですが。。
ReverseAccess(逆アクセスカウンタ)
http://www.cj-c.com/
スクリプト
http://waiwaiwai_00.tripod.com/access.txt
http://waiwaiwai_00.tripod.com/acmgr.txt
http://waiwaiwai_00.tripod.com/set.txt

私のサイトに上記の逆アクセスカウンタを設置しているのですが、
私のサイトにリンクを貼っていただいている方の中で、
自分が一番でないと気が済まない負けず嫌いな方がいるのです。

続く。。。
0118nobodyさん02/03/06 15:56ID:???
続き。。。

たとえばhttp://pc.2ch.net/から私のサイト(http://hoge.com/)にリンクされているとして、
毎日、*.2ch.net及び012.345.678.*というリモートホスト・IPアドレスを駆使して
http://pc.2ch.net/からhttp://hoge.com/にアクセスしまくってhttp://pc.2ch.net/のランキング順位をつり上げてくるのです。

おまけに、http://pc.2ch.net/001.html、002.html、003.html、…を作成して、
そこからも波状攻撃を仕掛けてくるのです。

普通ならpc.2ch.netをカウントしないようにset.txtに書き込めばいいのですが、
http://pc.2ch.net/からは普通(?)のアクセスもあるのです。

そこで不正排除のため、*.2ch.net及び012.345.678.*のみ(指定したリモートホストやIPアドレス)を
カウントしないように改造お願いできないでしょうか?
0119nobodyさん02/03/06 16:00ID:???
http://hoge.com/が本当に存在するというのがヘボナイス
0120nobodyさん02/03/07 01:54ID:WTUe3Qf1
>117-118
警告書いて,それでもダメならカウントしないほうにするほうがいいんじゃない?
改造してもいたちごっこになるだけと思われ。
0121nobodyさん02/03/07 08:25ID:???
>>117-118
動くか試してないけど。

set.cgiの
1;#削除不可
の上辺りに
@AbornLink = ("*.2ch.net","*.yahoo.co.jp");
@AbornHost = ("127.0.0.1","1.2.3.*","anonymizer.com","squid");
を追加。

access.cgiの
#--- ここまで ----------*
の下に
&aborn;
sub aborn {
for (@AbornLink) { s/([.@%$\])/\\$1/g; s/\*/.*?/g; &haa() if $ENV{HTTP_REFERER} =~ /$_/i }
for (@AbornHost) { s/([.@%$\])/\\$1/g; s/\*/.*?/g; &haa() if $ENV{REMOTE_HOST} =~ /$_/i or $ENV{REMOTE_ADDR} =~ /$_/ }
}
sub haa {
print <<_HTML_;
Content-type: text/html

(゚д゚)ハァ?
_HTML_
exit;
}
を追加。
012211002/03/07 18:21ID:???
>>111-116
遅くなりましたが有難うございます
頑張ってみます
0123利用者02/03/08 06:39ID:???
チャットの参加者表示なんですが、room1に人がいる時にroom2に入ると、参加者してる人の名前が表示されなくなります。
この書き方ではおかしいんでしょうか…?
0124利用者02/03/08 06:40ID:???
…と失礼。
問題の部分の簡易スクリプトです。
http://upsenyou.tripod.co.jp/test.text
0125nobodyさん02/03/08 06:42ID:w/NM/Dyo
あげれ
0126利用者02/03/08 06:42ID:???
なんかこれも表示がおかしいですね…
申し訳ないですが、ソースを出して見てください…
0127nobodyさん02/03/08 07:00ID:yTPx6PIp
質問です。
メールフォームで、メールの送信先を、曜日毎に変えたいのですが、
どうすればよろしいでしょうか。
フリーのメールフォームを改造して作ろうとしているのですが、
Perlに関しては初心者で、手がでない状態です。
どなたか、どうぞよろしくお願い致します。

改造しようとしているCGIで、メールの宛先は、
configファイルに
$MailTo = '[email protected]';
として明記し、CGI本体で
$MAILTO = &config::MAILTO;
というふうに読み込ませる形になってます。
0128nobodyさん02/03/08 07:53ID:???
localtimeの返値の最後に曜日のデータが渡される。
0129nobodyさん02/03/08 17:42ID:???
【Perl】初心者コーナーPart10
http://pc.2ch.net/test/read.cgi/php/1014556702/289-

そのうち現れると思いますが。
たらい回しにされて可愛そうなので答えてあげてください。

ていうか答えるのは同じ人間ぽいけどなー。w
0130nobodyさん02/03/08 23:27ID:???
つうか、最近お前ら、こことか初心者スレとか見てないだろ
0131nobodyさん02/03/09 06:45ID:???
一生懸命回答している何人かを、粘着馬鹿が追い出しました
ただでさえ人少ないのに。
0132nobodyさん02/03/09 09:35ID:???
>>131
あゆあゆもいなくなったな。。。
013311002/03/09 18:16ID:???
こんにちは、以前ずるぼんあぷろだのトップページhtml化をお願いした110です

指導のおかげでhtmlファイルは吐き出すようになったのですが、投稿・削除
したときに http500 内部サーバエラー となってしまいます
(htmlファイル自体はちゃんと吐き出される)
もう一度ご指導頂きたく思います

改造後のスクリプト(.cgiに変換してください)
ttp://hpcgi3.nifty.com/syouwakayou/up.cgi?dir=&view=&sort=&get=up.txt

#前回こちらで聞いたので、初心者スレではなくこちらでお聞きします
013412702/03/10 02:00ID:???
>128
ヒントを元に考えてみても謎が謎を呼びエラーが出て
泣きそうです。

ここは今人が少ないのですか…
0135nobodyさん02/03/10 10:01ID:Pl5m+TdB
あげ。
>134 localtime関数の仕様を調べれ。
0136nobodyさん02/03/11 22:51ID:???
>>133
長いし、途中からなので良く分からんが
&locationindex;
&print_postdatafile;
とか(他にもあるよね)付け加えたサブルーチンを、行わせたい処理の順番にならべてみなされ。
場所は #以下はスクリプトのエンジン部分。無闇にいじくると動かなくなるかも(ワラ
のすぐ後でいいと思うけど。

できたら、sub locationindex{ } とかいうブロックはまとめて
#以下関数定義&実装
から下に持っていったほうがいいかな
0137初心者スレにも書きましたが02/03/12 14:59ID:h6G3oh/x
すみません。
掲示板CGIの改造をしたいのですが、
チェックボックスを付けて、それがオフの場合投稿を弾いてメッセージを表示するにはどうしたらいいのでしょう?


全くの初心者なので、適当に

コメント入力欄の近くあたりに
<INPUT TYPE="checkbox" NAME="a" VALUE="b">書きこみをOKする<BR>

って入れて、名前が入ってないとエラーを返す部分があったのでそこに
if ($a eq "") { &error("オンにしてちょ。",'NOLOCK');

ってやってテストしてみたらオンでもオフでもエラーを返されてしまいました。
if ($a eq "a:")としたら逆にオンでもオフでも書きこみできました。

別にvalueがbの場合用の処理(?)を書かなくてはいけないのでしょうか?
ちなみに上のは名前が入ってないとエラーを返す部分をちょっと変えただけです。

0138初心者スレ417=42102/03/12 15:12ID:???
>>137
>>1
> なお、質問するときは
> 1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
> 2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
> を必ず明記しよう。
---

なんとなく、$aに中身入れてないような感じがするんだけど。。
途中省略箇所有りですが、、、
こんな感じになってると考えて良いのかな、、、。

&decode(*FORM);

sub decode{
local(*DATA) = @_;read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@buffer = split(/&/,$buffer);
foreach (@buffer) {
($name,$value) = split(/=/);
$DATA{$name} = $value;
}
}

$a = $FORM{'a'};

if ($a eq "") { &error("オンにしてちょ。",'NOLOCK');


---
0139初心者スレにも書きましたが02/03/12 15:37ID:???
>>138
できた〜!!マジでありがとうございます。$a = $FORM{'a'}; が足りなかったようです。
勉強になりました。
0140nobodyさん02/03/13 09:19ID:Z/LJjIzD
くずはすくりぷと Rev.0.1 Preview 9を2ch風に改造したいと考えています。

追加したい機能は「トリップ」と「名無しさん」
あと投稿にアスキアートなどをコピペした場合にアスキーアトが崩れるのを防止したいです。

ソースはこちらになりまます。
http://www.geocities.co.jp/HeartLand/6269/bbs.txt
0141nobodyさん02/03/13 13:50ID:???
>くずはすくりぷと Rev.0.1 Preview 9を2ch風に改造したいと考えています。

頑張って下さい。応援してます。
014214002/03/13 14:10ID:Z/LJjIzD
17さんの16aのBBS CGIのソースを移植しようと考えてたけど
所詮は厨房のボクにはムリか・・・

0143nobodyさん02/03/13 22:13ID:Dc5/budY
KENTのプチ☆ボードにlastpost機能をつけるにはどうしたら良いのでしょうか?
0144nobodyさん02/03/13 23:17ID:???
>>143
日よりを選んで策を巡らせれば、5万の兵力で20万の軍勢に勝つことだって出来るよ
0145nobodyさん02/03/14 09:33ID:VZM6DSSw
えーと広告をサイトに掲載してるんですが、広告主がクリック数を数えてくれと言ってきました。
理屈は大体わかるんですが、いざ組もうとしても改造ばっかで一からはほとんど組めなくて…
0146nobodyさん02/03/14 15:01ID:???
KENT-WEBのYY-CHATについて質問があります。
YY-CHATのどっかからデータを読み込んで
参加者一覧を作りたいのですがよくわかりません。

とりあえず↓のような感じに表示されるCGIってどうやったらいいでしょうか?

=======================================================

参加者(3)

名無しさん
太郎さん
花子さん
014714602/03/14 16:40ID:???
こんな感じのやつです↓

http://www.i-cha.ne.jp/cgi/yychat_custom2/r01/member.cgi
0148ぴいころ02/03/14 20:33ID:d2y5/VKo
改造依頼なのです。
ReverseAccess(逆アクセスカウンタ)
http://www.cj-c.com/
スクリプト
http://waiwaiwai_00.tripod.com/access.txt
http://waiwaiwai_00.tripod.com/acmgr.txt
http://waiwaiwai_00.tripod.com/set.txt

上記のスクリプトでURLマッチングログ$ulog= "url.log";
に記述したリンク元以外はデータをとらないようにするにはどうしたらいいのでしょう?
つまり登録したサイトだけの逆アクセスランキングをつくるには。
もう、ずーっと試行錯誤してみたけど変数が多くてわけわからず
どうしてもできませんでした。どなたかご教授下さい。。。
0149nobodyさん02/03/14 20:34ID:???
こら住民、やる気出せよ
0150nobodyさん02/03/14 20:34ID:???
>>148
りゅういちにきいてみろよ。
0151nobodyさん02/03/14 20:55ID:???
>>148
お前は>>117で質問した時、回答した人間に何も報告しなかったクソ野郎ですね?
■ このスレッドは過去ログ倉庫に格納されています