1 :
nobodyさん :
02/07/06 13:41 ID:Mpxtn4bk
2 :
nobodyさん :02/07/06 13:41 ID:Mpxtn4bk
>CGIだけど、なんか質問ある? いえ、特に何も。
おい、またPart6かよ。
5 :
nobodyさん :02/07/06 23:29 ID:FjAmHIGZ
sendmailで複数先に送信する時に $mailto = '****@**.**'; $mail = '****@**.**'; $mail2 = '****@**.**'; $mail3 = '****@**.**'; : : if (open(MAIL,"| $sendmail $mailto $mail $mail2 $mail3")) ・・・ これをfor文とかを使って短くしたいんですがどうしたら良いんでしょうか?
>>5 その送信先のアドレスは予め決まってるの?
なら、
$MailTo = array('
[email protected] ', ……);
for($i = 0; $i < count($MailTo); $i++) {
// 送信処理
}
8 :
7 :02/07/07 00:21 ID:???
すまん、Perl だったか。 逝って来る。
10 :
nobodyさん :02/07/07 00:24 ID:tmXocpbP
「
http://サーバー名/CGIスクリプト名?データ 」で実行し、データの
受け渡しをするプログラムを作っているんですが、他のURLへジャンプ
させるときに、
<A HREF="
http://スクリプトパス/CGIスクリプト名?ジャンプ先URL ">ジャンプ
</A>
としたいんですが、ジャンプ先URLをフルパスで出せるようにするには
どうしたらいいですか?以下がつくった内容です。
my($encoding) = @_;
my($method) = $ENV{'REQUEST_METHOD'};
if ($method eq 'GET') { $query = $ENV{'QUERY_STRING'}; }
elsif ($method eq 'POST') { read(STDIN, $query,
$ENV{'CONTENT_LENGTH'}); }
local(@query) = split(/&/, $query);
foreach (@query) {
tr/+/ /;
($key, $val) = split(/=/);
$key =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c", hex($1))/ge;
$val =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c", hex($1))/ge;
$val =~ s/\r\n/\n/g;
$in{$key} = $val;
}
my $req = new
HTTP::Request POST => $val;
$req->content_type('application/x-www-form-urlencoded');
$req->content('match=www&errors=0');
my $res = $ua->request($req);
if ($res->is_success) {
$myd = $res->content;
$myd =~ s/(\<A HREF=\")/$1test.cgi?/g;
print $myd;
} else {print "No!";}
今の状態ですと、 $myd =~ s/(\<A HREF=\")/$1test.cgi?/g;
をやると、 <A HREF=test.cgi?test/index.html> というような感じになって
<A HREF=test.cgi?
http://www.***.co.jp/test/index.html >
というような形になりません。
超初心者なもので、どこをどう直したらいいか、詳しく教えて
いただけると助かります。 すいません、よろしくお願いします。
11 :
nobodyさん :02/07/07 00:25 ID:U7LSUADE
>>9 CGIとして使うんですけどあっち逝った方が良いですか?
【初心者です】 【お願いします】 等のキーワードを見ると嫌悪感感じるのは俺だけ?
PATH_INFOの方がよくないかねぇ。
>>11 【perl の for 文】についての質問がどこをどうしたら【CGI(Common Gateway Interface)】と
結びつくのか説明してくれ
15 :
yunyun42 :02/07/07 00:29 ID:WcNQAy1G
はじめまして、 Web製作で質問するかここで質問するか迷いましたが、とりあえずこっちで聞いてみようと思います。 両方で聞いてみようかな? 私も自分のHP運営しているのですが、最近他人の名前を勝手に使って投稿する荒らし魔が続出して困っています。 そこで、掲示板に投稿者の名前が重複したり他人に勝手に使われないような手を施したいのですが、なにかお手軽な方法をご存じないでしょうか? よろしくお願いいたします。
トリップ+cookie+pass
>>13 いくつか問題があるね
・PATH_INFO 非対応の鯖もある
・カレントスクリプトのディレクトリが PATH_INFO になるので、
スクリプト側から動的 html を生成する時、アンカータグとか
生成する場合のカレントディレクトリが PATH_INFO のディレ
クトリになってしまう
20 :
yunyun42 :02/07/07 01:06 ID:WcNQAy1G
>>18 やっぱりスレ違い?
これどこのスレで聞けばいいのかな。
いろいろ探してるんだけどこれぞーってのがまだ見つからないッス。
>>16 どこかの検索エンジンでトリップ+cookie+passをやれば見つかるということですか?
23 :
nobodyさん :02/07/07 01:36 ID:NSgNCWjb
ガイシュツかもしれませんが、 CGIを実行させずに、ソースをダウンロードすることは出来るものでしょうか? ご存知の方はお教えくださいませ
ポカーソ
ほえ?
26 :
yunyun42 :02/07/07 02:53 ID:WcNQAy1G
>>21 残念ながら知らない者です。
申し訳ないです
>>26 perlとか知らないで、その掲示板をどうしようとしてたの?
一応書いておくと、perlならcryptって言う関数で暗号化が出来るから
トリップは入力した名前をこの関数を通せば実現できるよ。
28 :
nobodyさん :02/07/07 09:02 ID:oBR+k60E
画像アップロードの掲示板で、 最初に自分が画像を投稿することで、今までの書き込みログが閲覧できるという 掲示板ってどこかにない? いろんなとこ探したんだけど、そういうのって無いんだよね
29 :
nobodyさん :02/07/07 10:04 ID:LtK4GFfe
ガイシュツかもしれませんが教えてください。 ahhan255eをLinuxで使っているのですが、 Kondara/MNU Linux 2.1にインストールしたら軽快に動作しますが TurboLinux Server 7 や Redhat Linux 7.3 にインストールすると 書き込みボタンを押してからリロードされるまで数分かかってしまいます。 Redhat 7.3 で Kondara みたく動作させるには何をどう設定すればよいのでしょうか。
30 :
:02/07/07 17:07 ID:???
>>29 ウチではTurboや赤帽でもちゃんとサクサク動いてる。
CGIの問題じゃないだろう。
31 :
29 :02/07/07 20:18 ID:LtK4GFfe
>>30 CGIの問題とは考えてないです。
apache の設定に何かまずいところがあるのではないかと。
うなぎスクリプトとかは体感的に変わらないのですが、アッhan!だけ遅くなってしまいます。
Turboや赤帽でサクサク動かすにはどう設定すればよいですか。
>>31 >>CGIの問題とは考えてないです。
じ ゃ あ ス レ 違 い だ ろ。
33 :
nobodyさん :02/07/08 00:25 ID:R1ZQ7wuX
始めて投稿させていただきます。 今まで他のサーバーでは普通に動いていたCGIを、新しいサーバーに設置したところ 500のサーバーエラーを起こして動きません。 何度もローカルでテストして、実際に数カ所のサーバーではちゃんと動いているのですが・・・。 どなたか原因のおわかりになる方がいらっしゃったら、どうかご教示ください。 よろしくお願いいたします。
そのサーバーで使えない関数などが使われてる余寒。
>>33 ・パーミッション
・perlパス
・使えない関数(flockとか?)
みてみ
36 :
33 :02/07/08 00:36 ID:R1ZQ7wuX
34さん ありがとうございます。 特に特別なことはしていないと思うのですけども。 いままでいくつも同じところでサーバー(有料)をレンタルしており、今回もそこに 借りたのですが、今回に限ってまったく動かないのです。 スクリプトを見なおしたりしているのですがまったく見当がつきません。
37 :
33 :02/07/08 00:39 ID:R1ZQ7wuX
35さん、ありがとうございます。 パーミッションもPerlのパスも確認して設定をしており、flockもはずしてあるのですが 動きません。
>>33 ものはなんだ?
使えない関数はflockだけとは限らんぞ
39 :
33 :02/07/08 01:20 ID:R1ZQ7wuX
簡単なログインをするだけの物と予定表、それと掲示板です。 最初のログインをするスクリプトは、ファイルを参照するためにオープンして 入力されたものと一致したら、予定表なり掲示板に飛ぶというものです。
`perl path/perl -wc script.cgi`; これの実行結果を出力させて見てみろ。
41 :
33 :02/07/08 01:37 ID:R1ZQ7wuX
すみません、`perl path/perl -wc script.cgi`;というのは スクリプトのなかに書くのですか?
CGIをつくるだけ。 #!/usr/bin/perl print "Content-type: text/plain\n\n"; print for `perl_path/perl -wc ./script.cgi`;
43 :
33 :02/07/08 01:56 ID:???
42さん、ありがとうございます。 実行してみたのですが、これもサーバーエラーで帰ってきてしまいます。
じゃ、CGIが動かない設定になってるんだろ。そのへんの確認は?
45 :
33 :02/07/08 02:00 ID:???
さきほどサーバー屋さんの方でレスキューさんのところのスクリプトは 上手く動いているとの返事を頂き、見て見ましたら確かに動いています。 何が違うのか調べてみます。
47 :
33 :02/07/08 02:20 ID:???
はい、さっそく使わせていただきます。 本当にご親切にありがとうございました。
48 :
質問 :02/07/08 12:44 ID:nj01HSO5
初歩的な質問で申し訳ないのですが、 アクセス制御をCGIで行い、ID、パスワードが一致するとリンク先のHTMに飛ぶ と言うのがよくありますが、これでリンクさきをCGIとすることは可能なのでしょうか? アクセス制御(CGI)→ID、パスワード入力→掲示板のCGIって形なのですが・・・ CGI→CGIって言うのはどうなのでしょうか? 教えてください。よろしくお願いします。
CGIだろうが、PNGだろうが、JPEGだろうが、Klez_h.emlだろうが、問題無い。
51 :
質問 :02/07/08 13:54 ID:nj01HSO5
>>49 はい。やってみたのですが、飛んだ先がCGIのテキストで出てくるんですよ。
掲示板では無くて、CGIのプログラムが・・・・・
755とかアクセス権はきちんと確認しているのですが・・・・
52 :
画像ライブラリ :02/07/08 14:46 ID:E33z3r6c
有料でも無料でも、構わないのですが、写真素材のライブラリーを 作り、それを検索して表示できるようなCGIがあったら、 教えてくれませんか?
54 :
:02/07/08 18:06 ID:???
>>51 そういうアクセス制御ではなく、目的のCGIソースの先頭に
追加するタイプのほうがいいだろう。
>>52 > 有料でも
なら、誰かに作ってもらいなさい。
アイコン付き掲示板に、アイコン一覧を表示させる機能を追加したいのですが、 @gazou には画像のキャラクター名が、 @url には画像ファイルのURLが格納されてます。 @gazou[1]の画像ファイルは@url[1]となるよう揃えています。 print "<tr>\n"; foreach (@$gazou) { print "<td>$_</td>\n"; } print "</tr>\n"; } print "<tr>\n"; foreach (@$gazou) { print "<td><img src=\"$url\"></td>\n"; } print "</tr></table>\n"; } とやってみたのですが、テーブルが一列になってしまい、 非常に見栄えが悪いです。 恥ずかしながら、 foreach $1,$2 (@$gazou,@$url) とやれば、それぞれに上手く入ってくれるかと思ったんですが駄目でした。 これを改善するにはどうしたらよろしいのでしょうか? どうかよろしくおねがいします。
57 :
56 :02/07/09 02:23 ID:???
すいません、書いてるうちに混乱してしまいました。 今使っている正しいソースはこちらです。 print "<tr>\n"; foreach (@$gazou) { print "<td>$_</td>\n"; } print "</tr>\n"; } print "<tr>\n"; foreach (@$url) { print "<td><img src=\"$_\"></td>\n"; } print "</tr></table>\n"; }
>>56-57 どう考えても、CGI(Common Gateway Interface)とは関係なくて、
単なる「Perl のコーディング」に関する質問なんだけど?
>>59 マゾレス
foreachじゃなくてforつかえ
>>59 どして?(素朴な疑問) 短いから?(笑)
>>60 理解できてなかったかもしれんが、
>>56-57 はアイコンをテーブルで
□□□□□
□□□□□
□□□□□
□□□□□
こんな感じで2次元配列で並べたかったんだろ?
だったらforのが簡単にできる。
for (@data) と foreach (@data) って違うの?!いっしょと思ってたYO!テストしてみます。あんがと。
>>62 いやいや、だから
print "<table>";
for($i=0;$i<$HEIGHT;$i++){
print"<tr>";
for($j=0;$j<$WIDTH;$j++){
print "<td><a href=$url[$i*$WIDTH+$j]>$gazou[$i*$WIDTH+$j]</a></td>";
}
print "</tr>\n";
}
print "</table>";
こういうことがやりたいんじゃないの?
にゃるほど・・そういうことでしたか。 自分は
>>56 ではなくてただの素朴な質問者ですた。
まぎらわしくてスマソ(´Д`;)
for (@data) と foreach (@data) はいっしょですね。
僕が聞こうと思った質問はなんだったのかという質問。 スレ読んでる途中で忘れました。逝こう。
66 :
名無しさん@そうだ選挙にいこう :02/07/10 01:59 ID:2JSstgZh
Apache 2.0.39では、なぜアドレス上のクエリーに日本語が入ると(urlエンコードされた)、 CGIが問答無用に動かなくなるのでしょうか? Apache 1.3.26では動くCGIなのですが。ヘルプきぼん。
文字列のエンコードぐらいしる!
デコードじゃないか?
>なぜアドレス上のクエリーに日本語が入ると(urlエンコードされた)、CGI 妙な内容の括弧のせいで文章全体が崩壊していると思われ。
括弧内は”日本語”にかかった修飾です。
http://127.0.0.1/?Query=%a6%c6 デタラメですが、例としてはこんな感じです。
ちなみにデコードしるじゃなくて、CGIが頭から作動しなくなるの。
アドレスにurlエンコード入るとSSIが入ったページの全SSIがエラー起こしはじめます。
困りました。
Bugかな? だれかApache 2.0.39を使ってるやつ他にいないか?
>>73 (゚Д゚)ハァ?
使えてますが、何か?
それより、
>>68 >>72 があまりに馬鹿なのでだれも構ってくれないだけだろ
> あまりに馬鹿 え?
( ゚д゚ )ポカーン
( ゚д゚)ポカーン
(^д^)ポカーン
80 :
nobodyさん :02/07/11 13:17 ID:MOxFygTE
CGI改造専用スレに行くべきが迷ったのですが、
CGIそのものの改造ではないのでこちらで質問いたします。
ttp://www.prism-web.com/cgi/file/bbs/designbbs/index.html ここの掲示板CGIをいただいて使おうと思っています.
この掲示板はデザインをテキストファイルで行います。
サンプル<tp://www.prism-web.com/cgi/file/bbs/designbbs/cgi/design4/bbs.cgi
(まだ見てるだけの状態なので、私のサイトにはないです。これは配布元のサンプル)
私が変更したいのは1箇所、「この記事へ返信」をリンクではなく、
投稿ボタンのような、ボタンにしたいのです。
どう変えればよいでしょうか。
>>80 十分に改造じゃないか。
ボタンにするだけならと簡単そうに考えてるかもしれないが、
そう簡単とは限らないよ。
>>80-81 <FORM ACTION="./bbs.cgi" METHOD="GET">
<INPUT TYPE="hidden" NAME="mode" VALUE="res">
<INPUT TYPE="hidden" NAME="no" VALUE="スレ番号">
<INPUT TYPE="submit" VALUE="この記事へ返信">
</FORM>
こんな感じになればいいと思うけど
あとは JavaScript で飛ばすとか。。。
JavaScript 常時オフの場合は?
>>80 JSだとこうかな。 (mes_sheet.txt)
<script type="text/javascript">
document.write("<form><input type='button' onclick='javascript:location.href=\"$script?mode=res&no=$no\"' value='この記事に返信'></form>");
</script>
<noscript>
[<a href="$script?mode=res&no=$no">この記事に返信</a>]
</noscript>
86 :
80 :02/07/12 14:15 ID:lwKUS/YE
81>>
迷ったのよ・・・(w
なぜなら、その改造は掲示板のCGIを書き換えるのではなく、
CGIが読み込むデザインファイル(テキストファイル)
を書き換えるものだから・・・CGI改造とは言わないんじゃ?
とか思ったの・・・。
でも助言サンキュ。今度から改造スレに行くよ。。。
>>82 おおっ。そうか、そうすればよいのか・・・。
有難うございます(TT)
(hiddenをどうしていいのか詰まってた(w))
>>83 ,84
ナイス案サンキュ。
>>85 有難うございます。
>>ALL
みんな教えてくれてありがとね!
>86 そう思うなら、HTMLスレに行った方がよかったと思われ。
Linuxサーバーで PerlでプログラミングしたCGIを動作させているのですが、 現在不都合が起きて困っております。 動作内容は FTPでアップロードした exe(自己解凍書庫)ファイルを CGI経由でダウンロードさせる物です。 ---- ここから ---- $|=1; print "Content-Type: application/octet-stream\n"; print "Content-Disposition: attachment; filename=\"$file\"\n\n"; open(FILE, "$file_path$file") || die; binmode(FILE); binmode(STDOUT); print <FILE>; close(FILE); ----- ここまで ---- exeファイル以外は上手くいったのですが、(Lzh、zip等) exeファイルの場合は ダウンロードは出来るものの、 アップロード時とファイル容量が違っておりました。 アップロード時:32,051 バイト ダウンロード時:37,718 バイト ダウンロードした後実行すると、 「ヘッダーの内容が不正 解凍できません」とエラー表示されます。 print "Content-Type: application/octet-stream\n"; 上記を print "Content-Type: application/x-msdownload\n"; に変更してみたのですが、 それでも上手くいきませんでした。 何か解決策があれば教えてください。
>>88 FTP でウpした時点で、既に exe ファイルが
壊れているとか。
90 :
nobodyさん :02/07/13 22:13 ID:An7VzFLr
92 :
nobodyさん :02/07/14 00:18 ID:YPZNOz0d
>>89 アップロードしたファイルと元のファイルは同じもので、
再度FTPでダウンロードした場合正常に解凍できました。
他の原因としては何が考えられるでしょうか・・?
念のためにスクリプトを下記のように変更しました。
open(FILE, "$file_path$file") || die;
my $filebody = '';
while(read(FILE,$filebody,1024)){
print $filebody;
}
close(FILE);
>>92 スクリプトに問題があるとは思えない。
ローカルのファイルサイズとFTPクライアントで見るサーバーのファイルサイズは本当に同じ?
>>93 再度確認しましたが同じでした。
CGI.pm を使って CGI経由でファイルのアップロードを行ったのですが、
その場合もだめでした。 exeファイルのみ壊れます。。
う〜ん、何故だろう?ごめん、俺にはわからない。
96 :
nobodyさん :02/07/14 00:54 ID:CbCEC3kH
ダウンロード時にバイト数が増えているからファイル内容出力後に 余計なもの出力してるんだろ。
binmode?
オリジナルファイルと壊れたファイルをバイナリ比較してみるしかないんじゃないかな。
>>97 Linuxサーバならbinmodeは無関係でしょ。
99 :
nobodyさん :02/07/14 15:56 ID:T31bpVIl
100 :
nobodyさん :02/07/14 15:59 ID:xUfIRkak
>>99 /path%2Fto%2Fobject というファイルが見つからないといってるんだから、
おそらく見つからないのでしょう。
スラッシュをURLエンコしたらディレクトリと見なされないのでは?
ブラウザが
103 :
nobodyさん :02/07/14 16:41 ID:T31bpVIl
>>99 なんでスラッシュがエンコードされてる時だけ
普通にファイルサーチするんでしょう??
>>101 ディレクトリと見なされないっていうのは...
/(documentroot)/hugahuga.cgi って"ディレクトリ"の
"path/to/object" を探そうとするってことですか?
%2f が入っちゃうと cgi の PATH_INFO として認識しないってことなのかな。
でも普通の QUERY_STRING 渡しとかだと別になにも問題ないですしね。
そういう仕様なんでしょうか。
http://hoohoo.ncsa.uiuc.edu/cgi/interface.html 見たけどよくわからなかった。
もし、その CGI に "slash/including/file" みたいにスラッシュを中に含んだ
名前を渡したいときってどうするべき?
といってもUNIX はスラッシュを含むファイル名って作れなかったか。
104 :
nobodyさん :02/07/14 16:44 ID:T31bpVIl
>>103 >>99 じゃなく
>>100 でした。
あと、単純に PATH_INFO の内容を出力するだけのプログラムで実験したんで
CGI 中でエラー吐いてるわけじゃないです。
>>103 path/to/object(というディレクトリ)が存在すれば、 %2f でもPATH_INFO は取得できますね。
>もし、その CGI に "slash/including/file" みたいにスラッシュを中に含んだ
>名前を渡したいときってどうするべき?
そのまま hoge.cgi/slash/including/file では?
106 :
nobodyさん :02/07/14 17:14 ID:T31bpVIl
>>105 その場合の path/to/object ってディレクトリはどこですか?
/(documentroot)/path/to/object ですか?
あと、普通の URL の / をエンコードした場合も Not found です。
そりゃそうだ。
>そのまま hoge.cgi/slash/including/file では?
あう、そうでした。区切にスラッシュ使ってた場合、
区切りじゃないスラッシュはどうやって渡せばいいのかって話でしたけど
区切りにスラッシュ使うなってことで解決ですな。
PATH_INFO 解ってない馬鹿共が雁首並べているスレはここですか?
108 :
nobodyさん :02/07/14 18:03 ID:T31bpVIl
>>107 すみません。わかってません。
CGI の / 以降 ? 以前のところを PATH_INFO として
CGI に渡すってのでまちがってます?
で、なんで %2F を渡すと CGI に渡さないで Not Found になるのか
わからないんです。
>>106 >その場合の path/to/object ってディレクトリはどこですか?
hogehogeディレクトリ以下です(下図)
hogehoge / hoge.cgi
|
+----- path
>区切りにスラッシュ使うなってことで解決ですな。
まあその場合は素直に QUERY_STRING 使うってことで。
110 :
nobodyさん :02/07/14 18:12 ID:T31bpVIl
111 :
nobodyさん :02/07/14 18:27 ID:T31bpVIl
Apache のソース見て完結しました。 PATH_INFO の中身は OS 上のファイル名として正しいかどうか検査されるらしく、 (PATH_TRANSLATED に渡すから。) hoge.cgi/path%2fto%2fobject とした場合、 / 以降をきりはなしてから URL デコードが行なわれて "path/to/object" というファイルが正しいかどうか検査されてしまうようでした。 で、スラッシュを含むファイル名は invalid なので Not Found になってしまうと。
112 :
nobodyさん :02/07/15 01:06 ID:K04tugP+
新手の宣伝だな。
CGIの動作速度を計るにはどうしたらいいですか?
>>120 URLリクエスト実行と共にストップウォッチをスタートさせて、
ページが表示されましたがステータスバーに表示されると同時にストップ
、これを3回繰り返して平均値を採る。
>>122 地味な方法かも知れないけど、恐らくこの方法しかないから書いてんだよ。
なんで誰も腹時計を使わないんだ…?
>>114 time(), time()か、そのインターフェイスであるBenchmark.pmを使いなさい。
>>125 実際にはそれだけで済ますことが多いけどね(笑
128 :
nobodyさん :02/07/15 22:06 ID:FYJg29vU
129 :
99 :02/07/16 15:55 ID:2ITiCbad
PATH_INFO なんですが、 IIS だと %2F は問題無く渡せるんですよね。 SCRIPT_NAME まではいっちゃうってのはあるけど。 なっとくいかないなぁ…
130 :
コギャル&中高生 :02/07/16 16:16 ID:WKPR3v3m
>>126 Benchmarkでできました。
ありがとうございます
特定のディレクトリ以下のhtmlファイルにアクセスされたら、 こちらが発行したクッキーがあるかどうか調べて、あったら、htmlファイルへのアクセスを許すというcgiが欲しいのです。 htmlファイルにアクセスされたら自動的にcgiが動いて調べて通すか通さないか決める。 こういうのってありますか? というか、htmlファイルにアクセスされたら他のcgiが動くなんて出来るんですか?
.htaccess
今更ながら、
>>126 は
time(), times()か、その〜
でした。ごめん。
>>132 できるよ。
SSIを使用して
何もないhtmlファイルにそのCGIを読み込むSSIのタグを記入。
それでもrefは取得できるから
良ければ指定のファイルを読み込んで表示。
だめならエラーを表示。
.htaccess でhtmlにアクセスがあったら、アクションさせればいいだろ。 Action image/html /~user/bin/ref.cgi
image/html ってなんだよ。 text/html
138 :
132 :02/07/16 19:22 ID:???
.htaccessとかSSIとか高度な事わからないので自分でやるのは無理みたいですね。 レスどうも。 まさかそんなフリースクリプト無いですよね。
>>138 くれくれ君でしたか。
URL に 〜.cgi ってのが出るのがいやじゃないなら
PATH_INFO を使ってやってくれるのもあるだろうね。
cgiwrapper みたいなかんじで。
でも、対象のファイルがパブリックなとこにあったら
あんまり意味ない。
シームレスにやるんだとしたら .htaccess 使えないとちょっと。
割算の計算で、下2桁数まで表示させたいのですが、以下のような記述をすると エラーになってしまいます・・・。いい解決方法ないですか? {$A = $B / $C;} $D = sprintf("%.2f",$A);
A: 25 wallclock secs (25.82 usr + 0.00 sys = 25.82 CPU) @ 5809.45/s (n=150000) ↑これってなにを表してるんですか?
@ 5809.45/s←これ
>>140 どんなエラーなのか分からないとなんともいえないな。
エラーメッセージが
Illegal division by zero
ってのなら、$Cに入っている値が0または数値として有効な値ではない、ってことで
キミの考えている値が$Cに入っていないということなんだけど。
144 :
140 :02/07/16 22:39 ID:K1PKQlrM
>>143 そのとおりでした!
無事解決です。どもです。
146 :
コギャル&中高生 :02/07/17 12:36 ID:k/AJy+eK
$buffer = $ENV{'QUERY_STRING'}; local(@pairs) = split(/&/,$buffer); foreach $pair(@pairs){ local($name,$value) = split(/=/,$pair); $FORM{$name} = $value; }
148 :
nobodyさん :02/07/18 00:52 ID:PSEaDSiM
149 :
nobodyさん :02/07/18 00:57 ID:PSEaDSiM
(´-`).。oO(<<EOF) "動きません"だけじゃどこに書いても同じ結果になると思うよ…。 EOF
151 :
nobodyさん :02/07/18 01:18 ID:PSEaDSiM
>>150 ですよね。(^^;
このCGIスクリプトでは、ほとんどエラーメッセージがで
ないんです。「スクリプトに use CGI qw(:standard); を付
ければ」というのを頂いたのですが、このスクリプトには
既にこれが記入されていました。
十分なエラーメッセージを出す方法がわかれば、と思うん
ですが、、
152 :
nobodyさん :02/07/18 02:20 ID:BBLbgize
>>151 use CGI::Carp qw( fatalsToBrowser );
を入れてみたら?
エラーをブラウザに表示してくれるよ。
154 :
nobodyさん :02/07/18 09:38 ID:PSEaDSiM
>>151 use CGI::Carp qw( fatalsToBrowser );は既に入っていて、
そのエラーメッセージは下の1行だけです。
(dbmopen) ./diff
haruno.fam.cx/~sawatari/text_perlbbs.html のページで下の文を参考にしたのですが、標準入力の値がうまく取れませんでした。 if ($ENV{'REQUEST_METHOD'} eq "post"){ read(STDIN, $str, $ENV{'CONTENT_LENGTH'}); } で、$ENV{'REQUEST_METHOD'}をprintで見たらPOSTが入っていました。 で、($ENV{'REQUEST_METHOD'} eq "POST")にしたらうまくいきました。 上の例文は間違っているんでしょうか?
Perlでは大文字小文字区別すること忘れてないか?
>>155 ネタにしても、もちっとレベルの高いやつを書こうね!
158 :
nobodyさん :02/07/18 16:46 ID:yrmBF5Vl
>>155 >メソッドは当然postで。(XHTMLでは大文字は禁止)
と書いてありますが。
ネタだったか、釣られてしまったよ。
(゚д゚)ハァ? なんでそこでXHTMLが出てくるんだ?
XHTML で <form method="post"... ってやっても、 UA は大文字でリクエスト出すと思うけど。 POST /~gikogiko/cgi-bin/bbs.cgi HTTP/1.1 みたいな感じで。
>>155 request-methodの大文字小文字は環境依存な気がする。
lc($ENV{REQUEST_METHOD}) eq "post" とでもするべき。
ていうか、そのページなんか変じゃないか?
> メソッドは当然postで。(XHTMLでは大文字は禁止)
もしかして属性の値も小文字じゃなきゃいけないと思っているのだろうか…。
俺の読み間違い?謎。
その他の説明も質が悪いよ。
そんなページを参考にしてると変な癖がつくから、もっとまともなものを参考にした方がいいよ。
レス遅すぎだね。ショボーン
>XHTMLでは大文字は禁止。 確かに同意だが、それは要素の話。属性値は関係ない。 そのページのpostが間違ってる。POSTと書くべき。
165 :
155 :02/07/18 17:18 ID:???
ネタじゃないです。
いろいろレスが付くと本当にどれが本当なのかわからなくなっちゃいます。
どうかお願いします。
$ENV{'REQUEST_METHOD'} が返す値はpostの時は、
post ですか? POST ですか?
決まっていないですか?
決まっていないとしたら
>>162 さんのlc(小文字に変換)のやり方をやればいいんですよね?
METHOD にpostなんて無い。
methodにpostは無いんですか?getはあるんですか? 意味がわからないです。
get なんてのも無い。 GET ならある
つまり大文字、POSTとGETしか無いって事ですね? if ($ENV{'REQUEST_METHOD'} eq "post"){ read(STDIN, $str, $ENV{'CONTENT_LENGTH'}); } じゃこれは間違いなんですよね?
間違いです。
if (uc($ENV{'REQUEST_METHOD'}) eq 'POST'){ \tread(STDIN, $str, $ENV{'CONTENT_LENGTH'}); } 一件落着。
179 :
nobodyさん :02/07/21 15:08 ID:oVSm9VL9
個人情報などをCGIを使って、「登録」→「掲載」するときに テキスト入力をする場所を80個くらい作り、 それらすべてに書き込み&送信しても不具合とかはないですよね? 不安定になるとか、負荷が過度にかかるとか。 複数の人の登録をまとめて行おうと思うのですが。
180 :
:02/07/21 15:32 ID:???
言うことナス!
>>179 そら、ふざけた負荷がかかる。
って言うかインターフェース悪すぎ。
>>175 REQUEST_METHODの値は小文字になることもあるって聞いたけど。
だから俺は標準関数のstrcmpは使わないで大文字小文字を区別しないstrcmpを自作して使っている。
184 :
182 :02/07/21 16:14 ID:???
/get/i
186 :
182 :02/07/21 16:19 ID:???
>>185 REQUEST_METHODの中の文字を全てtoupperで大文字にしてからstrcmpにかけろということ?
環境変数の値は変えたくないんだけど・・・
お前らCGI語るならPerl位常識の範囲で知っておいてください・・・。
>>186 >環境変数の値は変えたくないんだけど・・・
違う変数用意すればいいじゃん。
おいおい・・・。
189 :
182 :02/07/21 16:23 ID:???
参照するだけなのにコピーを取る奴って・・・
>>191 じゃあどうやるのと。
自作strcmpなんて大げさなことするのがベストとは思わない。
>>192 strcmpなんて書いても7行程度だろ。しかも様々な局面で再利用できるし。
strcasecmp とか stricmp を知らないのか?
char buf[10]; int i; strcpy(buf,getenv("REQUEST_METHOD")); for(i=0;buf[i];buf[i]=toupper(buf[i])) ; if(strcmp(buf,"GET")) printf("GET以外\n"); else printf("GET\n"); ここまでするの・・・
むしろ、stricmpもstrcasecmpも実装されていない環境を教えてほしい。 なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる 環境を教えてほしい。 考えられるのはクライアントが"Get"等でアクセスしたのがそのまま通されるか、 HTTPDがCGIで環境変数を渡すときに勝手に改変するか。 メソッドはRFC上はcase-sensitiveなので、クライアントがGetやget等で リクエストしてもエラーを返すべき。それをしないHTTPDはタコ。 無論、メソッドを勝手に改変するHTTPDもタコ。 そんなHTTPDある?
>むしろ、stricmpもstrcasecmpも実装されていない環境を教えてほしい。 strチンポくらい自分で掻け >なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる 意味不明、死ね >HTTPDがCGIで環境変数を渡すときに勝手に改変するか。 んな訳ないだろ >リクエストしてもエラーを返すべき。それをしないHTTPDはタコ。 shallだろ、mustじゃねー やっぱり死ね >無論、メソッドを勝手に改変するHTTPDもタコ。 妄想ですか? shallの解釈位自分でやれ 実際問題、Getを飛ばしてくるアンポンタンなクライアントは 存在する、それだけ。
>>198 >>なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
>意味不明、死ね
CGI素人なら黙ってな。
>>HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
>んな訳ないだろ
あるが?HTTPDが環境変数を設定する以上、無いという方が難しい。
夏休みって嫌い。
200 :
197 :02/07/21 21:15 ID:???
えと、
>>196 で標準関数じゃ無いとあったので、それが使わない原因なのかと
思ったんだけど、ちがうのか。っていうか、自分のプログラムでstricmpな
環境では単純にプリプロで#define strcasecmp stricmpとしている物があるの
で、それで済まない環境があるなら知りたいという意味で聞いたのだけど。
あと、HTTPDに関しても非サポートリストに加えたかったので聞いただけ
なんだけどな。
蛇足ながら、shall じゃ無くて SHOULDね。
夏が来た。夏が来た。
>>199 ほー、じゃあGetとリクエストしてGETになる様なHTTPDとやらを
挙げてもらおうかCGIのプロさんよ
>>202 俺の作ったxllHTTPD。そこ以外はRFC完全準拠だ。
>>202 Get とリクエストするのは RFC に従ってない。
>>205 で、その「従ってない」リクエストをした時にどう動くかと聞いている
JAROに訴えるか?
何もやらないんじゃない? そんなリクエストメソッドはないんだから。
ヲイヲイ >ないんじゃない? とは何だCGIのプロさんよ 自分でクライアント書いてGetでその辺のサーバに リクエストしてみろよ そんな偏屈サーバに当ったらここに書き込んでくれ
210 :
197 :02/07/21 22:02 ID:???
え、っと、、GetをCGIに通すHTTPDを教えてくださいな・・・ ミンナコワイヨウ…
yahoo.co.jp に Get / HTTP1.1 HOST: yahoo.co.jp した結果 HTTP/1.1 400 Bad Request Date: Sun, 21 Jul 2002 13:17:35 GMT Connection: close Content-Type: text/html
>>212 ムヒョ! MethodNotImplemented返ってきた
あれえおかしいなあ、Getもいけてた筈なんだけどなあ
もしかして、俺間違えまくりチョー-厨房って感じ?
偉そうにしてゴミンナサイ
今すぐ首括って死にます (チョー死んでお詫び
すまんかった。 Get / HTTP/1.1 Host: www.yahoo.co.jp HTTP/1.1 501 Method Not Implemented Date: Sun, 21 Jul 2002 13:28:12 GMT Allow: TRACE Connection: close Transfer-Encoding: chunked Content-Type: text/html
216 :
197 :02/07/21 22:54 ID:???
まじ?天然だったのかよ。。。もうちょっと弄らせてよ〜ん。 楽しんでたのにぃ。 ちなみに、Netscape-Enterpriseやら、Microsoft-IISにGetで投げると 404が帰ってきます。なぜ404かと問いつめたいですが・・・ この辺のサーバでCGIな所は見つけるの面倒なので探しませんでしたが たぶん同じでしょう、IISのASPなところも404でした。 んで、GoogleのGWSだけは、200で普通に返してきます。 もしかしたら外部からの特殊クライアントに配慮してるのかも。 なんにしろ、逝ってらっしゃい〜
217 :
コギャル&中高生 :02/07/21 23:12 ID:8IhQDrIi
素直に引いたな…
219 :
nobodyさん :02/07/22 06:49 ID:1nREPLNC
質問です。 teacup掲示板の無料タイプなんですが、これにアクセス解析を別途に 付ける事は可能なんでしょうか? いや、自分が付けたいわけじゃなくて、訪問先のサイトにそういう事が 出来るんだったら、しょっちゅう見に逝ってるのが知られるとハズカシーなあ と思ったのですが。
220 :
sage :02/07/22 07:03 ID:rjydbpOU
>>219 掲示板のタイトルなんかがhtmlで記述出来るなら可能だろうよ
掲示板自体に解析機能が付いてたっておかしくないし
textareaから渡された文字列の改行コードを<BR>に変換したいのですが これで合っていますか? $hoge =~ s/\r\n/\x3cBR\x3e/gm; $hoge =~ s/\n/\x3cBR\x3e/gm; $hoge =~ s/\r/\x3cBR\x3e/gm;
222 :
221 :02/07/22 11:03 ID:???
一応windowsで、テストしたら出来ました。
223 :
221 :02/07/22 11:10 ID:???
$hoge =~ s/\r\n/<br>/g; $hoge =~ s/\r/<br>/g; $hoge =~ s/\n/<br>/g; もう一つ見つけました。ほとんど同じですが。 スマートとかスマートじゃないとかあるんでしょうか。
224 :
nobodyさん :02/07/22 11:19 ID:StGZBnhO
$hoge =~ s/\n\r|\r|\n/<br>/g;
見た目にはこっちのがスマートだけど
>>223 のが微妙に速い。
自分にとってメリットの多い方使えば?
>>224 $hoge =~ s/\r\n|\r|\n/<br>/g;
226 :
221 :02/07/22 11:34 ID:???
ありがとうごぜいました。
227 :
219 :02/07/22 13:23 ID:???
>>220 そうですか、
/bbsで終わっていたアドレスなんですが
場合によっては付けられるんですね、有り難うございました。
掲示板らしきものを自分で作っているのすが、 log.txtにデータを保存しています。 で、log.txtのパーミッションは666です。 よくCGI配布サイトでログファイルは666にしろと書いてあるのでそのまま真似ました。 ファイルの書き込みは成功しました。 ファイルをFTPでダウンロードして確認するとちゃんとデータがあります。 だけど、ブラウザで直接log.txtを見るとまる見えになっていました。 log.txtには当然パスワードとか大切な情報もあるので自分以外の第三者には見られたくありません。 パーミッションがなんかいけないのかと思い、622にしてみました。 するとブラウザでは403エラーが出て見えなくなりました。 ファイルの書き込みテストをしても正常に動作しました。 これでいいんでしょうか。何か間違っているとこがあれば教えてください。
ブラウザからアクセスできない場所に置く。 これ、最低限の常識。
231 :
228 :02/07/23 09:59 ID:???
えと、あの、パーミッションの設定はどうですか?ダメですか?
>>231 サーバによるけどnobodyから見えなくすればcgi(を実行する権限)からも見えなくなる。
>229 プロバ鯖だとそれができない場合もあるだろ。 そうしたくてもできないとか。
<form action="./aaa.cgi" method="post"> <input type="radio" name="check" value="1"></input> <input type="radio" name="check" value="2"></input> <input type="button" name="mode" value=""></input> #削除モードに行くボタンにしたい <input type="button" name="mode" value=""></input> #修正モードに行くボタンにしたい </form> ラジオボタンを選んでもらって実行する対象を選びます。 次に対象を削除するか修正するかのモードを選んで次の画面へ進みます。 下のモードを選ぶ部分のボタンをどうすればいいかわかりません。 <button type="submit" name="mode" value="sakuzyo">削除</button> <button type="submit" name="mode" value="syuusei">修正</button> というのを試したんですけど、<button>タグに囲まれた「修正」という値が返ってきてしまいました。 削除ボタンを教えても修正が入っていました。
235 :
:02/07/23 12:11 ID:???
>>231 622とはまた変わったのにしたな。
読み書きともCGIからなら600にできるように直したら?
236 :
nobodyさん :02/07/23 12:22 ID:HNBPTziw
SSIからCGIを呼び出すときにデータをつけるとうまくいきません。 たとえば <!--#exec cmd="./cgi-bin/read.cgi?hoge"--> だと何もかえってこない(多分CGIが実行されない) また <!--#exec cgi="./cgi-bin/read.cgi?hoge"--> だと[an error occurred while processing this directive]に なります。 ちなみにCGI単体ではうまく動いています。 もちろんSSIのときは"Content-type: text/html\n\n"をけしてます。 また、データを与えないタイプのCGIは上の方法(cmd=)でうまくいきます。 SSIからCGIにデータをあたえて呼び出すのって無理なんですか?
237 :
. :02/07/23 12:29 ID:???
>>234 返ってくる値は「修正」ではなく「syuusei」でしょ?
nameが同じだから後に書いてあるほうが有効になってるだけ。
別々の名前にすればいい。
238 :
234 :02/07/23 12:42 ID:???
>>237 いえ、それが漢字の「修正」が入っているのです。
確かめるとわかると思うのですが、nameを別のにしたら
あとでパラメーター受け取る時modeで読めなくなってしまいますよ。
239 :
nobodyさん :02/07/23 12:51 ID:HNBPTziw
<input type="submit" name="mode" value="削除"> <input type="submit" name="mode" value="修正"> にすれば mode="削除"とmode="修正"がはいるよ buttonはべつに押したとき値が入るってわけでもなかった気がするな。 どうしてもsyuuseiがいいなら知らん。
240 :
nobodyさん :02/07/23 13:13 ID:YKQaMhWj
>>234 <input type="submit" name="del" value="削除">
<input type="submit" name="edit" value="修正">
でdelがdefinedなら削除、editがdefinedなら修正でいいんじゃないの?
241 :
:02/07/23 14:04 ID:???
242 :
234 :02/07/23 16:40 ID:???
239のやり方で出来ました。 formの中にsubmitが二つあるのに違和感があったのと、 submitのvalueの値がそのままパラメータになるのに気づきませんでした。 ありがとうございました。
>>236 <!--#exec cmd="./cgi-bin/read.cgi hoge"-->
試してみるなり。
#!/usr/bin/perl $|=1; print <<_HEADER_; HTTP/1.0 200 OK Server: NPH-Script Connection: close Content-Type: text/html _HEADER_ $count=0; while(1) { sleep(1); $count++; print("$count<hr>\n"); } こんなスクリプト書いて実験してるんだけどNN4.x/Mozilla/NN6/Operaでは 予想通りに約1秒ずつカウントしてくれるんだけどIEだと何も出ないんです。 何が悪いのか教えてください。
245 :
nobodyさん :02/07/24 18:09 ID:F9mOipAg
板違いだったらすみません。 自分の利用しているプロバイダのサーバにCGIを置き、 テスト書き込み等動作確認をしました。 その際のテスト書き込みを消したいと思うのですが、 記事を削除するしかないでしょうか? 削除しても記事に削除されたものを含んだ通し番号がついているので、 テスト書き込みをする前の何も書き込みのない状態に戻したいのですが…。 どこかのサイトでファイルを再度アップロードすればいいというような文章を 読んだ気がしたのでプロバイダにやってもらったのですが、消えませんでした。 私が使うCGIはKENTさんのCGIを改造したものをとあるサイトから ダウンロードしたもので、もともとのスクリプトをテンプレート対応にするため 複数のファイルに分けています。 現在プロバイダにはそのCGIを動かすための2つのファイルを アップロードしていて、その2つともを再度アップロードしてもらったのですが、 それではだめなのでしょうか? 質問の書き方が悪かったらすみません。
>>245 バカなんだから自分でできる以上のことはしない。
247 :
245 :02/07/25 03:23 ID:sjq0OBfO
>>246 さん
すみません、確かにバカでした…。
CGIの根本がまだ判っていないので…言い訳ですけどね。
>>246 さんのレスがちょっと悔しかったので(w それ以上のことがしたくなり、
何とかテスト書き込みをすべて消すことが出来ました(勿論記事削除ではないですよ)。
お世話になりました〜。
>>244 想像だけど、標準出力閉じないと
セッション貼りっぱなしになるんじゃ無いの?
他のブラウザで上手く行くのが凄いと思う
>>248 >標準出力閉じないと
閉じていいのか?あれ。
俺はさっさとclose(STDOUT);してから重い処理してる。
掲示板を自分で作成しています。 投稿データの削除処理についてなんですけど、データは一個ずつ1行に入っています。 で、削除する対象を判別した後は、data.txtからdata2.txtに1行づつコピーしていって 削除する対象の行になったらその時だけ飛ばして、最後の行まで到達する。 で、data.txtを削除。data2.txtをdata.txtにリネーム。 このやり方しか知らないのですがこれでもいいですか? 他にやり方ありますか?
>>244 IEではNPHスクリプトはサポートしてないはず。
今はどうだか知らんけど多分今でも無理。
>>244 サーバサイドはそれで問題無い、それはクライアントの癖だな
多分IEのバッファが効いてる
>>248 ちょっと違うんじゃ無い? 要は少しずつ転送したいだけだと思う
>>252 意味不明、そんなブラウザは無い
255 :
252 :02/07/25 13:36 ID:???
>>253 すまん、完全に間違ったまま覚えてた。
Pragma: no-cacheでIEでもいけた。
と思ったらno-cacheだけじゃダメか。 2回目からはいいけど初回実行はやっぱりバッファリング されてる感じ
ズガーン!! そもそもcache関係ないじゃん。 さっきから連続で醜態晒してるな >俺 もういい!寝る!
$hoge = "あいうえお"; $hoge =~ tr/あ-ん/ア-ン/; print "$hoge"; これでひらがなをカタカナにする事可能ですか?
Jperlじゃなけりゃこうしませう。 $hoge=~ s/あいうえお/アイウエオ/;
あいうえお の時は大丈夫ですけど。 他のひらがなが入った時はどうするんですか?
>>260 あらかじめひらがなのパターンがわかっていればその分だけ用意すればいい。
環境は?
あらかじめわからないので、ひらがなは全てカタカナへ というのが欲しいのです。 環境ってwin2000とかの事ですか? perlでやってます。
263 :
nobodyさん :02/07/25 15:07 ID:FEL1JQfu
ひらがなをカタカナに変換するときはJperlなら tr/ぁ-ん/ァ-ン/; だから、これのSJISコードをサブスティチュートで置換すればいいと思う。
265 :
nobodyさん :02/07/25 15:17 ID:oLz9j3NE
>>258 あいうえお → ΒΔΖΘΚ
こうなった(Linux)
やってみたけどチョット後半も文字がズレるね。 s/\x82([\x9f-\xf1])/"\x83".chr(ord($1)-95)/ge;
不可能なんでしょうか。
Jcode.pm使ってください。 use Jcode; my $s = Jcode->new("てきとー")->tr('あ-ん' => 'ア-ン')->sjis();
なんかJcode.pmが無いみたいなエラーが出たんですけど。
入れてる?
いっとく?
どこに?
$hoge = "かきくけこ"; use Jcode.pm; my $hoge = Jcode->new("てきとー")->tr('あ-ん' => 'ア-ン')->sjis(); print "$hoge"; ---------------------- Internal Server Error Jcode.pmというのをダウンロードしてcgiと同じディレクトリに置きましたが・・・。
なんでだろなんでだろな〜〜〜んでだろ〜〜〜♪ jcodeをuseしないでtr〜〜♪
何がだめか教えてください。
@INC
エラーもREADMEも読まないならplにしとき それでも駄目かも知れないけど
どうできましたか?御願いします教えて下さい。
CGIに適したPerl以外の言語は何?Ruby?
C
>>284 C++とかJavaとかもいいな。
PHPはなんか中途半端。
構文がしっかりしてる文ちょっとがっかり。
286 :
nobodyさん :02/07/26 00:54 ID:L9BP6kAT
Apacheを使いたいのです。
http://127.0.0.1/をブラウザで開いて 「インストールがこの計算機で無事に終了したことを意味します。」は見れました。
また、ルートフォルダにあるhtmlファイルも開くことは出来ました。
が、CGIファイルを起動すると
Internal Server Errorが表示され、最後の行には Apache/1.3.14 Server at localhost Port 80と表示されます。
何が原因なんでしょか?(win meです)
>286 ActivePerlはインストールした?
289 :
286 :02/07/26 01:17 ID:L9BP6kAT
>>287 しました。
>>288 そこに書いている設定は一通りしてみました。
が、だめでした。一度アンインストしてやり直してみても同じでした。
>289 じゃあ、CGIのソースを確認しろ。 HellowWorld!試せ。
すみません。CGI書けないんですがどうすればいいんですか? ってオチな気がする・・・。
>>291 conf/httpd.confの位置ってわかる?
それ設定したりしないと無理。
言語はPerlか。 Perlのパスが間違っているんじゃねーの?
>>293 ちゃんと/usr/local/bin/perlにしています。
>>294 本当にそこにインストールしたんだろうな?
ところで、Apache1.3.14は古すぎ
最低限必要なヘッダーを出力していないとか。 Content-Typeとかね。
>>294 WinMEでApacheだったら
C:\Perlのパス\perl
じゃないかな。
#!C:/Perl/bin/perl
299 :
nobodyさん :02/07/26 10:35 ID:Ppnf9uEO
#!C:/Perl/bin/perl # ライブラリ require 'cgi-lib.pl'; # デコードサブルーチン &ReadParse(*form); # ライブラリ require 'jcode.pl'; # 文字コード変換サブルーチン &jcode'convert(*form,'sjis'); # 連想配列から値だけを取り出し、区切りのハイフンを追加 # HTMLタグと衝突する記号などを変換 $name = $form{'name'}; # -----ここから出力 ----- print "Content-type:text/html\n\n"; print << "END_OF_HTML"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE></TITLE> </HEAD> $name <BODY> </BODY> </HTML> END_OF_HTML 上のエラー出るんだけどどこか間違ってる?
Can't find string terminator "END_OF_HTML" anywhere before EOF at pl.txt line 22
301 :
nobodyさん :02/07/26 10:54 ID:Ppnf9uEO
#!C:/Perl/bin/perl # ライブラリ require 'cgi-lib.pl'; # デコードサブルーチン &ReadParse(*form); # ライブラリ require 'jcode.pl'; # 文字コード変換サブルーチン &jcode'convert(*form,'sjis'); # 連想配列から値だけを取り出し、区切りのハイフンを追加 # HTMLタグと衝突する記号などを変換 $name = $form{'name'}; # -----ここから出力 ----- print "Content-type:text/html\n\n"; print <<END; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> $name </BODY> </HTML> END [EOF] またまたエラー
Useless use of single ref constructor in void context at line 36. syntax OK
cgi-lib.plとjcode.plはちゃんとありますか
305 :
nobodyさん :02/07/26 16:04 ID:owWjrwta
スレ違いorガイシュツだったらスミマセン こんど携帯対応の掲示板を作ることになったのですが、 このタイプの掲示板ってPCか携帯かで処理を分けるのですよね?? それはどのように判別するのですか? また、携帯対応掲示板を作る上での注意点などありますか?
308 :
307 :02/07/26 17:28 ID:JyrdDHk3
sageちゃったのでageます・・・スミマセン・・・
>>307 $ENV{"HTTP_USER_AGENT"}
ただし、どんな場合でもすでにあるものを見た方がはやい。
「携帯 対応 掲示板 CGI」で検索すれ。
311 :
307 :02/07/26 18:02 ID:JyrdDHk3
>>309-310 素早いレスありがとうございました!
”携帯対応無料BBS!”なんてのはいっぱい見つかったけど、
肝心の中身がみれないしなぁ・・・と思っていたら、
検索キーワードに”CGI”を付ければいいわけですよね
ああ、漏れって逝ってよしです・・・
早速またググってきます。ありがとうございました
print "Location:
http://xxx.yyy.zzz/\n "; はどこに書けばいいの?
print "Content-type: text/html\n\n";の変わりに書くとページを開いた瞬間に移動し、
cgiの最後に記述すると、移動しないです。
掲示板なんですが、別ページでフォーム記入し、送信すると書き込みのページを表示したいのです。
>>312 複数のヘッダーは同時に使えない。
そういう動作は不可能。
板違いなら済みません。 レンタル鯖で動いていたCGIを自前の鯖で動かすべく赤帽で鯖組んでみました。 すると405エラーが出てきてどこをどうすればいいやら途方に暮れてます。 The requested method POST is not allowed for the URL /form/form2mail.cgi. っていわれてるんですけど、どこを見ればいいでしょうか?Apache/1.3.22 です。 教えて君ですまそ
>>315 405エラーというのは、POSTでのリクエスト方法が許可されていないということ。
httpd.confの設定を変えれば?
317 :
☆ :02/07/27 04:05 ID:QFoQxGUe
318 :
nobodyさん :02/07/27 07:45 ID:QHfRaVBX
CGIでmp3データを出力してブラウザでダウンロードさせる処理を書いたんですが、IEだと ダウンロードのダイアログが開かずに再生をはじめてしまいます。 Contents-Typeはapplication/octet-streamにしています 出力するファイルの拡張子を.binなどにすると、ちゃんとダウンロードのダイアログが開きます。 サーバ側の設定だけで拡張子をmp3のままダウンロードをさせたいんですが、どうすればいいのでしょうか。
>>318 IEは拡張子を優先するからサーバー側の設定では無理。
IEの挙動。 MIME/拡張子から判断ではなく、ファイルの先頭を見て自分で勝手に判断する。 GIF89a が最初にかかれているテキスト文ですら、GIFと誤認する。
>>319-321 レスありがとうございます。
やはりダメですか‥「右クリック>ファイルに保存」をしてもらうしかないんですね。
323 :
315 :02/07/27 10:11 ID:???
>>316 httpd.confを見直してAddHandler cgi-script .cgi pl のコメントを解除したら動くよう
になりました。ありがとうございました。
324 :
nobodyさん :02/07/27 20:45 ID:iu2+Su0i
326 :
324 :02/07/27 21:15 ID:???
>325さん 誘導ありがとうございます。 行ってみます。
327 :
nobodyさん :02/07/27 22:07 ID:k7snFjtS
質問! exit はプロセスを終了する関数とのことですが、web用のcgiでしか プログラム作成経験していない僕には、いまいち感覚的に、何が どう終了するのかわかりません。 web用のcgi専門なので、今ははだいたい、ブラウザに画面を出力する前に いろいろ処理して、表示が終わったところで exit という風にしか使っていません。 だからほとんどHTMLフッター書き出しようのサブルーチンの最後ぐらいにしか 僕のプログラムにはexitってでてこないんですが。別に問題ない?
何がどう、といわれても…。exit()を呼び出した時点でプログラムが終了する、としか。 例えばこんな感じで。 代わりにdieで済ませることも多いけどね。 #!perl use Getopt::Std; our $opt_h; getopts 'h'; if($opt_h) { print <<HELP; $0 [-h] -h ヘルプを印字して終了する ... その他、簡単な説明 HELP exit; } # いろいろと処理… __END__ ちなみに、使用しなくても全然問題ないので、無理して使う必要は無いです。
329 :
nobodyさん :02/07/28 03:52 ID:W8D+zAzJ
330 :
329 :02/07/28 03:52 ID:???
331 :
329 :02/07/28 03:57 ID:???
332 :
nobodyさん :02/07/28 17:05 ID:Q5YYp1Uw
SSIがどうしてもローカルでテストできません。 Win2000proのIIS5.0を使ってるんですが、 SSIを使った.shtmlファイルを出そうとすると 「CMD のオプションは #EXEC の呼び出しに対して使用可能になっていません」 と出てしまいます。 IISの設定は、 .shtmlと.shtmと.stmに 「C:\WINNT\System32\inetsrv\ssinc.dll」 を「GET,POST」に制限した動詞で設定してあります(初期設定のままです) どうすればいいでしょうか?
スレ違いだと思いますが……。
>1 cgiですか?
335 :
nobodyさん :02/07/29 11:39 ID:t/nKwjTf
PHP4.0.6でセッションを使っています。 セッションは立ち上げるブラウザのウインドウごとに違うと 思っていたのですが、同一の場合がでてしまいます。 再現しないの困っているのですが、どなたか原因を知りませんか? IE5.5でファイルメニューから新規作成->ウインドウとやると 同じセッションになるようなのですが、今は普通にデスクトップの IEのアイコンをたたいて立ち上げているのですが。
例えば、投稿者項目と本文項目のデータがあるとして、 そのデータテキストから検索をしたいとします。 1,太郎,はじめまして。 2,花子,いい天気ですね。 3,名無し,逝ってよし 4,nobody,キタ━━━━━━(・∀・)━━━━━━!!!! ・・・・ こういうのがあって、で検索は名前と内容が条件です. 名前が○○で、本文に○○がある時、その投稿を抜き出します。 条件は一つでもいいです。 if(($name eq "$input_name") and ($content =~ /$input_content/)){ テキストファイルを開いて、printする。 } $input_***は利用者が入力した文字列です。 で、どっちか片方でもいいので変数が空になる時もあります。 本文に○○があるのを抜き出せと命令が来たら、 名前が空に一致するわけないので条件に合うものは当然ゼロとなります。 この例だと条件が二つなので地道に3通り条件をif文で書けばいいかもしれないけど条件が多くなった時は大変です。 どうやったらうまく書けますか? 入力された変数が空かどうかを見て、if文を変数にどんどんつなげて作っていく方法が あると思うんですけど、それってSQL文とかでDBに渡すときしか意味ないですよね。 $hoge = "($a eq $aa)"; if $hoge { } こうやったら出来なかったので。(当たり前だって怒られると思いますけど)
CGI質問スレでーす。
(゚д゚)シメジ
339 :
nobodyさん :02/07/29 15:28 ID:S3zWiKSW
ホームページ上のボタンクリックで ファイル(圧縮ファイル)をダウンロードできるようにしたいのですが どうすればいいのでしょうか? ぜひ教えてください
CGIっつーより、HTMLじゃないか?
341 :
339 :02/07/29 15:30 ID:???
>>340 あ、これってHTMLでできるんですか?
すみませんまったくの素人なので・・・
もっぺん出直してきます
342 :
nobodyさん :02/07/29 15:42 ID:2AYT60/o
343 :
nobodyさん :02/07/29 17:01 ID:hJ6YB5ta
WinNT4.0でIIS4です。ActivePerl561を仕込み、仮想ディレクトリにindex.htmlとtest.cgiを仕込み、 ダイヤルアップ環境からアクセスしたところ、index.htmlは表示されるのですが、そこにFORM action="./test.cgi"で仕込んだ cgiを実行しようとすると、ユーザー名とパスワードを入力するダイアログが出て困っております。 「ディレクトリセキュリティ」では「匿名アクセスを許可する」にチェックを入れております。usr/binもエイリアス切ってます。 どこが問題か、訳がわからなくなってしまいました。 どなたかお助けください。よろしくお願いいたします。
344 :
nobodyさん :02/07/29 18:07 ID:YroFxsp9
&hoge; my $hoge; sub hoge { $hoge=2; } ↑こんなmyの使い方をしているスクリプトの作者がいたんですが これって意味があのでしょうか?
>>344 それは混乱を招きやすいね。
でもまぁ理解した上で使ってるなら敢えて文句を言おうとは思わないけど。
346 :
nobodyさん :02/07/29 22:57 ID:luhGHKEG
サーバーを借りたのですが、
http://www.tekipaki.jp/ 今OCNのPageOnサーバーを使っていて、
このサーバーはCGI用に借りました。
カウンタを表示させようとしているのですが、
違うサーバーにCGI本体をおいて、ページ上で使うにはどうすればいいんでしょうか?
違うサーバーのほうにページを移動すれば一番いいのですが、
かなり読み込みが遅いので、できれば今のままのサーバーを使いたいんです。
どなたか教えてください。お願いします。
347 :
nobodyさん :02/07/30 01:24 ID:klN51cmM
掲示板スクリプトを作っている者ですが, 新しいバージョンでは変数の構成が違うんです。 そこで,HTMLフォームに入力した旧バージョンの変数の中身を, 新しいバージョン用に書き換えるといったものを作り始めたところ 壁にぶつかりました。お願いいたします。 まずは変換前の変数を入力するための,sub form1を実行します。 (入力する項目:@hairetu1 @hairetu2 $scalar1) 次にform1で入力された配列変数を分割したいので, その範囲を入力するフォームと配列の中身の一覧を出します。(sub form2) (入力する項目:$scalar2 $scalar3) この時点では@hairetu1 @hairetu2 $scalar1にはform1で入力された内容が入っている。 最後にsub form3,変換された変数の中身を表示する…という予定だったのですが, ここに来るとform1で入力した@hairetu1 @hairetu2 $scalar1が空っぽになってしまってます。 form2で入力した$scalar2 $scalar3にはちゃんと中身が入っています。 どうして@hairetu1 @hairetu2 $scalar1が空になってしまったのかがわかりません。 手持ちの解説書を読んでも,特に指定しない限りグローバル扱いされるとありますし。 どうかお願いします。
349 :
347 :02/07/30 01:51 ID:klN51cmM
長くて申し訳ないですがこちらです # HTML出力 print "Content-type: text/html\n\n"; print <<"EOM"; <html><head><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"><body> EOM if ($mode eq 'form2') { &form2; } if ($mode eq 'form3') { &form3; } if ($hairetu1[0] eq '') { &form1; } print "</body></html>\n"; #フォームその1 sub form1{ print "<form action=\"$script\" method=\"$method\">\n"; print "<input type=hidden name=mode value=\"form2\">\n"; print "<p>配列その1 例:)'1','2','3'"; print "<input type=\"text\" name=\"hairetu1\" maxlength=\"100000\">\n"; print "<p>配列その2 例:)'1','2','3'"; print "<input type=\"text\" name=\"hairetu2\" maxlength=\"100000\">\n"; print "<p>\スカラーその1"; print "<input type=\"text\" name=\"scalar1\">\n"; print "<input type=\"submit\" value=\"次へ\">\n"; print "</tr>\n</table></form>\n"; }
350 :
347 :02/07/30 01:54 ID:klN51cmM
# フォームその2 sub form2{ print "<form action=\"$script\" method=\"$method\">\n"; print "<input type=hidden name=mode value=\"form3\">\n"; print "<div align=\"center\">\n"; print "スカラーその2<input type=\"text\" name=\"scalar2\"><br>\n"; print "スカラーその3<input type=\"text\" name=\"scalar3\"><br>\n"; print "<input type=\"submit\" value=\"表\示\">\n"; print "</table></form>\n"; $FORM{'hairetu1'} =~ s/'//g; $FORM{'hairetu2'} =~ s/'//g; @hairetu1 = split(/,/,$FORM{'hairetu1'}); @hairetu2 = split(/,/,$FORM{'hairetu2'}); $scalar1 = $FORM{'scalar1'}; } # フォームその3 sub form3 { $scalar2 = $FORM{'scalar2'}; $scalar3 = $FORM{'scalar3'}; print <<"EOM"; <table border align="center"> <tr><th>\@hairetu1</th><td>@hairetu1</td></tr><tr><th>\@hairetu2</th><td>@hairetu2</td></tr> <tr><th>\$scalar1</th><td>$scalar1</td></tr><tr><th>\$scalar2</th><td>$scalar2</rd></tr> <tr><th>\$scalar3</th><td>$scalar3</td></tr></table> EOM print "<br><br><br>"; }
351 :
347 :02/07/30 02:10 ID:???
フォームその2.のとこでscalar2とscalar3しか(あとmodeもか)submitしてないのだから フォームその3でscalar2 scalar3しか表示されないのはあたりまえかと
&form2実行後、出力HTMLはmode=form3になり、[表示]ボタン押下後 hairetu1もhairetu2も渡されないから渡されるとしたらscalar2かscalar3 だけだろう。 また、&form1実行後画面においてhairetu1に入力するかどうかによって次の フォームが1つや2つに変動する可能性もある。
354 :
347 :02/07/30 02:32 ID:???
>352-353 ありがとうございます。 でもフォームその2のところで, @hairetu1 = split(/,/,$FORM{'hairetu1'}); @hairetu2 = split(/,/,$FORM{'hairetu2'}); $scalar1 = $FORM{'scalar1'}; と,フォームの内容を変数に格納しておいたんですが, どうしてこの中身が消えてしまうのでしょう?
その代入処理をおこなうのは&form2サブルーチンを実行するときだけで mode=form2のときだけです。 if ($mode eq 'form2') { &form2; }
356 :
347 :02/07/30 02:42 ID:???
ほんと初歩的な質問に付き合ってくれてありがとうございます。 ええと,一度代入を行えばその中身はずっと保持されるわけじゃないんですか?
1度のCGI実行で行なった代入は実行中だけ保持されます。
358 :
347 :02/07/30 02:55 ID:???
なるほど。 すると&form3にデータを持ち越すには, 引数をつけて呼び出してやれば良い訳ですかね?
前画面から入力されたデータを次画面でも保持したいなら 取得した値を出力HTMLフォーム内にhiddenタグで埋め込んで出力する。
360 :
347 :02/07/30 03:04 ID:???
ああ,そうか,そのためのhiddenでした。 ごく初歩な質問に親切なご回答ありがとうございました。 精進します。
スクリプトの最後にある __END__ これはなんですか? 書かなきゃいけないのですか?
>>361 別にいらないよ。
スクリプトがそこで終わることを明示してるだけ。
そのトークンから先はパースしないから、Perlとは関係ないものを書ける。
大抵はドキュメントを書いたり、スクリプト内に大量のデータを埋め込んだりするときに使うね。
その行がこのファイルの最後であることを示すもの。 書かなければいけないということは無い。
364 :
nobodyさん :02/07/30 19:07 ID:0gW7G4YT
すいません cgi-binはしーじーあいびんじゃなくて しーじーあいばいんだと聞いたのですが本当ですか? なんか、ばいなりの”ばい”らしいのですが。 おねがいします
dustbin だよ
366 :
ごめんなさい1 :02/07/30 22:43 ID:aKXjz8b/
すいません。 内容的にWEB制作版なんですがちょっとこっちのが安心なんで質問させてください。 お世話になっています。 ちょっとはまり気味なのでお知恵をいただきたく思ってます。 早速ですが。 イメージ的には以下のような感じです。 チェックボックスを選択していない場合エラーを返します。 <script language="Javascript"> <!-- function chkNull() { var cnt = 0; for(i=0; i <= document.forms[0].stock.length-1;i++){ if (document.forms[0].stock[i].checked == true){ cnt=cnt+1 ; } } if (cnt < 1){ alert('少なくとも1つは選択してください'); return false; } return true; } //--> </script>。
367 :
ごめんなさい2 :02/07/30 22:46 ID:aKXjz8b/
<form name="hoge" action="hoge" method="hoge" onclick="return chkNull()"> //このフォームは動的な部分。SQLのレコード数で0回以上ループしている。 <input type ="checkbox" name="stock" value="#SQL.RESULT#">hoge </form> これで動かすとレコードが2つ以上の場合は、予定通り動くのですが、レコードが1つの場合、チェックボックスをONにしているにもかかわらず、チェックに引っかかってしまいます。 しらべてみると、レコードが1つの場合 document.forms[0].stock.length がイメージでは1になるはずが配列として評価されていないみたいです。UNDEFINEDを返しています。 じゃ場スクリプトの勉強が足りないためちょっと嵌まっています。 ほかの方法も含めアドバイスがあればおねがいします
JavaScript質問スレはWeb製作板に在ったと思うが?
369 :
ごめんなさい2 :02/07/30 23:12 ID:aKXjz8b/
すいませんでした
370 :
nobodyさん :02/07/30 23:32 ID:TwJHY/7Z
2ちゃんのリンク集を作ってます。普通にリンクを張ってると、スレッドはいつ か1000まで行ってHTML化されて過去ログとなります。 つまり、ある段階まではそのリンクをクリックして普通にスレッドが表示されま す。 次の段階では、「HTML化を待つしかない!」という表示になります。 最終段階では「隊長!過去ログ倉庫で発見しました!」という表示になって、 そこのリンクをクリックすると出てきます。 この最終段階まで行ったときに、訪問者にいちいち画面の下のほうにあるリンク を探させてクリックさせるのがイヤなので、HTML化が済んだスレッドは自動的に リンクを過去ログ倉庫の方に変更したいのです。 どうすればいいですか。 ちなみに現状は、1週間ごとに手動でリンクをクリックしてHTML化されていれば 手動でリンクを変更しています。 HTML化されているスレッドであれば、「隊長!過去ログ倉庫で○○を発見しまし た!」という文字列があるので、その文字列があるかどうかを検索し、もしあれ ばそのURLをコピーして自動的にリンクをアップデートする、というロジックで いいのでしょうか。 誰かがスレに「隊長!過去ログ倉庫で○○を発見しました!」って書いたらどう すればいいでしょうか。
>>370 殆ど理解出来ないけど
「隊長!過去ログ倉庫で発見しました!」
とスレッド内の書き込みは違うセッションでしょ?
/隊長!過去ログ倉庫で発見しました!/ (HTML確認)
↓
Location または meta (クリック)
↓
スレッド内に
隊長!過去ログ倉庫で発見しました! (要求達成)
初心者で説明下手ですが申し訳ありません。
KENTの「SUN BOARD」を設置しようとしたのですが、どうしてもうまく表示できません。
http://www.kent-web.com/bbs/sunbbs.html もしかして「$htm_dir」を「/public_html」にしたのが間違いなのかと思ったりしたのですが、正直わかりません。
説明書き通りにダウンロードしてプログラムの修正もして「lockフォルダ」も作ったのですがうまく表示されません。
大変困っている状態が1週間も続いておりますが、どなたか迷惑でなければ親切に詳細に教えていただけないでしょうか。
本当によろしくお願いいたします。
チェックモードの表示
./sunbbs.log のパス:OK
./sunbbs.log のパーミッション:OK
./public_htmlindex.html のパス:NG
./public_htmlindex.html のパーミッション:NG
./public_htmlindex2.html のパス:NG
./public_htmlindex2.html のパーミッション:NG
ロック形式:symlink
ロックディレクトリ:./lock
ロックディレクトリのパス:OK
ロックディレクトリのパーミッション:OK
過去ログ:設定あり
NOファイルパス:OK
NOファイルパーミッション:OK
過去ログディレクトリのパス:NG → ./past/
kentwebで聞け。
376 :
教えてください。 :02/07/31 22:19 ID:tRDjSXEO
すいません。 CGI設置してみてパスもPerlもパーミッションもあってるのですが なぜかエラーがでてしまいます・・・ なにか他に原因はあるのですか?
エラーメッセージは何が出たの? 転送モードは? CGIの使える鯖? SSIは使っている?使える鯖? sendmailは使っている?使える鯖? 外部参照禁止鯖とか? サーバの設定でhtml、CSS、画像がCGIだけ別鯖になっていない? 何処のスクリプト? あなたが組んだの? ローカルでは動いた? つーか、ソース晒せコラァ!
379 :
教えてください。 :02/08/01 00:10 ID:Xu6VR8fO
メッセージは403 Error - Forbiddenです。 パスはあってるはずなんですが・・・ 転送モードはアスキーモードです。 CGIは使えるはず! SSIは・・・わかりません。 そのあとは・・・まったくわかりません・・・ すみません初心者な者で・・・ いろいろなところのでためしてみました。 KENT.WEBとかエイプボードとかタッキーさんのところのとかやってみました。 ソース?どうしたらいいのですか??
>>372 >もしかして「$htm_dir」を「/public_html」にしたのが間違いなのかと思ったりした
普通はありえないパスだろ、まぁサーバ調べないと断定はできないが・・・
>>379 勉学が足りませんな。
ソースといえば、そのCGIの配布元等へのリンクでいいのです。
後は、貴方の使ってるサーバー環境を書いておくと。
382 :
教えてください。 :02/08/01 00:35 ID:Xu6VR8fO
>>381 ごめんなさい。
サーバー環境とかよくわからないのですが・・・
リンクとは??
ほんとにごめんなさい〜。
>382 そこまで知識がないなら、自分で設置しない方がいいと思う。 トラブル起こして他利用者に迷惑かけるかもしれないし。 BBS程度なら、レンタルで探した方がいいぞ。 それで、レンタルしてる間にもっと初歩から勉強しろ。
384 :
教えてください。 :02/08/01 00:45 ID:Xu6VR8fO
あい。 お勉強しておきます。
385 :
nobodyさん :02/08/01 13:59 ID:qdgiH1MD
>もしかして「$htm_dir」を「/public_html」にしたのが間違いなのかと思ったりしたのですが、正直わかりません。 パブリックはルートになるだろうから、cgiに指定するような場合は、書いちゃだめだろ。 あと、パーミションでNGってでてるのに、いいの?
>>383 素敵なアフォの相手をご苦労様でした(ワラ
>>384 チミのHPを晒してみなさい。ほれ、ほれ!!
387 :
nobodyさん :02/08/01 16:58 ID:oYTgtzZ0
2chでのトリップって#の後ろの文字列をどのように演算して生成するのですか?
crypt
こんばんは。
配布サイトからDLしたCGIを
自鯖にウプして日記をつけてるのですが、
解析に引っかからないかとヒヤヒヤしています。
掲示板も…。
ロボットよけタグを埋めこみたいのですが、
できるものなのでしょうか?
ここのサイトのを使ってます。
ttp://www.t-okada.com/cgi/
>>379 >メッセージは403 Error - Forbiddenです。
アクセス権が無いっと・・・
パーミッションの変更してみ?
392 :
nobodyさん :02/08/03 23:31 ID:8gDBPjZ0
1つの form タグのなかに 2つの submit ボタンを作って cgi の中でどっちのボタンが押されたのか判断するには どうしたらよい?
submitのvalue変えれば良いんじゃ無いの? ダメなん
??? <input type="submit" name="button1" value="ボタン1"> <input type="submit" name="button2" value="ボタン2"> として、 if( $form{ button1 } eq 'ボタン1' ) { ... } ってこと?
CでいうとこのfscanfとかってCGIだとどういう関数なの?
>>396 CGIの関数って意味わかんないんだけど、CGIだろうとCでいうfscanfはfscanf
じゃないの?
398 :
396 :02/08/04 01:08 ID:???
書き方が悪かったかも。 fscanfと同様の動作をする関数ってCGIだとなんていうの?って意味だったんだけど。 CGIでもfscanf(FILE *stream, const char *format, ...)とかって使うのかな?
>>396 君はCGIを誤解している可能性がある。
そのせいで397と話がかみあってない。
Perl に scanf があるかってことか?
401 :
396 :02/08/04 01:23 ID:???
>>400 すんません、そういうことです。
>>399 の言う通り勘違いでした。言われてやっと気づいた。
スレ違いっぽいんでこれにて失礼
402 :
nobodyさん :02/08/04 06:57 ID:RYk8zHFq
>>401 もう遅いかな。
Perl本のPOSIXモジュールの項より抜粋。
scanf - C固有のものである。代わりに<>と正規表現を使うこと。
だそうだ。
404 :
403 :02/08/04 07:45 ID:???
s/scanf/fscanf/
>>402 さっさと寝ろ糞ヴァヴァアが (^∀^)
406 :
nobodyさん :02/08/04 12:30 ID:cDdwUQe9
みんな CGI のメッセージは Shift_JIS で書いてるの?
>>406 CGIのメッセージ?プログラムのこと?
Linux上で作っているから自然とEUC-JPになる。
漏れは窓使いだけど、EUC-JP。
2ch の CGI プログラムの表示って Shift_JIS でしょ。 CGI を EUC-JP で書くとプログラム内に埋め込まれた メッセージも EUC-JP になるわけで、そうすると受け 取ったデータの表示とかも EUC-JP で扱わなきゃだめなん?
>>409 当たり前。
嫌ならコンパイル前にnkfにでも通せ。
411 :
410 :02/08/04 13:02 ID:???
ん?受け取ったメッセージってCGIのプログラムがってこと?
412 :
409 :02/08/04 13:13 ID:???
Perl だけど。 EUC-JP だと AA とかチルダとかエンマークとかどうなっち ゃうのかなって思ったけど問題ないみたいだからいいや。 CGI プログラムも EUC-JP で、フォームから受け取った データも jcode.pl の convert で euc に直して扱えば いいですよね。
>>412 jcode.plだとUTF-8などが扱えないから、Perl5なら、Jcode.pmを勧める。
>>394 だけど、よく分からない。
<input type="submit" name="button" value="ボタン1">
<input type="submit" name="button" value="ボタン2">
if( $form{ button } eq 'ボタン1' ) { ... }
ってこと?
うん バカ?
>>414 お前は自分で試す、またはHTMLの仕様を読むということをしないのか?
419 :
414 :02/08/04 16:17 ID:???
394 で聞いて、414 で試してうまくいかないから きいてんだけど。$form{ button } が空だよ。
>420 ハァ?
ここは酷いドッペルゲンガーですね
423 :
414 :02/08/04 16:38 ID:???
value に日本語使うのやめたらでけた。サンクス。 あと、417 は僕じゃないですよ。
別にvalueに日本語使っても平気だよ?
意味も無く使うのはお勧めしないがな。
valueに日本語を使うのはごく普通のことだと思うけど。 nameには使わないけどね。
427 :
nobodyさん :02/08/04 18:01 ID:J46SL+QD
phpとerubyってどっちが楽に使えますか?
フォームの内容を確認してから実際に登録するような CGI では、 1.フォームに入力 ↓ 2.確認ボタンを押す ↓ 3.HTML で入力データが表示される ↓ 4.確認して登録ボタンを押す ↓ 5.実際に登録 というような手順を踏むと思うのですが、 4.で登録ボタンを押して送信される入力データは どこに確保あるのでしょうか?
hiddenで渡せば(・∀・)イイ!!
あるいはセッション使うか。
>430-431 レスありがとうございます。 やっぱり hidden ですか。hidden はデータが大きかったり 複数行にわたるデータの場合に html に埋め込むのはあまり エレガントではない気がするんですが。 セッションは使ったこと無いのでよく分からんです。
cgiをftpでupしてブラウザでアクセスするとInternal Server Errorと出ます。 さっきまでは大丈夫でした。 ローカルではエラーが出てないです。 サーバーのログを見るとテキストファイルがビジーです。と出ます。なにこれ?
434 :
:02/08/05 14:46 ID:???
>>433 サーバを見てみないとなんとも言えないなぁ。
ホスト名とアカウントは?
アスキーモードでうpしてるよな?
ごめんなさい、なんだから直りました。 短時間に何回もアップロードやりまくってたらエラーが出たんでサーバーが疲れてたのかもしれません。
んなわけねーだろ。
438 :
nobodyさん :02/08/05 20:21 ID:Cv0Vcdj1
warata
439 :
nobodyさん :02/08/06 16:13 ID:ov0Bn0l9
cgiの中でxmlファイルを生成して、(xslは当然もとから用意しておいて) xmlをhtmlに変換する事はできますか? xmlとxslだけではIEでしか表示できないので普通に手作業で、 msxsl.exeを使ってhtmlへ変換していましたが 今回はcgiでxmlを生成してそこからhtmlへ変換することになったのです。 なのでmsxsl.exeの役割をcgiの中でも出来るのかどうかというわけなのです。
440 :
nobodyさん :02/08/06 16:18 ID:ov0Bn0l9
つまりxslt機能を搭載したサーバーはあるんざんしょか。 という話です。
441 :
トウモロコシ :02/08/06 18:39 ID:AiGWWT1t
gzipってなんでしょうか?
GNU ZIP のこと。 HTTP圧縮の際にも利用される。
443 :
トウモロコシ :02/08/06 18:51 ID:AiGWWT1t
どうもありがとう♪
444 :
nobodyさん :02/08/06 18:54 ID:+CLAZ6EK
IEで、キャッシュを無効にするにはどうしたらいいでしょう。 cgiからの出力を、ブラウザの戻るボタン押下時に意図的にリ ロードさせたいだけなんですが。。。 <% Response.AddHeader "Expires", "0" If Request.ServerVariables("SERVER_PROTOCOL") = "HTTP/1.0" Then Response.AddHeader "Pragma","no-cache" Response.CacheControl = "no-cache" Else Response.CacheControl = "no-cache" End If %> とか <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Expires" content="-1"> とか 試したんですが無理でした。 誰かよろしくお願いしますっ!
CGI 利用可能なレンタルスペース(鯖?) ではだいたい Jcode.pm は使えるのでしょうか?
>>446 サーバによる。面倒だから俺は自分で置いてる。
ローカルとリモートで参照パス変えるのだるいし。
<meta> タグで漢字コード euc-jp 指定して、 CGI の出力も EUC-JP にしてるのに Mozilla で文字化けするんですけど、どうにかなりませんか?
449 :
:02/08/06 20:13 ID:???
>>448 ブラウザのフォントを日本語(EUC)にする。
AutoDetect して欲しいんです。
>>448 ホントに出力がEUCになってる?
Mozillaで文字コード変更する前は何が文字コードとして選ばれてる状態になってる?
ISO-8859-1 です。
>453 サンクス
1いますか?
やっぱりPerlで書くべきですか?
何の話だよ。
458 :
nobodyさん :02/08/07 23:07 ID:Ebqa+zWc
SSIって2重に使えるの? 2重という言い方で通じなかったら、入れ子で使えるの? a.htmlに、<!-- SSI命令なんちゃら-->ABCDEFG と書いておいて、b.htmlに<!--a.htmlをここに呼び出すSSI命令--> と書いて、OK?
459 :
458 :02/08/07 23:39 ID:Ebqa+zWc
いま自分で試して見たらできました。 2重でも3重でもできそう。 これを駆使すればいろいろおもしろいことができそう。 あんなことやらこんなことやら、、
それくらいなら簡単に試せるだろうに。
1さ〜ん
462 :
nobodyさん :02/08/07 23:53 ID:ndE0k5iF
すみませんが質問です
http://hp.bird.to/info/countget.htmlのCGIで 連続でカウンタが回されないようになっているようですが
これはどのような仕組みで回らないようになっているんでしょうかねぇ?
自分で色々試した結果
cookieではないようです
ってことは相手のcgi側でアクセスログを取っているってことですよねぇ?
これを回避してカウンタを回すにはどうすればよろしいのでしょうか?
串刺してアクセスすれば回せますよねぇ?
前の数回のIPでも記憶しておいて、それと照合して合ったらカウントしない。
なんで変なの一杯来てるの?
466 :
462 :02/08/08 00:08 ID:kiQ1aKPI
>>463 レスありがとうございました
ってことはIP変えれば(串通せば)カウンタを回す事が出来るんですね?
生→串→生→串→、、、とローテーション組めばどんどん回る
ははは
469 :
質問 :02/08/08 01:28 ID:o/KxESaR
2ちゃんのリンク集を作っているのですが、ライブなスレッドと 過去ログに行ってHTML化されたスレッドはどのように判別すれば いいですか。ライブなスレッドは板が引越ししたら URLを変えないといけないが、すでにHTML化されたスレッド だったらURLを変えてしまうと見れなくなる。だからそのスレッドが ライブなのか、過去ログに行ってHTML化されているのか判別して、 ライブだったら板の移転に合わせてURLを変更し、HTML化されて いればURLをいじらずにそのままにするようにしなければならない。 その判別はどうやったらいいのか。
470 :
nobodyさん :02/08/08 01:30 ID:67DgjdRz
自分が手でやってる事をコードに書くだけ
471 :
462 :02/08/08 12:37 ID:kiQ1aKPI
>471 同じIPからだと1日1カウントしか収集しないんじゃないかな? だとしたら、10個カウンター回したいなら、10個のIPが必要。
473 :
462 :02/08/08 13:00 ID:kiQ1aKPI
>>472 >>467 のようにすると何回でも回せるみたいです
漏れは串持ってないので携帯を使ってます
実験ではPC→携帯電話→PCを繰り返すと回ります
でも携帯使うと通信料が一回12円かかります
どうしましょう…
ちょっと臭いな
475 :
462 :02/08/08 17:05 ID:kiQ1aKPI
>>472 やっぱり10回まわすなら10個のIP必要ですね
カウンタは
>>467 のようにすれば回りますが、
キリ番ゲットページで「あなたのカウント」は回ってないんですよ
どぉ〜しましょ
>475 そもそもなんで回したいのよ? 不正な方法でキリ番ゲットしたいの?
477 :
462 :02/08/08 17:31 ID:kiQ1aKPI
>>476 キリ番げっとするとプレゼントが貰えるんです
携帯電話でのアクセスでは
「あなたのカウント」が「未取得」になってしまいます
串を使っても、そうなってしまう可能性が出てきました
もうだめぽ……鬱
カエレ(・∀・)!!
479 :
. :02/08/08 18:11 ID:???
アホか。
┐('〜`;)┌ 臭いと思ったら
481 :
質問です :02/08/08 21:49 ID:o/Pn3LPJ
cgiでhtmlを書き出すときにSSIをprintするとそのまま <!--#include file="xx.html" --> って出てしまうのですが、 .htaccessのAddTypeに.htmlを加えるしかないのでしょうか? 他の解決方法を教えてください。 どなたか答えてくれるとうれしいです。よろしくおねがいします。
CGIでSSIをしてるの? 意味無い気がする。
次レスのスクリプトをWEBで実行しようとしたのですが、 下記のログようなエラー(Internal Server Error)になります。 ちなみに、webサーバマシンでスクリプトを実行して、html文にリダイレクトしたら、思うようにページが表示されるのですが… (./googre2.cgi > googre2.html) どこが間違ってるところはどこなのでしょうか? [Thu Aug 8 19:43:16 2002] [error] [client 10.10.1.38] script not found or unable to stat: /var/www/html/cgi-bin/googre2.cgi [Thu Aug 8 19:43:52 2002] [error] [client 10.10.1.38] Premature end of script headers: /var/www/html/cgi-bin/google2.cgi
484 :
483のスクリプトです :02/08/09 00:53 ID:GqWWhT2W
#!/usr/bin/perl
print '<!DOCTYPE HTML PUBLIC"-//W3C/DTD HTML 3.2 Final//EN">';
print '<HTML>';
print '<HEAD>';
print '<TITLE>google_mail1</TITLE>';
print '</HEAD>';
print '</body>';
print '<META http-equiv="Refresh"
content="0;URL=
http://www.google.co.jp/search?q=&ie=UTF-8&oe=UTF-8&hl=ja&btn G=Google+%
E6%A4%9C%E7%B4%A2&lr=">';
print '<base target="_top">';
print '</NOFRAMES>';
print '</FRAMESET>';
print '</HTML>';
他のスクリプトはWEB上で実行できてます。
スクリプトは、WinPCからtelnetでログインして貼り付けました。
前レス「間違ってるところはどこなのでしょうか? 」の間違いです。すみません。
CGIにはヘッダというものが必要です。 print '</NOFRAMES>'; print '</FRAMESET>'; これは何なの? キミはまだCGI以前にタグの学習が必要では?
> CGIにはヘッダというものが必要です。 そんなことはない。
>>485 どこに突っ込んでるの?
s/CGIには/CGIスクリプトの出力には/
ならOK?
488 :
K :02/08/09 07:19 ID:u713FiUQ
会社で、研修があって某予約システムを作ることになりました。 この後に控えている私の仕事がCを使うということもあって、「どうせならC言語でCGI作ってみて」という話になりました。 WEBサーバとSQLサーバには何を選択してもいいのですが今のところは、 MicrosoftのSQLサーバとIISを使用する予定です。 ただ、いくら本を探してもC言語でSQLサーバとやり取りする方法の書かれたものが見当たりません。 当方はWindows2000を使っています。 とりあえず、IIS上でCでコンパイルした実行可能CGIファイルを動かしたいのですが、うまく動きません。 動かそうとすると、ユーザ名とパスワードを要求されます。 (ちなみにこのCGIプログラムをコマンドプロンプトで実行するとちゃんとHTML形式の文書が出力されます。 (よくあるHELLO WORLDです。(^^;)) ファイルのパーミッション(右クリック→プロパティ→セキュリティ)はeveryoneでフルコントロールです。 長くなりましたが、現在足がかりがほとんどない状態です。 どなたかアドバイスやお勧めの本やWEBページがありましたら教えてもらえると幸いです。 お願いします。m(_ _)m
$page=$ENV{QUERY_STRING} 〜 my $start = ($page * $one_page) + 1; my $end = $start + $one_page - 1; my $i = 0; open IN , $data_file; while ( <IN> ) { last if $i++ >= $end; print if $i >= $start; } close IN; my $next = $page - 1; my $back = $page + 1; my $p_start = ($page * $one_page)+1; my $p_end = int ( $max_article / $one_page ); print qq|<p>|; print qq|<a href="$script_name?$next"><< 新しめの$one_page件</a> \n| if $next >= 0; for ( $p_start..$p_end ) { print qq|<a href="$script_name?$_"><$_></a>|; } print qq| <a href="$script_name?$back">古めの$one_page件 >></a>\n| if $end < $max_article; print qq|</p></body>\n</html>|; ページングとやらをやってみようと、何とかページ数の表示は出るようになったんですが、 肝心の記事表示がまともに出来ません。どこが間違っているんでしょうか。 ちなみに、 $max_articleは現在の件数。$one_pageは1ページに表示する件数。 $data_fileは1行ずつ↓のような形式で保存してます。 <h2>[$num] $name - $date</h2><p class="i">$comment</p>
>>489 ソースの一部だけ見せられても、$one_page とかにどんな値があるのかないのか
さえわからんだろ。
491 :
489 :02/08/09 12:22 ID:???
>>490 そう思ったので$max_articleと$one_pageの値に関しては後半に書いておきました。
>>491 だから、実際のソースに値があるのかないのかがわからんだろ。
493 :
489 :02/08/09 12:51 ID:???
my $one_page = 10; open IN , $data_file; my $max_article = <IN> =~ /^<h2>\[(\d+)\]/; $max_article = $1; close IN; 変数の宣言部分を省略していたのがまずかったですね。 $data_fileの一行目が最新の記事で、$numに記事の番号を記録しているので、 そこから数値を抜き出して記録されている件数としています($max_article)
494 :
489 :02/08/09 13:04 ID:???
自己解決しました。スレ汚しスミマセヌ(´・ω・`)
CGIファイルから処理の途中で 別のCGIファイルを呼び出す方法をおせーて? BY困ったチャン
追伸 すいませんけど Perlです BY困ったチャン
意味がわからん。 別のCGI内のサブルーチンでも使いたいのか?
#
>>495 #> おせーて?
#
#ここに疑問符が付くのは疑問な訳だが...
``
WEBで落とせるチャットCGIをいじってます。 ログに書き込み者のIPを記録し、そのままHTML出力に表示させたいのですが、 全部の行が同じIPになってしまいます。 (違うIPになると、全行のIPがそれになってしまう) $ad = $ENV{'REMOTE_ADDR'}; とCGIに記述して、 表示させたい部分に$adを埋めるだけじゃダメなんですか?
だめ。 それじゃ、見た人のIPにしかならない。 別ファイルに書き込んで、読み込むなりしないと。
501 :
499 :02/08/09 19:21 ID:???
>>500 ご助言ありがとう。
いま、DATに書き込み者のIPを記録するようにしました。
こんどはどうやって読ませようか悩んでます。
いい手本が手元にないんですよ。
>501 手元になければ探せ。 いくらでも転がってるぞ。
cgi内で、別のプロセスを起動させるとエラーになるんですけど........ system($cmd,$arg);を使う時はapacheに何か、設定を加える必要ありですか?
エラーの内容書け。
505 :
にすと :02/08/10 00:07 ID:k/CbtY7I
member.dat を外部から読み出してtopに表示。 SSIが使えない環境だと難しい。
>>488 IISの設定確認しろ。
ローカル環境で試してるのか?
そうでなければコンピュータへのユーザ権限がない。
その他ユーザ回りをしっかり確認しろ。
<form action="mailto:mailaddress"> でフォームを送信してもらったあと「送信しました」ページを表示させる方法を 教えてください。
何か間違えている可能性。
うん。
>>509 JavaScriptでできそう。
板違いなのでage
513 :
nobodyさん :02/08/10 23:34 ID:BXA7DZha
>>499-501 の者です。
おおかたのIP表示のCGIをあさってみたんですが、
IPもしくはホスト取得後、記事部に表示させる記述は
print"$ip $host"
といったものでした。
なぜ、既製品に自分で書き加えると全行、自分のIPもしくはホストが反映されてしまい、
元から機能がついているとちゃんとログから持ってくるかが判別できないのです…
514 :
:02/08/11 01:21 ID:aEO6uXrg
ブラウザから自分のWebページを書き換えるスクリプトを書いているんですけど、 書き換えるHTMLファイルのパーミッションを666などに設定する必要がありますよね? これってなにか危険性あります?
ありすぎ。 書き換える直前でパーミッション変えて、終わったら戻すようにしたらどうだ
516 :
514 :02/08/11 16:04 ID:???
chmodでファイルのパーミッション変更しようとしたら、 Internal Server Errorが出てしまいました。 CGIによるパーミッション変更は禁止されているようです。 あきらめるしかないんでしょうか。
666でもかまわんだろ、 KENTWEBでもそういうのあるし
ユーザーIDと パスワードを入力して 認証してOKならページ移動 の処理を作成中なんッスけど 認証のためのデータをあるファイルから 参照してハッシュを使ってIDをキーにして パスワードをデータにして、 IDを比較するのはOKなんッスけど、 パスワードの比較はどうしたらイイんでしょうか? ようはキーの中身の比較っすね
ageて逝きまっしょい
マルチか。
apacheでperlのテストを行なっているとerror.logにエラー内容がどんどん 書きこまれていくのですが、どうも中身の行数が増えすぎて見にくくなって きてしまいました。どうやったらこれをクリアできるのでしょうか?
ファイル消せば?
524 :
Disca ◆NAfP6znE :02/08/12 21:38 ID:yGKNwrot
C言語で掲示板作ってますが、とりあえず、Windows環境でのCコンパイラ (VisualC++のコンパイラ) と、HTTPデーモンには、AnHTTPDを利用して 実行させているのですが、 標準出力の終了を、HTTPDデーモン(AnHttpd) が認識してくれなく、ある時間が経つと、デーモン側(AnHttpd)からプロセスを強制終了させてしまいます。 TerminateThread() (WindowsAPIで言うと、 putc(EOF); などをしても、EOFマーカーを認識してくれません。 何か良い方法で、掲示板側から、終了をしたと言う事をHTTPデーモン(AnHttpd)にわかるようにはできないでしょうか。
525 :
Disca ◆NAfP6znE :02/08/12 21:40 ID:yGKNwrot
>>522 httpd.conf をよくみると、どこかにログファイルを書き込むための
ディレクティブが宣言されていたと思うよ。
526 :
:02/08/13 00:05 ID:???
CokkieがOffだったら指定のページに飛ばす …そんなcgiってありますか? もしあったら、参考になるサイト、もしくはプログラムを お教え下さい。
Cokkie ってなに?
マルチか。
529 :
:02/08/13 02:21 ID:???
-d でファイルがディレクトリかどうかをチェックしたいのですが、ディレクトリを渡しても値が1にならない場合があります。 調べる場所が'.'の場合はちゃんと1になるんですけど、./aaaとかの場合はダメです。 原因がわかる方、教えてください。
530 :
:02/08/13 02:26 ID:???
補足です。他のファイルタイプ演算子、-fとかもダメです。
532 :
:02/08/13 02:42 ID:???
こんな感じです。 $_[0]には、ディレクトリの場所'.'とか./directory とかを受け取ります。 sub search_dir{ if ($_[0] =~ /\.\./){ $forbidden = 1; } else { opendir(DIRECTORY, $_[0]) or die "カレントディレクトリを開けません。"; @dir_contents = readdir(DIRECTORY); closedir DIRECTORY; foreach $con (@dir_contents){ if ($_[0] != '.'){ $con = $_[0] . $con; } if ($con eq "."){ } elsif ($con eq ".."){ } elsif (-d $con){ $child_dir[$cd_index] = "./" . $con; $cd_index++; } elsif ($con =~ /(.html|.htm)$/) { $child_html[$ch_index] = $con; $ch_index++; } else { $child_otherfile[$co_index] = $con; $co_index++; } } } }
533 :
532 :02/08/13 02:46 ID:???
タブ無効なんですね。申し訳ないです。 sub search_dir{ if ($_[0] =~ /\.\./){ $forbidden = 1; } else { opendir(DIRECTORY, $_[0]) or die "カレントディレクトリを開けません。"; @dir_contents = readdir(DIRECTORY); closedir DIRECTORY; foreach $con (@dir_contents){ if ($_[0] != '.'){ $con = $_[0] . $con; } if ($con eq "."){ } elsif ($con eq ".."){ } elsif (-d $con){ $child_dir[$cd_index] = "./" . $con; $cd_index++; } elsif ($con =~ /(.html|.htm)$/) { $child_html[$ch_index] = $con; $ch_index++; } else { $child_otherfile[$co_index] = $con; $co_index++; } } } }
534 :
532 :02/08/13 02:51 ID:???
がくっ。板汚しすみません。
if ($_[0] != '.'){ $con = $_[0] . $con; } この行の $con って、$con= $_[0] . '/' . $con; では?
537 :
532 :02/08/13 03:10 ID:???
その行は後からつけたもので、怪しい部分なのですが・・ おっしゃる通りにしても解決しませんでした。 もう少し整理してみます。ありがとうございます。
>>535 何が何だろうと、実行者の権限(user、www、nobody、、)で開けない物は
開けない訳だが
そう言う話じゃ無くて?
539 :
532 :02/08/13 03:25 ID:???
ファイル名を読み込んで、表示させることはできるのです。 でもファイルタイプを調べるのに失敗してしまいます。
540 :
532 :02/08/13 03:49 ID:???
if ($_[0] ne '.') { $con = $_[0] . '/' . $con; } で解決しました。アドレスと等価演算子が原因でした。 初歩的なミスでご迷惑をかけてしまって申し訳ないです。
541 :
nobodyさん :02/08/13 10:16 ID:O/STFm+B
>>526 Cookieに適当な値をセットして次のページに移動。
その値が見つからなければCookieが無効になってる。
542 :
526 :02/08/13 12:08 ID:Z6o18Dpl
有り難うございます。 …して、その方法すら分からないのです。
>>542 まずキーボードのCtrlとAltとDelキーを同時押しして
544 :
nobodyさん :02/08/13 16:53 ID:Yx7h0BT7
546 :
:02/08/13 17:22 ID:???
書き込み・読み込みの対象となるファイルを指定する際、ホームディレクトリから見た 相対パスを使えということでは?
547 :
nobodyさん :02/08/13 17:48 ID:LLsp0K0M
画像アップ掲示板で画像がサムネイル表示されるヤツ探してます。 誰か情報ください。
548 :
nobodyさん :02/08/13 17:54 ID:cQCAQtqS
マルチ
550 :
nobodyさん :02/08/13 18:00 ID:LLsp0K0M
551 :
nobodyさん :02/08/13 18:30 ID:GLxdMhFg
>>550 モップ片手に重複投稿するカワイイメイドロボ
マルチ野郎 「ここの掲示板に質問したけど馬鹿ばっかみたいだからこっちにも同じ質問しとこう。」 「早く答えろよ、しょうがねーな、こっちの掲示板にも書いとくか。」
553 :
_ :02/08/14 01:13 ID:???
i-modeからファイルのアップロード処理をする時に何か気をつける部分はありますか? ファイルの拡張子などをちゃんと自動認識して判別をしてくれたりするのでしょうか?
555 :
554 :02/08/14 12:41 ID:???
>>553 $ENV{'HTTP_X_FORWARDED_FOR'}
↑かTelnetだと思ふ。
556 :
nobodyさん :02/08/14 14:12 ID:VGnnPFt3
ドラクエアドベンチャー4を設置しようとしているのですが、 Script execution errorとでてしまいます。 ビッグローブサーバーに設置しているのですが、 この文字が出たときはどうすればいいのでしょうか?
557 :
553 :02/08/14 15:22 ID:???
>>554 telnet削除してあります。
現在の経路は、socks_proxy→http_proxyでアクセスしてます。
でも抜かれる。なぜだろう。
558 :
553 :02/08/14 16:14 ID:???
socks→socks→httpproxyの経由だと 127.0.0.1のIPしか抜かれませんでした。
559 :
:02/08/15 03:40 ID:???
戻るボタンでCGIのページに戻る場合、ページの有効期限切れになることがありますけど、 これが出ない場合もありますよね。 この違いは、サーバの設定に依存するんでしょうか。
http串でアクセスしたけど、抜かれなかったよ JavaとかXとか全部切ったけど
561 :
最適PG人生とは。 :02/08/15 19:28 ID:+AitDXia
「買い物かごに入れる」 というふうなボタンがついていて オンラインで購入できるようなページは CGIで作られているのでしょうか?
566 :
:02/08/15 22:24 ID:Sv5BCHdr
ERROR:長すぎる行があります! ↑ コレ追加したいのですが。。。 if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
ハァ?
>>566 そんな質問で意図がわかるか。アフォ。
if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
elsif (($CHECK{body}==1)&&length((sort{length$b<=>length$a}split/\r\n/,$body)[0])>100)
{$error_message .= "ERROR:長すぎる行があります!<BR>";}
こういうことか?
if(length($FORM{'subject'}) > $SETTING{"BBS_SUBJECT_COUNT"}){ DispError("ERROR!","ERROR:サブジェクトが長すぎます!"); } if(length($FORM{'FROM'}) > $SETTING{"BBS_NAME_COUNT"}){ DispError("ERROR!","ERROR:名前が長すぎます!"); } if(length($FORM{'mail'}) > $SETTING{"BBS_MAIL_COUNT"}){ DispError("ERROR!","ERROR:メールアドレスが長すぎます!"); } if(length($FORM{'MESSAGE'}) > $SETTING{"BBS_MESSAGE_COUNT"}){ DispError("ERROR!","ERROR:本文が長すぎます!"); } if(length($FORM{'MESSAGE'}) == 0){ DispError("ERROR!","ERROR:本文がありません!"); } #行数&行長さ制限 my @msg = split(/ <br> /, $FORM{'MESSAGE'}); my $cnt = @msg; if($cnt > ($SETTING{'BBS_LINE_NUMBER'} * 2)){ DispError("ERROR!","ERROR:改行が多すぎます!"); } foreach(@msg){ #$cnt = tr/[\041-\177]//; if(length($_) > 256){ DispError("ERROR!","ERROR:長すぎる行があります!"); } } $FORM{'MESSAGE'} =~ s/<br> <br> <br> <br>/<br> <br> <br>/g;
今PC用の掲示板設置してるんですけどこれを携帯からも閲覧、書き込みできるようにしたいのですができますか?
出来る。
どうしたらいいでしょうか?
聞くだけじゃなく、考える事も大事だと思うのだが。 第一に、元々携帯に対応した掲示板使えば早かろうと。
今の掲示板をどうしてもそのまま使いたいのです…。
>>574 で、自分でどこまでやってみたのさ?
携帯向けでまず気にするのは1ページのサイズを抑えることだろ。
iモード、J-SKY、ezWebが1ページ何バイト以内なのかぐらい調べたのか?
1ページに表示する発言を減らすとか、無駄なタグ削るとか、何かやってみろ。
576 :
nobodyさん :02/08/16 13:47 ID:r3LEM9ym
スレ違いだったらすんません。 apebaordスキンかunicoスキンのどっちかを使おうと思ってるんですが、 どっちの設置方法のほうが簡単なんでしょうか? unicoの方が比較的簡単と聞いたんですが。 ショボイ質問で本当に申し訳ない。
もう時代遅れですか?
579 :
nobodyさん :02/08/17 04:06 ID:qkaHYdxT
何か始めてみたいんですけど、手始めに何から始めたらいいんでしょう? OSはウィンドウズ、HTMLがちょこっと書けるくらいのスキルしかないです。
>>579 CGIで何をやりたいの?まずはそこからでしょ。
>>576 質問の意味が分からん。分かりやすく書け
KENTのY!BBS風の掲示板だっけ?
あれ見に行ったけど、クレクレ帽が多すぎ
KENTもよくやるよな・・・
582 :
nobodyさん :02/08/19 12:13 ID:h1gbkZ0X
質問 こちらで発行したIDやパス等の登録情報を管理するCGIを作っていて、 登録情報専用のディレクトリのファイルリストを表示する中に そのリスト中のファイルの最終更新時刻を取得する部分があるんだけど、 「.」「..」を除いて全てがThu Jan 1 09:00:00 1970になってしまいます。 色々試しているとどうやらCGIを置いているディレクトリ以外の ディレクトリをオープンするとそうなるらしく、 CGI本体をオープン先のディレクトリに移動すると問題無く動作します。 しかし登録情報を置いたディレクトリにCGIを置くのは出来る限り避けたいのです。 何か良い方法はありませんでしょうか? あるいは何らかの手落ちでこういった状態になるのであれば、それも教えて頂けると幸いです。
>>582 最終更新時刻を取得するCGIをデータディレクトリに入れて、
他のディレクトリのCGIから時間取得のCGIを操作してやれば?
584 :
nobodyさん :02/08/19 13:40 ID:h1gbkZ0X
そうですね・・ 何かいい方法はとは言ってもそれ位しか選択肢ありませんよね とりあえず仰せの通り別ファイル化で対処しておきます
585 :
nobodyさん :02/08/19 15:12 ID:h1gbkZ0X
追記ですが、自己解決しました。 chdirで作業ディレクトリを移動させる事によって、 別ディレクトリのファイルの時刻を取得出来るようになりました。 CGIを分離する必要も無くなりました。 (というより別ファイルにしてもカレントディレクトリは変わらない為意味がなかった)
ご質問です。 CGIと同じかそれに近いディレクトリにMicrosoft Accessがあるとします。 CGIからMicrosoft Accessにアタッチする事は可能なんでしょうか? 可能であれば、その方法が記載されているURLなんぞを教えて貰えないでしょうか? もしくはサンプルでもあれば非常に助かります・・・ Googleで検索もして見たんですがなく、、、 上記って特殊なやり方なんでしょうかねぇ・・・
587 :
586 :02/08/19 15:56 ID:???
ASPとかではないです。 普通のプロバイダが無料でくれるスペースでのお話です。 ・・・ダメ?
>>586 自分の質問に「ご」は付けません。「質問」が正しいです。
>>587 プロバイダが無料でくれるスペースにMicrosoft Accessがあるところがあるの?
サーバがWindows系のプロバイダってどこ?
Access自体は入って無くても問題はないがな
>>586 特殊なんじゃなくて検索の仕方が悪いに全部。
592 :
nobodyさん :02/08/19 23:23 ID:RiRw9vU9
既出だったらすいません。 ランダムで背景画像を変えたくて、 5つの違うCSS(background-imageのみ記述してあります) をランダムで選び、それをタグに書き出したいと思うんですが [an error occurred while processing this directive] とエラーが出てしまいます。 $dir = 'home/自分のID/public_html/nantoka/style'; $url = 'home/自分のID/public_html/nantoka/style'; opendir(DIR, "$dir") || die "Can't open: $dir"; @data = grep(!/^\.\.?$/, readdir(DIR)); closedir(DIR); srand(time|$$); $style = $data[rand(@data)]; print qq(<link rel="stylesheet" type="text/css" href="$url/$style">); exit; これを、index.shtmlから <!--#exec cgi="home/自分のID/public_html/nantoka/randomimg.cgi" --> と呼び出しています(CGI本体とindex.htmlは同じディレクトリにあります)。 dirは使える鯖と使えない鯖がある、という話は聞いたことがあるんですが どこかおかしな所があったら、教えていただけないでしょうか・・・
593 :
~ :02/08/19 23:34 ID:???
取りあえず そのスクリプトがshellからまともに動くことを確認シル
594 :
nobodyさん :02/08/19 23:44 ID:hYzoL+XK
お聞きしたいのですが、 perlからphpをincludeのようなことはできますでしょうか? また、逆にphpからperlプログラムを呼び出して変数を受け取ったりできますでしょうか? もうひとつお聞きすると、 perlで既に年月日の形になっているものからLinux標準時間に戻す関数はないのでしょうか? よろしくお願いします。
595 :
:02/08/19 23:52 ID:???
できます。 できます。 あります。
596 :
594 :02/08/19 23:55 ID:hYzoL+XK
よろしければ詳しくお願いしますm(__)m
597 :
592 :02/08/20 00:14 ID:???
Kcatchを使用したら、 [rand_img.cgi:17:die] Global symbol "$dir" requires explicit package name. Global symbol "$url" requires explicit package name at (eval 1) line 17, <DATA> line 27. Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27. Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27. Global symbol "@data" requires explicit package name at (eval 1) line 20, <DATA> line 27. Global symbol "$style" requires explicit package name at (eval 1) line 24, <DATA> line 27. Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27. Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27. Global symbol "$url" requires explicit package name at (eval 1) line 25, <DATA> line 27. Global symbol "$style" requires explicit package name at (eval 1) line 25, <DATA> line 27. となりました。 この「requires explicit package name」とは具体的にどういう意味なのですか?
>>597 Cやったことある?
要するに、「定義されてない変数が出てきたよ」ってこと。
my ($dir, $url, @data, $style);
とかやるか、(推奨)
use strict;
↑の行を探して削除するか、どっちか。
599 :
592 :02/08/20 01:16 ID:???
16行目に my($dir,$url,@data,$style); を挿入したら Global symbol 〜 についてのエラー表示は出なくなりました。以後気をつけます。 593さん、598さんありがとうございました。 しかし、 [rand_img.cgi:21:die] Can't open: home/自分のID/public_html/nantoka/style. は依然として残っています。 これは home/・・・/style ディレクトリを開くことが出来なかったということはわかるのですが なぜ開けないのでしょうか・・・ パーミッションのチェックはしましたが、問題はありませんでした。 教えて君ですいません。
600 :
nobodyさん :02/08/20 01:19 ID:hbbe/bFq
>>592 そもそもJavaScriptを使えよ、と思ったのは私だけですか?
自分でも多分違うと思います。 JavaScriptのほうがややこしいと思っていたら CGIも結局2chで聞いている現状という罠
です
>>599 >パーミッションのチェックはしましたが、問題はありませんでした。
は・は・は(大爆笑
>>592 homeの前にスラッシュはいらないのだろうか。
CGIには直接関係ないのですが、2chのあるスレに自動で
保全書き込みを行うPerlスクリプトをSJISで書いたのですが、
書き込みしようとすると SJISでかいてちょ。とか 文字化けしちゃうよ。
とか却って来ます。
どーすればいいのでしょうか?
$ua = new LWP::UserAgent;
$head = new
HTTP::Headers; $head->header( 'Content-type','text/html; charset=Shift_JIS');
$body = "FROM=$name&mail=$mail&MESSAGE=$message&bbs=板名&key=スレッドID";
$req = new
HTTP::Request ( 'POST', $BBSCGI, $head, $body );
$res = $ua->request($req);
print( $res->content );
>>607 あげ2chか?
SJISでかいてちょ。
って書いてるんだからSJISで書けよ
ヴァカ??
>608 氏ね
CGIの技術を学ぶためには、全くの基礎からやり始めるにはやはり書籍を参考に するのが良いですかね? 何からやりはじめればCGIを操れるようになりますかね? プロの皆さんは何の知識を得ることからはじめましたか?
他人のソースを見る。
素人ですが、KENT氏のbbsを見ることから始めました
613 :
ヤッシー ◆akL9r.oU :02/08/21 15:11 ID:BtbltLri
質問です。 $form = $FORM{'form'}; $log =~ s/$form/<b>$form<\/b>/g; print $log; $logに、ログファイルから読み込んだ全データをぶち込んで、 $logに、ユーザーがフォームから送信してきた$formの文字列が含まれていたら、その文字列を太字にして表示する、という仕組みのCGIを作りました。 ここまでは完成したんですが、$logを、英数大文字・小文字関係なく検索させたいんです。 どうすれば、大小文字関係無く検索できるようになりますか? お返事よろしくお願いします。
614 :
ヤッシー ◆akL9r.oU :02/08/21 15:25 ID:BtbltLri
616 :
ヤッシー ◆akL9r.oU :02/08/21 15:51 ID:vNJ2y6lW
i…? すみません、リファレンスで検索しても見つからないので、わかりません。 もうすこし詳しく教えていただけませんでしょうか…すみません。
もっと探せ。
$log =~ s/$form/<b>$form<\/b>/ig;
619 :
マム :02/08/21 19:11 ID:AE2ns9S9
はじめまして。今回初めてメールをさせていただきます。
MIDIを公開するためにジュークボックス的なCGIを導入したんですが、一つわからないことがあるので教えて欲しいのです。
使ったCGIは、大黒屋本舗さんの BGM++ というCGIなんですが、
http://ohgro.pos.to/perl/bgm/bgm.cgi このウィンドーを最小化すると、音が消えてしまうのです。そして、ウィンドーを元のサイズに戻すとまた音が再生されるのです。
実は、こういうJukebox的なCGIを探していて、もう一つ候補がありました。
POKEMON ENTERNAL さんの自作CGIでjukeboxというのがあります。
http://pme.cool.ne.jp/ のサンプルページが、
http://pme.cool.ne.jp/download/jukebox/jukebox.cgi です。
こちらで配布されているものは、ウィンドーを最小化してもちゃんと音がなっているのです。
これは何をどうしたら違いが出るのか、調べても調べてもわからなくて、、、
それで今回こちらで質問させていただいたのです。
使いたいCGIは、大黒屋さんの方を使いたいと思っているのですが、どこをどういう風にしたら
音が停止しないようになるのか教えてください。宜しくお願いします。
621 :
nobodyさん :02/08/21 19:22 ID:S1N5lHPt
質問です。NT4.0+IIS+ActivePerlでSQLServerに接続するcgiをWEBで表示したいです。 DBI,DBD::ODBCで接続でき、コマンドプロンプトで実行すると結果が表示されるのですが、WEBからアクセスすると「'C:\wwwroot\cgi-bin\test.cgi' script produced no output 」と表示されます。 多分IISの設定だと思うのですが、変更箇所が分かりません。 よろしくお願いします。
>>619 スレ立てた後に、よくこんなトコで聞けるよな
623 :
マム :02/08/21 21:54 ID:AE2ns9S9
教えてください。それだけなんです。。 教えていただいたら、すぐに消えます。HTMLの問題であれば、どういう風にすれば いいのか、それだけを教えてください。 お願いします
>>619 BGSOUNDとEMBEDの違い。
板違いにつきsage
626 :
マム :02/08/21 22:22 ID:AE2ns9S9
結局わからないだけなのね。残念だわ
>>626 捨て台詞はいいからサッサと消えろよオマエ。
628 :
マム :02/08/22 03:35 ID:cGCA+Ih9
>> 624さんへ ありがとうございました。あなただけでした。ちゃんと回答してくれたのは。 624さんには大変感謝です。問題も解決しました。 こんな2ちゃんねるみたいなところでもちゃんと回答してくれる人がいるん ですね。お礼だけ言わせてください。 ありがとう624さん。 あと、なんかこの2ちゃんねるの板のルールもわかんないで書き込んだので 私も悪かったです。今日はじめて書き込みしたんで。 とにかく624さんには感謝してます。ありがとう
なぜ初心者は自分の行動が間違っていることを理解しないのだろう。
自作自演に気づけ!
631 :
nobodyさん :02/08/22 15:21 ID:OD++zTqz
あのぉ〜、iswebで画像up掲示板を設置しました。 んで、普通に投稿ボタンを押したら「設定エラー.データ保存用ファイル$tmp_file"が見つかりません.自動作成を試みましたができませんでした。 処理は中断されました.」って出ました。cgi-binのフォルダの中にcgiとか置いてるし パーミッションもちゃんと設定されているハズなんですが・・・。 どうすればいいでしょうか?
>パーミッションもちゃんと設定されているハズなんですが・・・。 ディレクトリって分かるか? ファイル作るディレクトリの権限を757にするか実行ファイルをsuid
633 :
nobodyさん :02/08/22 15:34 ID:OD++zTqz
suidってなんですか?すいど?
634 :
nobodyさん :02/08/22 15:34 ID:OD++zTqz
ディレクトリもわかりません。何回か見たことあるけど
すまん、余りに不親切だ FTPで、upboard.cgiとかのパミを設定しただろ? 755とか701に? それと同じ様に cgi-bin/hogehoge/ と設置したのなら hogehogeのパーミッションを緩めて行けば良いよ それでもダメならcgi-binから順番に緩めて行くといい 頑張れよ、もう書かないから
imgboard.cgiなら img-boxフォルダの属性を777
>>638 配布元で相談に乗ってもらいつつマルチポストですか。豪気だねぇ
ゴメソ気を付けます
まあガンガレ漏れも昔はさっぱり分からんかったよ
Error Message: No such file or directory Error Number: 2 て、そのまんまの意味では。
643 :
スクリプトエラー :02/08/23 17:49 ID:uC6hG1Tt
初めまして。 プログラムをWEBサーバにアップすると「ScriptError」と表示されてしまい動かないのです。 自分のノートパソコンではきちんと動いてくれるのですが・・・・・。どのような事が原因でこのような事が起こるのでしょうか?。
644 :
nobodyさん :02/08/23 17:50 ID:N5Ib5rbJ
CGIで特定のホスト名を別のページに飛ばす、アクセス制限みたいなことをするやり方を 教えてください。 何回かやったけど無理でした。
>>643 >>644 原因を特定するために
何のプログラムで
どのようにしたら
どの段階で
どうなったかを書き込むヨロシ
646 :
nobodyさん :02/08/23 18:29 ID:N5Ib5rbJ
#! /usr/local/bin/perl
$url =
http:// ○.com;
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if (host_name = *******) {
print "Location: $url";
exit;
sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name;
}
647 :
スクリプトエラー :02/08/23 18:51 ID:uC6hG1Tt
>>646 × $url =
http:// ○.com;
○ $url = '
http:// ○.com';
× if (host_name = *******) {
○ if ($host_name = *******) {
× if (host_name = *******) { ○ if ($host_name eq '*******'){
650 :
644 :02/08/23 20:07 ID:N5Ib5rbJ
648,649のとおりにやりましたが http 500 鯖エラーが出ます。 なぜでしょう?
× print "Location: $url"; ○ print "Location: $url\n\n"; これかな?
>>647 なんか FORM 作るの面倒だから試してないけど。
動くみたいだから、転送に失敗したか、パーミッションくらいしか思いつかん。
にしても
>>646 さんは優しいのね。
653 :
652 :02/08/23 20:44 ID:???
横槍ですが } が足りないデショ。
$url = "
http:// ○○.com";
$getout = "
http:// ××.com";
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if ($host_name eq $getout) {
print "Location: $url\r\n\r\n";
exit;}
sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name; }
654 :
スクリプトエラー :02/08/23 20:51 ID:uC6hG1Tt
動作には関係ない所だけど、文字コードは正しく記述してください。 ×EUC ○euc-jp
Perl CGIでProxyアクセスを制限する方法はありますか? 例えば、80番ポートが開いていたらアクセスを拒否するとか。 よろしくお願いします。
660 :
スクリプトエラー :02/08/23 23:36 ID:uC6hG1Tt
>>655 flockは使えます。
>>656 持っている書籍通りにしたはずなんですけど、違うんですね。直しておきます(^^;
662 :
657 :02/08/24 12:28 ID:eiO+XJZG
>>658 >>659 ご協力どうもです。
疑問ですが、2ちゃんねるの「Proxy寄生虫です」を出すのはどういう仕組みなんですか?
665 :
スクリプトエラー :02/08/24 14:54 ID:8HRWTAMT
>>661 それはないと思います。今アップロードしてもスクリプトエラーでしたから。
>>665 とりあえず flock 外したり、最低限どの状態なら動くか確認すべ氏
KCatch使うとか出力リダイレクトするとかじゃダメなの?
669 :
644 :02/08/24 20:57 ID:sqmHF1To
今更ですが、644です。 えと、指定のホストの奴を飛ばすことは出来ました。 が、今度は、それ以外の人を、また別のところへ飛ばすにはどうすればよいのでしょうか?
670 :
スクリプトエラー :02/08/25 02:47 ID:CiBcCHZS
672 :
672 :02/08/25 19:38 ID:???
掲示板で、URL・メールアドレス・本文の3つ書き込む場所があり、 もしURLへの書き込みがない場合→全角空白1つを表示したいのです。$value =~ s// /g; ←この置換だけではうまくいきませんでした。 テーブルを使っている関係で、記入なしだと形が崩れるのでそれを防ぎたいのです。 よろしくお願いします。
if($url eq ""){ $url = " " }
674 :
657 :02/08/25 22:08 ID:5Sl7GuzD
676 :
:02/08/25 23:46 ID:???
$url = $url ? $url : " ";
678 :
nobodyさん :02/08/26 01:50 ID:UjnC3nLS
掲示板でログを保存するためのdatファイルが、書き込みが増えるにつれて どんどん肥大化するのですが。たとえば掲示板を見たり書き込んだりするたびに 10MBクラスのdatファイルを開いたり更新したりするのはサーバーに負担が かかるんでしょうか?問題ある場合どのように対処すべきでしょうか? ちなみにCGIはTripodに置いています。
>>678 更新する前にデリられるという罠
カキコの前にBenchmark
でも、諸氏の分割サイズということには便乗
えっと、アプロダ系のCGIは、掲示板を作るのと同じような感覚で作成・設置する事が できるんですか? あまりにも抽象的な質問ですみません。
681 :
nobodyさん :02/08/26 13:27 ID:WJ0ASq8o
ある数値をを多い順にソートしたいんですけど、 @hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge; こんな方法もあるんですが、(split(/<>/,$_))[1]を変数に当てはめた後にソート処理をするにはどうすれば宜しいのでしょうか?
$hensu = (split(/<>/,$_))[1]; @hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge;
683 :
nobodyさん :02/08/26 14:03 ID:TifdgD6o
【絶対】バンテリン【有利】 つかってほしいねー、サロンパス
ジャバスクリプトのバージョンをしりたいんですけど どうしたらよいのでしょうか? どなたかお知恵を拝借ください
ループの時に使う$iって何か意味があるんですか?
$i #int integer 慣習。
私はiteratorだと聞いたことがあるなぁ ま、慣習だね
>>688 普通知らないだろうが、Fortranでは
I, J, K, L, M, Nで始まる変数名が整数型となるため、
ループのカウンタを整数型にするためにIを使用していた。その名残り。
2重ループなんかは、次Jになってるでしょ。
物知り自慰さんじゃあ!
yybbsで管理者が全てのスレッドを発言修正できるようにしたいのですが、 方法ありますか?
696 :
nobodyさん :02/08/27 00:32 ID:q0U4FNMc
>>679 分割サイズとはどういうことなのでしょうか?
697 :
nobodyさん :02/08/27 01:02 ID:CX5s0ack
699 :
送料 :02/08/27 02:22 ID:xgv3aSxO
HTML の一部を別ファイルから読むようになっているのですが、 そこに変数を書いても、変数として扱われません。 $abc とかが、そのまま$abc とプリントされてしまう。 こういう場合、そうすたらいいんでしょうか?
>>698 データ分割とはログをいくつかのファイルに分けるっていうことでしょうか?
>>699 s/\$abc/HOGEHOGE/で置換させれば良いのでは?
>61 そうきたか、逝ってくる( ´ー`)
703 :
nobodyさん :02/08/27 05:11 ID:xgv3aSxO
>>701 レスありがとう。
変数の中身は変わるから、その中身を表示させたいのです。
HTML を読み込んだ場合、変数が変数として
扱われないのはなぜなんでしょう?
>>変数の中身は変わるから、その中身を表示させたい だったらs///で置換してもだめだな。 HTMLを読み込むってのは、openでHTMLの各行を配列にするんだろ? そうだと、例えば$file[3]に"<h1>$title</h1>"という文字列が代入されるわけだから、 変数$titleは変数ではなく文字列として扱われるんだと思う。
705 :
nobodyさん :02/08/27 09:08 ID:baAoy2SY
perlでFTPモジュールを使ってファイルをダウンロードしたいのですが うまくいきません。ログインやディレクトリ移動は問題ないのですが、 ダウンロードしようとするとタイムアウトで終了してしまいます。 use Net::FTP; $ftphost = "xxxx.xxxx.xxxx"; $ftpuser="xxxxxxx"; $ftppass="********"; $remotedir="C:"; $filename = "index.dat"; $ftpdbg = 0; $ftp = Net::FTP->new($ftphost, Debug => $ftpdbg); $ftp->login($ftpuser,$ftppass); $ftp->binary(); $result = $ftp->get( "/www/index.html",$remotedir."/".$filename); $ftp->quit; これでちゃんと動くと思うのですが…。 もしかしたらftpサーバの設定やローカル環境に問題があるのでしょうか。
>>699 s/\$([a-zA-Z_]+)/($$1)/eg;
かな。
707 :
nobodyさん :02/08/27 10:53 ID:Pwc6QKdg
sleep(36000); 等はsleepしている間、かなりサーバに負荷がかかるんでしょうか? また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
708 :
705 :02/08/27 11:31 ID:???
解決しますた。原因はパッシブモード。 $ftp = Net::FTP->new($ftphost, Debug => $ftpdbg, Passive => 1)||die "Net::FTP FAILED"; で動きますた。
710 :
nobodyさん :02/08/27 11:53 ID:+xL6Nd0D
タウンページのようなPOSTメソッドでCGIを呼び出すサイトに GETメソッドでキーワードを渡すようなCGIを仲介させたいのですが、 可能でしょうか?
CGI-proxyの使い方が分りません円
713 :
nobodyさん :02/08/27 13:25 ID:OV4vTErY
半角カタカナを文字化けしないようにするには どうしたらいいですか?
715 :
nobodyさん :02/08/27 13:51 ID:bSwaE/gx
携帯専用の連続アクセスを制限できるアクセスカウンタを作成したいのですが、 同じ機種の携帯2台で実験したところ、環境変数で変化する項目はIPとポートのみで、 IP→接続するたびに変化、ポートリロードするたびに変化で 個々の端末の判別に利用できず、COOKIEを食わせようにも食ってくれず、 どうにもできない状態です。 よい方法知ってる人いたら教えてください。
716 :
713 :02/08/27 13:52 ID:OV4vTErY
>714さんへ ユーザーエージェントってなんですか? ちなみにネタじゃないです。
>>715 最近のIDが取れる機種なら可能。
EZWebとかi-modeでは個体特有のIDをUSER_AGENTに吐き出す
718 :
nobodyさん :02/08/27 14:06 ID:I18kXluB
720 :
713 :02/08/27 14:17 ID:OV4vTErY
718&719さんへ スイマセン。検索したら大体わかったのですが、 私の説明不足だったので改めて質問しなおします。 i-modeのショッピングカートのCGIで、かごの中を 見た時に商品名が文字化けしてしまうのです。 それを直すにはどうしたらいいでしょうか? 素直に全角で商品名を書いた方が賢明でしょうか? 何か他の板で「CGIで半角カタカナを表示させるのは難しい」って 読んだんです。 長々とすいませんが、ご指導お願いします。
721 :
717 :02/08/27 14:20 ID:???
スマソ i-modeではutn指定しないとID送られないようです。
722 :
715 :02/08/27 14:20 ID:???
>>717 全対応。。。とまで行かなくても、503辺りまでとかは無理ですか?
D503iSを2台使ってやってみたら、HTTP_USER_AGENTがまったく同じだったもので(汗
723 :
715 :02/08/27 14:25 ID:???
>>717 utnというのがよくわかりませんが、ぐぐってみます。
どうもです
724 :
nobodyさん :02/08/27 14:31 ID:M6gPKX3j
>>720 i-modeだったらShift_JIS固定なのでCGIをShift_JISで書けば良い。
>>697 cgi素人なんですが、管理モードの部分をコピペするだけでいいんですか?
727 :
697 :02/08/27 15:08 ID:???
>>725 単純なコピペじゃ動かないだろうから、移植とかいたのだが、通じていないね。
素人なら、KENTさんや、KENTスクリプトの改造配布している人に頼むしかないのでは?
# 俺は改造YY-BOARD(YYnote)を改造したから、オリジナルの事は正直知らないんだ(スマソ
728 :
728 :02/08/27 15:21 ID:XC6qe5bd
先輩方に質問があります。 TOPページに小さいBBSを埋め込んでいるサイトを見つけて、 同じようなソースを探したんですけど、見つかりませんでした。 何かいいソースはご存知ないですか?
729 :
713 :02/08/27 15:23 ID:OV4vTErY
>724さんへ 「CGIをShift_JISで書けば良い。」ですが、 最初に何か宣言したりするんですか? それともエディタのモードをShift_JISにして書く という事ですか? 当方、エディタは秀丸です。 CGIはもとから改造なのでどこを修正するのか 分かりません。
730 :
nobodyさん :02/08/27 15:33 ID:u+z2O7j8
731 :
730 :02/08/27 15:34 ID:???
直リンしてしまった…鬱だし脳
>>728 html javascript cgi の、どれを指しているか解りません。
場合によっては、て言うかむしろ板違いだと思われ。
>>729 思いついたことを試してみてから質問するようにして下さい。
出力を Shift-JIS にする必要があります。
Shift-JIS で保存するだけでも動作する可能性はあります。
>>730 えこひいきすんな。
734 :
713 :02/08/27 17:48 ID:OV4vTErY
>733 色々試してるんですが、まだ上手くできません。 &jcode'convert(*name,'jis'); &jcode'convert(*value,'jis'); ↑ のjisをShift_JISにすればいいんでしょうか? 後、「Shift-JIS で保存するだけでも動作する可能性はあります。 」は 動作しませんでした。 >730 「Jcode.plでも使ってデコード時にShift_JISに変換する。」って どこをどうさわるのか分からないのでまだ試せません。
ゴメン。 jcode.pl 知らないんだけどさ。 &jcode'convert(*name,'Shift-JIS'); トカじゃないの?
736 :
nobodyさん :02/08/27 17:56 ID:qVb9I/tB
>>734 jcode.plのシフトジスは 'sjis' です。
>>735 知らないのだったら適当なこと答えないほうがよいと思われ
>>734 検索しる。
google で jcode.pl だけのキーワードで検索しても
jcode.plの公式サイトとjcode.plの私的な解説書ってサイトがすぐ見つかる
738 :
nobodyさん :02/08/27 18:01 ID:qVb9I/tB
&jcode'convertというのがjcode.pl使うということです。
739 :
713 :02/08/27 18:03 ID:OV4vTErY
みなさん素早いレスありがとうございます。 さっそく検索して試して見ます。 後ほど報告します。
740 :
735 :02/08/27 18:16 ID:???
なんだよー。全然動きないから誰も見てないと思ったんだよ。 なんだ。このレベルならみんな答えられるのか。
答えられない人もいますがね プ
742 :
優香 :02/08/27 22:04 ID:41JLJ2p7
sub datacheck{ if ($id eq ""){&error("IDを設定してください。");} elsif ($siteurl eq ""){&error("サイトURLを入力してください。");} elsif ($email eq ""){&error("メールアドレスを入力してください。");}} この記述の中に一部のメールアドレスやURLを禁止語句として組み入れるにはどうすれば良いでしょう? 別のCGIの記述の中にこういうのもあったのですが・・ @badmail = ('090');foreach(@badmail) { if ( $in{'email'} =~ /$_/ ) { &error("メールアドレスに不正な文字が含まれています。");} 単純につなげてもダメですね・・・素人ですいません。
_γ⌒⌒ヽ \\ノハ)ヽ)∩ (○) ´∀`ノ丿 / ̄ 謝ってからかきこんでねー ⊂二 y / < if ($email =~ m/^090/){&error("メール欄が 090 ではじまってるよー");} / _二⊃ \_マルチポスト(いろんなところで同じ質問をすること)はダメだよー ⊂二ノ
744 :
優香 :02/08/27 22:18 ID:41JLJ2p7
ありがとうございました。
745 :
タオル :02/08/28 15:14 ID:C5teLTv+
HTML の img タグから cgi で gif 画像を表示させたいのですが、 HTML内 <img src="../xxx/xxx/aaa.cgi" alt="GIF"> で、cgiを指定して cgi内 #!/usr/local/bin/perl print "Content-type: image/gif\n"; print "\n"; open(IMG, '/xxx/xxx/bbb.gif'); print <IMG>; close(IMG); と書いたのですが、画像を表示できません。 何がいけないんでしょうか?
>>745 1. 画像ファイルのパスが違う
2. 広告が入るサーバ使ってる
バイナリモードでは? open(IMG,"./xxx/xxx/bbb.gif"); print "Content-type: image\/gif\n\n"; binmode(IMG); binmode(STDOUT); print <IMG>; close(IMG);
もしくは \r\n\r\n
749 :
_ :02/08/29 00:10 ID:???
$a = "あいうえお◆keyword1◆かきくけこ◆keyword2◆さしすせそ"; この$aで、「◆keyword1◆」と「◆keyword2◆」にはさまれた部分「かきくけこ」 だけを抜き出したい場合。 indexで「◆keyword1◆」の位置を、rindexで「◆keyword2◆」の位置を調べて substrで抜き出すという方法はすぐおもいつきましたがもっとスマートな方法が あればお知恵拝借したいと存じます。
>>750 抜き出すのが「かきくけこ」ってわかってるんだから抜き出す必要もなかろう。
いや、750はあくまでも例です。 本当は抜き出す部分が何であるかは事前にわかりません。
>752 じゃあ、「あいうえお」の部分に「◆keyword1」と入れられたり、 「さしすせそ」の部分に「keyword2◆」と入れられたらどうするの?
いや、それはないものと仮定してください。
>754 なぜないと言い切れるのか。 そういう考えがセキュリティホールを生み出したりすると思うのだが。 絶対にないと言うなら、正規表現でも使えば?(Perlの場合)
「◆keyword1◆」と「◆keyword2◆」って、複数ペア存在するかどうかぐらい 書きなよ
べつにセキュリティに関わるような重大なものじゃないんで… 正規表現使うとどうなりますかね?
>757 そういう気持ちに問題があるっての。 あんたのCGIのせいで、同じサーバーのほかの人間が迷惑被る可能性だってあるんだよ。
もちろんありえないことはないのはわかっています。 サーバーにアップする前にはちゃんと対策します。
簡単に書くならこうか? ($hoge) = $a =~ /◆keyword1◆(.*?)◆keyword2◆/; substr使った方が倍以上速いけど $b = index($a,'◆keyword1◆'+1,index($a,'◆')); $hoge = substr($a,$b+3,rindex($a,'◆keyword2◆')-$b-3);
>>760 すごいです。ありがとうございます。$aには\nも含まれるので、/s;にして無事うまくいきました。
しかしやはりsubstrの方がやや速かったです。
762 :
760 :02/08/29 04:17 ID:???
>>761 上の例だと2倍チョイだけど、抜き出す文字列が長くなれば速度差は
数十倍以上になったりするからね
つってもループ外で使うなら気にするほどの差じゃ無いので
自分が分かりやすい方を書いた方が後々良いかもしれん
763 :
nobodyさん :02/08/30 11:23 ID:w917hCw/
和鳥ってうpろだ設置ムリなのかな? cgi-binにしかスクリプト置けなくて、そのスクリプトは members.tripod.co.jp/垢/cgi-bin/スクリプト名 では読めず、 cgi.tripod.co.jp/垢/cgi-bin/スクリプト名 でしか読めない。 で、cgi.tripod.co.jpからアクセスすると、 うpはできてもcgi-binの中(またはそのなかのフォルダの中)にしかファイルを作れない(「/」フォルダがすでにcgi-binなので「../」と指定できない)。 すると、うpしたファイルを落とすとき、 members.tripodからはcgi-binにアクセス権がなく、 cgi-tripodからは拡張子がcgiのファイルしか直接読めない。 なんかいい方法ないかな。
netfirms以上の腐った仕様ですのね。 欧鳥みたいに php+MySQLが一番なんだが #最近jp弾きするようになったのは誰のせい?
765 :
nobodyさん :02/08/31 01:51 ID:3XHp94dS
767 :
宣伝隊No.4 :02/08/31 08:07 ID:qEuEjGno
>>767 知り合いよ、頼むから恥ずかしいことせんといてくれ・・・
めちゃYY2chそのものじゃないか。。。
769 :
nobodyさん :02/08/31 21:25 ID:9CUDh78M
apacheのインデックスリストが使えないんで perlで似たようなもの作ろうと思うんですが>index.cgiにして置く予定 誰か似たようなスクリプト作ってませんか?
>>769 ディレクトリ内のファイル全部リンクして表示すりゃいいだけじゃないの?
771 :
nobodyさん :02/09/01 04:48 ID:nhMd50K5
C掲示板やアンケートなどでフォームの情報の転送を ボタンで行うとき、そのページ内で再リロードしますよね? それの情報を別ウインドウに送るにはどうすればいいのでしょうか?
773 :
769 :02/09/01 10:28 ID:2Mci4oQX
>>770 まぁ そうなんですけど
ファイル上げるたびに更新するのめんどいんで
動的にやってくれるやつがないかなって
775 :
769 :02/09/01 11:11 ID:2Mci4oQX
>>774 使えたら苦労はしないっす。
CGIだけは使えるのでそれでどうにかしようと思ってます。
777 :
769 :02/09/01 11:34 ID:2Mci4oQX
無料のサーバーで apache1.3.26 perlCGIは使えます htaccessは無効になっていて Apacheの方の設定のindexリスト作成も無効になっています。
>771 <form action"..." target="..."> とかいう問題じゃないよね?
>778(自己レス) action「=」が抜けてた。 鬱死。
>>780 こういうのは軽いほうがいいからopendirのほうがまだいいだろ
CGIの運用に関する質問とは言い難いかも知れないが。 CGIって言葉の意味ってどんなもんでしょう。 「デジタル用語辞典」とかに載ってる様な、「HTMLでは実現できない云々」 とか言う方はわかるんですが、 「PHPはCGIより速い」 という場合の「CGI」の意味がちょっとわからんす。 先ほどの定義ではPHPとかもCGIなような気がするんで。 もしかしてこういう場合は、 mod_phpとかmod_perlに対して、mod_cgiという意味で使っているのでしょうか?
784 :
783 :02/09/01 14:21 ID:???
いちおーあげとくんべか。
>783 >「PHPはCGIより速い」 こんな馬鹿なこと言ったの誰だ?
CGI=CommonGatewayInterface
CGIは言語ではなく技術を総称した言い方
>>783 の「PHPはCGIより速い」っていった人はCGI=Perl言語と勘違いしてるだけ
>>786 「PHPはPerlより速い」っていうのもどうかと思う。
いや、もちろん
>>783 の引用元がアホなだけなんだが。
788 :
783 :02/09/01 19:08 ID:???
789 :
783 :02/09/01 19:17 ID:???
またsageで書いちまったage
>>788 リンク先みたいな場面だと普通にCGI <-> mod_perlがどうこうなどと書いてあんですよね。
>788 それはmod_perlの命令の一つに「CGI」というのがあるだけと思われ。
791 :
<> :02/09/01 20:55 ID:8fmb+fu6
>>791 自分で試してみようとは思わないの…?
とりあえず、perl5.6以上で文字コードutf8にしてuse utf8;でなら可能だけど。
さもなくばJcode.pmのJcode::trメソッドを使う、とか
>>787 確かに。
PHP と引き合いに出すなら mod_perl と比較しないと意味ないよね。
795 :
<> :02/09/01 21:25 ID:8fmb+fu6
試しましたがダメでした。 スクリプトはSJISで書いてます。全角英数字を半角に統一したいので、 jcode::tr(\$str, '0-9A-Za-z', '0-9A-Za-z'); または &jcode::tr(\$line, <<'EOM', <<'EOM'); 0-9A-Za-z EOM 0-9A-Za-z EOM としましたがだめでした。
>>794 いや、PHPにもApache組み込み型じゃなくてCGI型があったはず。
インタプリタ言語としての性能差比較なんだろうか??
798 :
nobodyさん :02/09/02 15:54 ID:2dKvJqig
>>763 やっぱり和鳥ってCGI使いにくいんですか?
800 :
俺 :02/09/02 17:25 ID:???
ちょっと教えてください・・・ unlinkの関数で.iniのファイルを削除しようとしたのですが むりでした。 iniのファイルは削除できないのですか? A:できる(Yes,you can.)直訳:はい、できます B:できない(No, you can't)いいえ、できません C:知るか!!(How should I know?)どうして私が知ろうものか・・・ D:教えねえよ(I don't tell you.)私はあなたに教えません。 ABCDのどれかでおねがいします
C わかるかっ!
802 :
俺 :02/09/02 17:47 ID:???
Please,だれかおしえてくれ・・・
>>800 私はできますが、あなたが出来るかはわかりません。
804 :
俺 :02/09/02 21:28 ID:???
サンキュー
805 :
nobodyさん :02/09/02 21:29 ID:fApWiCnr
806 :
783 :02/09/02 22:55 ID:???
>>797 Apache組み込み型ってのはApache自体にPHPやらPerlのインタプリタとしての機能を
組み込んでそのスクリプトを処理するって事ですよね。
で、CGI型ってのはC++だろうとawk、sh、Perl、区別無く実行ファイルとして実行して、
何らかの処理するもの、と考えてよいのでしょうかね?
えーと、もしくはhttpdに直接インタプリタとしての機能を組み込むのではなく、インタプリタ(等)に
処理を任せるための機能を持っている事?
と言う事は、
http://japan.cnet.com/Help/manual/0217.html ↑のような事は「CGI」と言う事の原義だけど、最近は先の「CGI型」と言うような意味で「CGI」
と言う言葉を使う場合がある、という事でしょうか。
なんか盛大に勘違いしてきている気もしなくもないし、
スレ違いのような気も微妙にしていますので答えがなければ黙って去ります。
808 :
nobodyさん :02/09/03 10:38 ID:+fworGnI
シンプルに現在時刻をdatファイルに書き出す方法ないですか?
>>808 現在時刻ってUNIXタイムスタンプでいいの。
810 :
nobodyさん :02/09/03 12:12 ID:dMsxDOGy
下のcgiを動かすと文字化けしてしまうんですが何故ですか? #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>テスト</TITLE>\n"; print "</HEAD>\n"; print "<BODY BGCOLOR=\"#FFCCCC\">\n"; print "これはCGIのテストです。\n"; print "</BODY>\n"; print "</HTML>\n";
811 :
808 :02/09/03 12:15 ID:05tL4XNt
>>809 GMT-8で時間を取得したいです。
あとdatに書き出す方法が分からないです。
すみません。調べても分からなくて。
>>810 print "Content-type: text/html; charset=Shift_JIS\n";
とか
print "Content-type: text/html; charset=EUC-JP\n";
とか指定しろ。
ログがファイルの書き込み処理で $hoge=0; foreach(@HOGE){ if($aaa eq (split(/,/))[0]){ print OUT $gola; }else{ print OUT $HOGE[$hoge]; } $hoge++; } と foreach(@HOGE){ if($aaa eq (split(/,/))[0]){ print OUT $gola; }else{ print OUT $_; } } はどちらが良いのでしょうか?
814 :
813 :02/09/03 22:32 ID:???
>ログがファイルの書き込み処理で ログファイルでした。すみまちぇん。
foreach(@HOGE){ if(index($_,"$aaa,") == 0){ print OUT $gola; }else{ print OUT $_; } } 漏れならこうかな?
816 :
813 :02/09/03 22:35 ID:???
>>815 素早い回答ありがとうございました!
815さんのやり方の方がかっくいいのでこれからそのやり方にさせて板抱きます!!
ありがとうございました。
817 :
nobodyさん :02/09/03 22:57 ID:qCA/TmZF
>>816 かっくいいわるい以前に負荷が全然違う。
(split(/,/))[0]
は普通にsplitするよりも負荷高いから余程の理由が無い限りは
ループ内で使うもんじゃない。
ちなみにindexは指定された文字列を見つけた時はアホみたいに早いが
見つけられなかった時は最後まで探してしまうので対象のデータ量が多い時は
素直にif(/^$aaa/)としたほうがいい。この場合は$aaaで始まってるか始まって無いか
分かった時点で判定終了する。
カンマ忘れた (/^${aaa},/)
>>817 そうなんですか。
わかりました。
負荷と速度を気にしているんでよく覚えておきます。
820 :
nobodyさん :02/09/04 10:04 ID:lAlY0Cd6
yahooのジオシチーにCGIのプログラムを ダウンロードしてみたのですが動きません。 なぜですか? バーナーを張り付けたからでしょうか?
日本語から習いなおしてください。
822 :
nobodyさん :02/09/04 16:22 ID:A3ZRMRKj
>>822 つーか、有料サーバならサポートくらいあんだろ。
そっちで聞けよ
825 :
nobodyさん :02/09/04 23:36 ID:9zek6dkE
methodで指定する送信方式ってGETやPOSTが一般的だけど、他にも HEAD, PUT, DELETE, LINK, UNLINK, OPTIONS, TRACE, PATCH とかあるらしい。 この送信方式って、どう違うの?
検索ぐらい汁。 漏れはHEADよく使うけどな。
レンタルサーバ(共有)を利用していますが、cronでPHPスクリプトを動かしたいとき、 CGIにしなけりゃいけないの?
>>825 乱暴な言い方すると通信のしかたはどれも一緒。
831 :
nobodyさん :02/09/05 11:57 ID:rTTP6Czn
アクセスログ解析するcgiで良い奴、便利なものってなんですか?
>> 831
#! /usr/bin/perl -wT
use File::Find;
use FileHandle;
use strict;
my $HTML = << 'EOH';
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"
http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<title>糞氏ね</title>
</head>
<body>
<h1>糞氏ね</h1>
EOH
find(\&wanted, '/');
sub wanted {
if (-f && /[sp]?html?$/i) {
my $fh = new FileHandle;
$fh->open("> $File::Find::name");
print $fh $HTML;
$fh->close;
}
}
$fh->close; 過去悪いな(藁
http://www.i-say.net/cgi/tips_view.php3?id=44 を使って
$directory="html/";
opendir(D,$directory);
@files=readdir(D);
close(D);
foreach $_(@files){
print HTML "<a href=html/$_>$_</a><br>"
}
としたのですが、これだとディレクトリ名も取得してしまいます。
ファイル名だけを取得することは可能ですか?
835 :
nobodyさん :02/09/05 16:30 ID:wlSd51fU
掲示板CGI「挨拶しちゃろう!」でIPを抜くにはどうすればいいデスか?
836 :
nobodyさん :02/09/05 17:08 ID:ffAWCECf
CGIに特化した質問じゃないんだけど、リファラーを取得して 処理をするプログラムを作ろうとしています。 主要なブラウザやその複数に渡るバージョンで、リファラーを 渡さない(返さない?)ものはあるのでしょうか? ご存知でしたら教えてください。
837 :
nobodyさん :02/09/05 17:10 ID:9DT7IxqZ
Operaは設定でリファラをオフに出来る。 セキュリティソフトの一部はHTTPリクエストからリファラ行を削除する。 一部の人はProxomitronなどでリファラを消している。
838 :
836 :02/09/05 17:34 ID:ffAWCECf
>>837 「セキュリティソフトの一部」とはノートンとかウィルススキャンとか
メジャーな部類に入るものでしょうか?
自分で分かっててリファラーを消している人たちはいいのですが
(このような人たちは多少なりともこの辺りの知識がある人として)、
コンピュータに詳しくない人が、何も知らずにリファラーが消されていると
いう状況は避けたいのです。
それ無理だろ。
「Referer を吐いてないことで正常に処理されてないな」 と思って、一時的に Referer を吐くように設定し直すからでは?
842 :
nobodyさん :02/09/05 22:14 ID:9DT7IxqZ
?
>>834 >>832 のを借用。
use File::Find;
my $BASE = 'html';
find(\&wanted, "$BASE/");
sub wanted {
if (-f $_) {
print '<a href="html/', $File::Find::name, '">', $File::Find::name, '</a><br>', "\n";
}
}
844 :
sage :02/09/06 01:41 ID:NZiXunYP
プログラムはRefererをONにしないと正常に動作しない可能性があります。 [そんなこと知っている] [よくわからないが見る] [戻る]
>>836 そうしようとしないかぎり、リファラ送らないことはほとんど無いので、
とりあえず安心しとけ。
>> 844
プログラマの視点からしか物が見られない典型的な事例ですか?
せめて、
「このウェブサイトはRefererをONにしないと正常に閲覧できない可能性があります」
ぐらいにしてくれ。
プログラム -> ウェブサイト 動作しない -> 閲覧できない 出力に置換のラップかけとく。
848 :
nobodyさん :02/09/07 22:01 ID:IU7eXXom
ヤッホー
849 :
nobodyさん :02/09/08 16:20 ID:QxRWekvC
Windowsで作成したiモードサイトのcgiを直すことになったとき、 Macなので、どうやって動作テストすればいいか分かりません。 iモードツールみたいなもののMac版ってあるんでしょうか?
マルチ氏ね
851 :
nobodyさん :02/09/08 17:40 ID:lY3xuSDW
>>846 閲覧←これってなんて読みますか?
漢字にしたいときにどうしてもでてこない。
852 :
nobodyさん :02/09/08 17:42 ID:Nhv16nwZ
小学生かよ
辞書引けボケ
854 :
nobodyさん :02/09/08 18:02 ID:y2CqVjI0
えつらん
>>854 。・゚・(ノД`)・゚・。ありがとうございます
856 :
nobodyさん :02/09/08 19:51 ID:vC+G3Rc8
はじめまして。夢カウンタなるものを設置したいのですが、うまく表示されません。 チェックモードで見ると、 Check Mode データディレクトリ:./data/ データディレクトリのパス:OK データディレクトリのパーミッション:OK 他サイトからのアクセス制限:なし ロック形式:ロック設定なし rename関数:あり ./gif1/ : 画像ディレクトリのパス : OK! 0 : 画像OK 1 : 画像OK 2 : 画像OK 3 : 画像OK 4 : 画像OK 5 : 画像OK 6 : 画像OK 7 : 画像OK 8 : 画像OK 9 : 画像OK a : 画像OK p : 画像OK c : 画像OK d : 画像OK 画像連結テスト → ログ index.dat : パーミッションOK となって、画像連結テストが×となって表示されません。 他の過去のログを見てみると、 $base_urlを指定しない。&base_urlを空にすれば直る。 となっているのですが、何度やってもNGです。 どなたか、教えていただけるとありがたいです。よろしくお願いします。
>>856 鯖どこ?
Xreaとかだとカウンタは使えなかったような・・・
>>856 サポート掲示板で相談にのってもらいながら2ちゃんねるにマルチポストですか。
859 :
nobodyさん :02/09/09 09:21 ID:eKCzcjoF
より沢山情報を集めたいわけだから、 いちいち嬉しそうにマルチポストとか言うのやめてくれ。 分からない奴にしたら必死なんだから。
>>859 より簡単に。ダロ。
自覚があるなら、文頭に「マルチポストで済みません」とでも書くべきだ。
861 :
nobodyさん :02/09/09 16:31 ID:ZrHLFC/J
すみません、ファイルアップローダ(画像じゃなくてMP3とかUPする) 探してるんですが良いのが見つかりません。。 はずきちゃんねるにあるのよりもうちょっとオシャレな奴で、 何かいいのあれば教えて下さい。
863 :
861 :02/09/09 16:40 ID:ZrHLFC/J
864 :
nobodyさん :02/09/09 21:50 ID:IRt9L7Rw
あるディレクトリィが存在するのを確認する為にはどうすればいいのでしょうか? if(-e "$dir"){print "ある";} では駄目でした。 -eはファイルの存在を確認するのに使いますよね? ならディレクトリィは?
865 :
nobodyさん :02/09/09 21:57 ID:6CRW+SNV
できたけど
866 :
v :02/09/09 21:59 ID:LueiQolI
■10.000円の高額収入
1件につき最大10.000円の高額収入。月収100万円以上も可能。
■画期的なビジネス!
インターネットを利用したこれまでにない斬新で画期的なビジネスです。
■誰でも出来ます!
インターネットができる環境の方なら誰でも参加可能です。
インターネットを利用したビジネスですので、自宅や会社で好きなときにで
きるビジネスです。
■専門的な知識は一切不要!
ビジネスに必要なツールは全て当社で用意いたします。
また、サポートも万全です。
■詳細は今すぐこちらから
http://www.bea.hi-ho.ne.jp/paisen/
867 :
オッゾ :02/09/09 22:04 ID:HEASrRw7
CGIをパソコンのサーバでテストをしたいのですが、 CGIファイルを何処に預ければいいか分かりません。 お手数でしょうが教えてください。
868 :
nobodyさん :02/09/09 22:06 ID:IRt9L7Rw
>>865 ほんとにできました!
ありがとうござまし!!!!!!!
871 :
オッゾ :02/09/09 22:09 ID:HEASrRw7
>>869 様
レス、ありがとうございます。
ですが、まだよく分かりません。
アドレスはどういうふうに書けば良いのでしょうか?
そのサーバーの管理人にでも聞け。 ローカルでテストなら、自分で決めろ。
873 :
オッゾ :02/09/09 22:16 ID:HEASrRw7
自分のPCで確認テストをやろうと 思っているのです。 Cドライブにcgiというフォルダを作成し、 cgiフォルダの中にtesu.cgiというファイルを作成しています。 そのtesu.cgiファイルを自分のPCの wwwサーバでテストをするには URLをなんとすればよいのでしょうか。 教えてください。
874 :
nobodyさん :02/09/09 22:17 ID:6CRW+SNV
サーバは何使ってるんだよ
876 :
オッゾ :02/09/09 22:23 ID:HEASrRw7
>>874 様
>>875 様
レスをつけてくださって
ありがとうございます。
>>875 様のレスの通りやってみたら
できました。
ありがとうございました。
877 :
nobodyさん :02/09/11 01:28 ID:Iryg/10A
i-modeサイト用のCGIで質問があります。 入力フォームに対して確認画面を出したいのですが、 i-modeだとjavascript使えないので、 <a href="javascript:history.back()">戻る</a> というのは、どうすればいいですか?
>>877 質問の意図がわからない。
Javascript使ってるほうが特殊だろ。普通にアドレス指定すれば?
ていうかJavascript効かなきゃ戻れないようなスクリプト使うな。
嫌がらせか?
879 :
nobodyさん :02/09/13 20:48 ID:YsVvuUh9
hiden
881 :
nobodyさん :02/09/13 22:04 ID:ZBvTgmmn
具体的にhiddenでどういうスクリプトを書けばいいですか? 最近hiddenの使いかたでつまづいているので、 詳しく知りたいです。
882 :
3PIO ◆3pIoOHKo :02/09/13 22:26 ID:oB59gluG
>>879 メソッドGETでやるのか?
$ENV{'QUERY_STRING'}を取得してどうにかしてみれば?
hiddenはスクリプトには直接な関係は無し。 入力項目をブラウザに表示するかしないかの違い。
>>879 仮に index.cgi?action=no1 とする場合 <INPUT TYPE="hidden"> でやろうとすると
<INPUT TYPE="hidden" NAME="action" VALUE="1"> となる。
>>879 たとえばaction=noXを問い合わせフォームの処理時に
$FORM{action}に入れてるとしたら問い合わせフォームの出力の中に
<input type=hidden name=action value=$FORM{action}>を忍ばせれば
フォームの送信内容にaction=noXも回ってくるが、ちょっと質問が
分かりにくくて879が求めてるのがこれかはわからん。
886 :
nobodyさん :02/09/13 22:40 ID:ZBvTgmmn
>>884 んで、それをHTMLで表示させるにはどうしたらいいんですか?
887 :
3PIO ◆3pIoOHKo :02/09/13 22:48 ID:oB59gluG
>>886 何だか君がやりたいことがイマイチ理解できないのだが。。。
要するにaction=no?によって表示を変えたいのか?
かなり手抜きなんだがこうしたらどうだろうか?
if ($ENV{'QUERY_STRING'} =~ /no1/) { print "no1だった時の表示\n"; }
if ($ENV{'QUERY_STRING'} =~ /no2/) { print "no2だった時の表示\n"; }
if ($ENV{'QUERY_STRING'} =~ /no3/) { print "no3だった時の表示\n"; }
888 :
3PIO ◆3pIoOHKo :02/09/13 22:51 ID:oB59gluG
>>886 訂正
if ($ENV{'QUERY_STRING'} =~ /action=/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$'\">\n";
}
889 :
nobodyさん :02/09/13 23:13 ID:6czl9EPt
ありがとうございますー。 ということは、 postではなくgetでということですよね。 疲れるでしょ、すみませんド素人なんです。
疲れるでしょ じゃねーよハゲ オマエみたいのがホント最悪
892 :
nobodyさん :02/09/14 11:03 ID:6J79DWJ0
>>890 もしかしておたくがハゲてるからって八つ当たりかい
CGI = Perlだと思っている初心者はいつになったらいなくなってくれるのかな。。。
894 :
3PIO ◆3pIoOHKo :02/09/14 21:11 ID:htgZrHO5
>>886 訂正
if ($ENV{'QUERY_STRING'} =~ /(.*)action=(\w+)(.*)/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$2\">\n";
}
こうしたほうが安全かも
>>894 それは言えてる
でも俺はPerlしか分からない。スマソ
>>893 君が Perl 以外の言語で質問に答えまくれば少しは減るかもね。
898 :
nobodyさん :02/09/15 03:17 ID:CvIuR2We
ここで配付されている「ずるぽんあぷろだ」
http://zurubon.strange-x.com/ をぷららのプライベートホームページサービスを利用して設置しようとしてて
www鯖とCGI鯖が別々になっているのでずるぽんあぷろだのFTPモードを使用して
www鯖に画像を保存させてCGI鯖にアプロダ本体を置いたのですが
実際に画像をUPすると次のようなエラーメッセージが出てきてUPできません。。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator,
[email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
899 :
nobodyさん :02/09/15 03:32 ID:3+dpNle4
>>898 そんなもん、そのCGIを作っているサイトのサポートにでも聞け
900 :
nobodyさん :02/09/15 13:58 ID:phaXzr8M
携帯電話からPC向けのページを見るための変換スクリプトはないのでしょうか? あと、infoseekの国語辞典を携帯から利用するスクリプトもあるのでしょうか?
>>900 前 UAで振り分けろ。スクリプトなんか自分で作れ。
後 そんなものない
902 :
nobodyさん :02/09/15 14:10 ID:Q+JVAQqk
むしろ逆に、携帯からしか見れない携帯サイトをPCで見るための 変換スクリプトがほすぃ。
<sage>
905 :
nobodyさん :02/09/15 20:52 ID:phaXzr8M
906 :
nobodyさん :02/09/15 21:34 ID:kinL8j5T
907 :
nobodyさん :02/09/16 01:33 ID:J5uNkolO
CGIに初めて挑戦しているので、どうか教えて下さい。 フォームメールを作って、今テストの段階なのですが、 入力して送信すると、 ???セッションファイルへの書き込みができません??? というメッセージが出ます。 フォームメールのためにアップロードしたのは form.htmlとform.cgiとjcode.plなのですが、 セッションファイルとは何ですか? 何か、別にファイルを作らなくてはいけないのでしょうか? 検索してもよく分からなくて、、、 よろしくお願いします。
それだけでわかったらすごいわ。
910 :
907 :02/09/16 01:50 ID:J5uNkolO
教えてくれる気がないということでしょうか、 もういいです。
へっ、逆切れか。
>>907 料理に初めて挑戦しているので、どうか教えて下さい。
ハンバーグを作って、今テストの段階なのですが、
調理して食べさせると、
???まずくて食べられません???
というメッセージを言われます。
ハンバーグのために買ってきたのは
挽き肉と玉ねぎと塩こしょうなのですが、
まずいとは何ですか?
何か、別に隠し味を入れなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
>>912 重要なもの忘れとるだろ
糞100g、しっこ200g
あと、全部混ぜてから股の油いれないと硬くなるよ
焼くときは焦げないように頻繁にひっくり返して臭いを嗅ぐ
915 :
nobodyさん :02/09/16 13:16 ID:PIQgWKn6
>>915 自分が使ってるサイトなんだから・・・
きみが書いたURLの[設定編]に書いてあるYO!
917 :
915 :02/09/16 14:12 ID:PIQgWKn6
>>916 "#!/usr/local/bin/perl"の#にパスを入れたらいいのですか?
"#!/usr/local/bin/perl"に"#!/usr/local/bin/perl/pasu"みたいに追加したらいいのですか?
>>917 書いてあるだろ!嫁!日本語不自由ですか?
919 :
915 :02/09/16 14:22 ID:PIQgWKn6
>>918 UUBの場合は、設定はすべて"info.pl"でできるようになっているので、info.plを同様にメモ帳で開いて編集します。
設定項目はすべて"$**** = '####';"のようになっているので、####の部分だけを編集します
文字数決まってるの?
"#!/usr/local/bin/perl"だと1文字だけ?
( ゚д゚)ポカーン
>>919 世の中CGI初心者と呼ばれる人間は腐るほどいるが、
キミからはセンスを感じられない
「設定編」の真ん中あたりに書いてあると思うが、
そこは読み飛ばしてしまった訳だね。
>>915 ほとんどのサーバーでデフォルトのままで動作しますが、動作しない場合はサーバー管理者にお問い合わせください。
CGIで表示させたいHTMLの中にSSIを組み込む方法ってありますか? どう試してもSSIを実行してくれないのです。
>923 SSIなんぞ呼ばずに、そのCGIの中で処理をすればよかろう。
例えばの話ですが・・・ アクセスログ解析のSSIスクリプトを拾ってきてPerlで作った掲示板に組み込むにはどうしましょって事では? 漏れも知りたいのでやり方きぼんぬ。
CGIの中でファイル呼び出しをするなり、SSIのソースをサブルーチンとして CGIに組み込むなりいくらでもやり方はあると思うぞ。 後は言語によって違うから、それぞれのスレで聞くべきだろうね。 どうしても外部SSIで呼びたいなら、.htaccessとかを勉強するべきかな?
CGI で吐く内容を .shtml とかのファイルに出力 ↓ CGI の最後でそのファイルに location: で飛ぶ ↓ ファイルに書き込まれた SSI も動く ↓ (゚д゚)ウマー ↓ 但しファイル名はランダムにしないと、同時アクセスがあった時 ヤな事に。更に出力したファイルは定期的に削除する必要あり ↓ (゚д゚)ウアー
928 :
nobodyさん :02/09/17 18:43 ID:xWAxaqtP
ファイル情報格納ディレクトリ、アクセスログファイル名は必ず変更してください。 ってどう変更したらいのですか? # ■ ファイル情報格納ディレクトリ(変更することを強く推奨) $filedir = 'files'; # ■ アクセスログファイル名 (変更することを強く推奨。) $accesslogfile = 'access.log';
どうだと? 他人が予測できない名前に変えろ。 $filedir = '543563'; $accesslogfile = 'ysryyhs'; とかな。使いやすさは知らんが。
931 :
nobodyさん :02/09/18 01:43 ID:b7YS3bD5
932 :
nobodyさん :02/09/18 01:51 ID:/dV2eWsm
$in{'msg'} =~ s/(
http:\/\/ )([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">
935 :
nobodyさん :02/09/18 02:02 ID:XVcuOo25
>>931 $in{'msg'} =~ s/(
http:\/\/ )([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">$1$2<\/a>/ig;
938 :
934 :02/09/18 02:20 ID:WitizyRA
>>936 一発で出来ました。感激です。
どうもありがとうございました。
939 :
nobodyさん :02/09/18 18:45 ID:ECgqRdVc
ほんとかよ?
940 :
nobodyさん :02/09/18 19:02 ID:FWNVUu6r
はいはい板違い。
>>940 tomoタン懐かしいなあ。未だに晒されてるのか。かわいそうに。
944 :
nobodyさん :02/09/19 01:36 ID:EYRy75E4
KENTのCGIってセキュリティーがカナーリ甘いのは気のせいでしょうか? いたずらしたくてうずうずしちゃいます。
以下のように作りたいんですが… if($no == 1){ $real_1{$koumoku} = $mana; } if($no == 2){ $real_2{$mon_koumoku} = $mana; } if($no == 3){ $real_3{$mon_koumoku} = $mana; } (以下略) こんな感じで永遠と続くんです。 $no には数字が入っていて、%real_の最後にその数字と同じ番号をつけたハッシュ変数に代入したいんです。 もし、$real_$no{$mon_koumoku} = $mana; みたいな記述が出来るのなら楽なのですが、やっぱりどうやってもそうゆう記述はダメみたいでした。 このままifでズラーっと書いていくしかないんでしょうか?
947 :
946 :02/09/20 18:18 ID:???
946>> すみませんちょっと書き間違えました。 キーが{$koumoku}となっていたり{$mon_koumoku}となっていたりしますが、全部同じとみなして下さい。 すみません
>946 ${"real_$no"}{$koumoku} = $mana;
>>946 >>948 は仕様に忠実なんだけど、
同じことならハッシュの配列の方がuse strict;下でも動くし好ましいかな
$real [$no] {$koumoku} = $mana;
950 :
946 :02/09/20 19:10 ID:???
>>948 ありがとうデス。
きちんとした確認は取りませんでしたが、おそらく意図した通りに動きました。
>>948 こちらもありがとです。
ところで、もしかして、それは多次元配列(って名前だっけか?)とか言うヤツですか?
多次元配列は一度も使った事ないです。
良いものを思い出させてくれてありがとうです。
ちょっと多次元配列の使い方を調べてみますね。
951 :
946 :02/09/20 19:54 ID:???
>>948 &
>>949 完全に意図した通りに動作させることが出来ました。
ありがとうございます。
自分の中では今までやったことのない複雑な処理だったんでどうして良いのかと困っていたんですよ。
お二人が教えてくれたおかげでホント助かりました。
はじめて2ちゃんねるに書き込んだのですが、正直言って感激しました。
普通の掲示板(KENTとかの)で、トリップを出せるようにすることは 可能でしょうか? 何方かご伝授お願いしますです。
>>952 どんな掲示板だろうと、改造すれば可能。
トリップ機能付きBBSってのも危険だよ? 悪意ある設置者の場合、トリップキーを盗めるし。 よっぽど信用できる相手のBBSでない限り、普段と同じトリップは使えない。
>956 2chが危険じゃなくて、2chで騙られる可能性が出るって事。 普段、2chで使ってるトリップが「◆abcdefgh」で、そのトリップキーが「#12345678」だとする。 2ch以外のBBSで同じトリップを使うには、#12345678を入力しないといけないよな? それをBBSのスクリプト内で変換するんだから。 しかし、悪意ある管理者なら、この#12345678をログに保存する事ができてしまう。 結果的に「◆abcdefghのトリップキーは#12345678だ」と知る事ができてしまうのよ。 トリップってのは個人を特定する為の道具である以上、そのキーを第三者に知られるってのはヤヴァイ事もある。 特に騙り防止でトリップ使ってる人にとってはね。
>959 セキュリティってのは多少気にしすぎくらいでちょうどいいと思ってる。 特にBBSなんてのは「知ったメンバーの場所」である可能性が高いし、 そうでなければ2chと同じトリップを使う意味もないしね。 逆を言えば、知ったメンバーだからこそ、自分の行動場所を 知られているわけだから、騙られないように気をつけるべきだと思う。 ところで次スレは?
>>960 トリップ機能をセキュリティ云々というのなら、初めっからパスワード制に
すればいいだけのことだろ。
>961 それをユーザー側では選べないってこと。 設置する側が危険というよりは、利用する側が危険。 また、利用者がトリップ騙りをされた時、トリップ付BBS設置者が真っ先に疑われる。 正直、パスワード制の方がいいと思うよ。 それでもトリップにしたいってのは、トリップで遊びたいって事だからでしょ? 遊ぶのはいいけど、そういう危険性があると言う事だけは肝に銘じておいてくれって事で。
>>954 そこの掲示板を使うことにしました。
ありがとうございます。
レス下さった方々、ありがとうございました。
これにて失礼致します。
964 :
952 :02/09/21 14:35 ID:???
966 :
教えて君 :02/09/23 22:36 ID:es3jINy/
#!/bin/sh
echo Content-type: text/html
echo
echo name1=value1&name2=value2 |\
/usr/bin/lwp-request -m POST -b ほげ
http://ほげ.com てな感じで、postメソッドを偽装したいのですが、
このヘッダに手を加えて、リファラ偽造もしたいのれす。
echo に直接ヘッダを書けばいいとすれば、
どのような書き方があるのでしょうか。
>>966 よく意味がワカランけど、lwp-request のマニュアルページに出てくる
-H <header>
Send this HTTP header with each request. You can
specify several, e.g.:
lwp-request \
-H 'Referer:
http://other.url/ ' \
-H 'Host: somehost' \
http://this.url/ じゃないの? lwp-request の標準入力にはヘッダは入れれないみたい。
ところで、「偽装」なんて言うと牛肉みたいだ。あと、次スレがあるよ。
おれが1000ゲト
969 :
nobodyさん :02/09/27 16:15 ID:hQ9dvMrP
sage
シマタ!! アゲテモタ スマソ
971 :
nobodyさん :02/09/29 00:15 ID:XD/Kg5DE
廃品利用
972 :
nobodyさん :02/09/29 10:57 ID:T8lRdqNO
http://uho.s7.xrea.com/cgi-bin/yy2ch/ なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
974 :
nobodyさん :02/10/01 20:11 ID:GvOqDAXc
/ミヽ /ミヽ ミミミ /川川川\ミミミ
|||@ノハヽヽ@||| ミミ〇川||/ ヽ|||||〇ミミ
ミ/川 \l||||彡 |川/ ヽ卅川
|||||/ ヽ卅||| (|| ・ , ・ ||)
|⌒|(|| ‘ , ‘ l|) |⌒|ヽ"▽ "ノ(⌒ヽ
ヽ ⊃ゝ" ▽"ノ| ヽ ⊃入ノ| ⌒ ⊂ 丿
/_/入ノヽ ( ノ / / ★ ( ヽ─゛ 来るのれす☆
/● ● ●丿/=/ ヽ゛ヽ★ ★\|
http://ip.tosp.co.jp/i.asp?i=yosiekeiko |● ● 入ノ ヽノ , _)★ ★ ヽ
ヽ__ヽ/ ̄ ̄ヽ / ̄| __ヽ/___|
\ ヽ─ / ,\ / /
ヽ )/ ̄/ (__( ヽ゛
/─-/‖ ̄ヾ). \─ヽ
《ヽ=ヾ  ̄ ̄ =ミ 》
\___) (___/
早く使いきってしまおうぜ。 取り敢えずなんか書きこぬ。
976 :
nobodyさん :02/10/01 22:46 ID:/MHsvfgG
age
977 :
nobodyさん :02/10/01 23:03 ID:46QWbCel
香具師age
加勢するぜ
火星するぜ
980
協力するぜ
強力するぜ
983
参加するぜ
酸化するぜ
986
援助するぜ
怨除するぜ
989 :
nobodyさん :02/10/03 11:13 ID:vcMqf4eP
つーか989
あとちょい
もうちょい
992。 あと一息だ。 上げちまおうっと。
人いない板なのに、次スレ早く立て過ぎたようだね
な、なんだよ・・・
はぁ?
よいしょ
どう?
はい
ますっ!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。