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

CGIだけど、なんか質問ある? Part 8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/09/22 23:15ID:???
CGIの運用に関する質問スレッドです。

※CGIは特定の言語に依存するものではありません。

※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
  ↓
  Perl 初心者コーナー Part16
  http://pc.2ch.net/test/read.cgi/php/1032070299/l50

過去ログ・関連スレッドは >>2
051451102/11/04 14:53ID:???
>>512
回答どうもありがとうございます
ちょっとスクリプトに手を加えてファイルにそーゆーのを吐き出すよーにしてみました
しばらく様子をみようか…と思ったのですが致命的な欠陥が…(ぉ

>>513
別に平気なんじゃないかと思うのですがでければEUCコードとかも使えるエディタでやったほうがイイのではないかと思われ
うちはPerlEditorなるものを使っておりますがなんか挙動が変でつ、機能自体はあんまし問題は無いのでつが


色々と串について調べてたら行き着いたサイトなんですが
tp://www8.big.or.jp/~000/CyberSyndrome/evc.html
このサイトの診断を見て、プロクシ関連の情報、のとこの下に表示されてるのが
環境変数名なのかとフツーに思って書いていて、イザ動かしてみたら動かず…
試しに串さして環境変数を全部吐き出させてみたところ
これらの変数名が含まれてないことが発覚( ´Д⊂
どうすればいいのか、調べてみてもなんか全然引っかかってきません(汗
連続ですみませぬがどうか御教授ください…
0515nobodyさん02/11/04 14:53ID:???
>>513
ノートパッドでもかまわん。
自分の好きなテキストエディタで書けばよろし。
0516nobodyさん02/11/04 14:58ID:???
便乗だけど、HTTP_CLIENT_IP というのはどんな場合にセット
されるの? ヘッダとしては、Client-IP: かな。見たことが
無いんだけど、こういうヘッダを付けるプロキシがあるんで
しょうか?
051751302/11/04 14:59ID:ULCphpkL
>>514
>>515
ありがとう。
これから初めてcgiプログラムを書きます。
掲示板をつくるんでしゅ。にゅーん
0518nobodyさん02/11/04 15:35ID:???
>>516
だからそんなの、サーバ管理者の気分次第でいくらでも変えられるんだってば。
HTTP_FUCK_YOUでもHTTP_2CH_NETでも好きにできるよ。

# 基本的にHTTPなんたらっていう環境変数は当てにならん。
0519うえの02/11/04 22:11ID:tA0Z4q/O
perlを最近はじめたうえのと申します。(プログラムは今回が初めてです。)

「10日でおぼえるPerl/CGI入門教室」という本で勉強しています。その本にはCDロムが
付録でついていて、その本に紹介されているプログラムが収録されています。私は本の
とうりプログラムを入力してプログラムを実行してみて、うまく行かなかった場合、付
録のCDロムのプログラムを1行ずつコピーして、自分で入力したプログラムにペースト
して実行してみて、入力ミスを探しています。だいたいの時はこれで、入力ミスを見つ
けてうまく行きます。ですが今まで2回ほど、すべての行をこのやり方でやっても、入
力ミスが見つからないことがありました(プログラムはうごかないままです)。一行ず
つコピー&ペーストしてうまく行かないのに、全ての行を一度にコピー&ペーストして
プログラムを実行してみると、うまく行きました。これは、いったいどういう事でしょ
うか?

すみません、何方かどうか宜しくお願いします。
0520☆脱02/11/04 22:19ID:Xjm9EuR3
画像が貼れるチャットがあるよ
http://www.i-chubu.ne.jp/~tomomi-h/marion/navi/navi.cgi?links=20311
052151102/11/04 22:45ID:???
>>517
がんがって

>>518
そうは言っても日本人の朝食はパンかゴハンが主流であるわけで
それ以外の朝飯喰ってるヤツなんかあんましいないでしょ
つーわけで、何事にも一般論とゆーのがあるのでは…とゆー

>>519
気がつかないような些細なミスがあるに違いない

えと、あと>>514でした質問なのですが、
今現在Windows2K+ActivePerl5.6+AN-HTTPDとゆー環境でテストしてるのですが
なんか環境依存とゆーかたまにこの環境じゃ吐かない環境変数があるような(;´Д`)
つーわけで吊りつつもーちょっと自分で調べることにします…
0522あい02/11/04 23:01ID:G/C4foN1
携帯用のランキングCGIプログラムを捜しています。
何卒お願いします。
0523nobodyさん02/11/04 23:06ID:???
>522

激しく板違い
0524nobodyさん02/11/04 23:08ID:???
>522

マルチは氏ねよ。
0525nobodyさん02/11/05 10:03ID:???
ttp://www.big.or.jp/~talk/t-club/soft/mini_120/index.cgi
の画像掲示板を設置して使っているのですが、タイトルなどに
半角カナを使われると文字化けしてしまいます。2chユーザーは
やはり半角カナ使用率が高いので、できれば半角カナも表示
できるようにしたいのですが、なにかうまい方法はあるのでしょうか?
0526nobodyさん02/11/05 14:25ID:???
>>525
EUC化
0527525じゃないけど02/11/05 18:39ID:5Ci8Aq1y
>>526
あ、それでいいんですか。
EUC今まで使ったことがなかったんですが(^^;
なるほどー。
0528nobodyさん02/11/06 17:50ID:???
文字コード変換時に化けるから、2chの場合jcode.plのgetcodeでsjisじゃなかったら
エラーにして、文字コードの変換は行わないね。
0529うえの02/11/06 22:25ID:TwygVRhZ
521さんありがとうございます。確かに些細なミスがあるということが
分かってきました。
0530nobodyさん02/11/06 23:52ID:???
皆様、CGIってEUCで書いてる?S-JISで書いてる?

0531nobodyさん02/11/07 00:07ID:???
>>530
CGI は書けないよ。。。
0532nobodyさん02/11/07 00:43ID:???
皆様、PerlってEUCで書いてる?S-JISで書いてる?
0533nobodyさん02/11/07 00:51ID:Gt0qGrXX
>>532
SJIS
出力もSJISにしてるわ
0534nobodyさん02/11/07 01:06ID:???
有名どころの配布CGIはみんなSJIS。だからオイラもSJIS。出力もSJIS。EUSだとメタに文字コード書いてても化けることおおくない?
0535nobodyさん02/11/07 06:41ID:???
>>534
EUCにすれば化けないぞ(w
phpだが、俺の配布はEUC。理由は既出。
0536age02/11/07 07:52ID:???
SJISだとハンカクカナが化けるっていうじゃん?べつに化けないんだけど?
0537 ◆hMJAPH9PWA 02/11/07 09:59ID:???
>>536
別にそんなこといわれてないよ。
半角カナで書き込むと化ける可能性がある、ってのならあるけど。
0538nobodyさん02/11/07 11:13ID:Y8ygs/b/
すいません、怒らずに聞いてください。
$testという変数に入ってるhtmlの<table>タグが邪魔なので消去しようと思い、

$test =~ s/<table width=100% border=0 cellspacing=0 cellpadding=15><tr><td>//;
$test =~ s/<\/td><\/tr><\/table>//;←スラッシュをエスケープしてるつもり
とやったけどダメでした。
この場合はどうすればよいのでしょうか?
よろしくお願いします、、、
0539nobodyさん02/11/07 11:27ID:5h9enSGw
>>538
<が&lt;になってるとかじゃないよね。
0540nobodyさん02/11/07 11:38ID:8nsGokx4
WIN2000サーバのCGIプログラム、今まで普通に動いていたのに、
急に
HTTP 405 - 許可されていないリソースです。
インターネット インフォメーション サービス
とでるようになりました。最近やったことといえば、SP3を
適用したことと、容量がいっぱいだったので、いらないフォルダ
(といっても公開してる部分の要らないIMAGEフォルダやHTML)
を削除したぐらいです。同サーバのASPは問題なく動いていますが、
別のCGIはアドレスを打つと「保存しますか?」とダイアログが出てきます
。原因および対処法わかりますか?
054153802/11/07 11:44ID:Y8ygs/b/
あれ?今やったらちゃんと出来ました。
というかめちゃ適当に書いたのにこれで合ってたとは、、、
ありがとうございました。
0542nobodyさん02/11/07 14:15ID:X99Axcr/
PerlCGIで、配布物のスクリプトでも多いんですが、
ユーザ設定用の部分でそのCGIのファイル名を入れさせるのってありますよね。
わざわざ $ENV{'SCRIPT_NAME'} 使わないのには何か理由があるんでしょうか。
0543nobodyさん02/11/07 14:27ID:???
http://hoge/hoge/index.cgi に http://hoge/hoge/ でアクセスしても
$ENV{'SCRIPT_NAME'} が /hoge/index.cgi になるからとかじゃない?
0544nobodyさん02/11/07 14:30ID:???
他には、相対リンクにしたい、とか。
まあ

$file = $ENV{SCRIPT_NAME};
$file =~s/.*\/([\/]+)$/$1/;

で良いんだけど、余計な処理するくらいなら指定させた方が良いだろ、とか。
0545nobodyさん02/11/07 14:33ID:???
あと腐った鯖だと、$ENV{SCRIPT_NAME}をキチンと返さないのも有るかも、とか
コマンドプロンプトやらで動作チェックするとき$ENV{SCRIPT_NAME}が入らないからとか
0546nobodyさん02/11/07 14:49ID:???
perlのスレで聞いたんですけど答えが返って来なかったので・・・。

sendmailでメールを送ります。
宛先が存在しないとfromに設定したアドレスに failure notice とかいう
メールが自動で来ますよね。
sendmailで送った直後にアドレスが存在しないかどうか、CGI側で判断するにはどうしたらいいんですか?
例えば、入力されたメールアドレスにただちにsendmailしてみて
正常に送られたらそのアドレスはテキストファイルに書き込むみたいなことをしたのです。
0547nobodyさん02/11/07 15:16ID:???
>>546

答え返ってきてるだろが

http://pc.2ch.net/test/read.cgi/php/1034583844/633
0548nobodyさん02/11/07 15:27ID:???
>>547
じゃぁ、よくある会員サイトで、
メールアドレスを間違えて入力して会員登録してしまった人が居るとしますよね。
で、定期的に会員にメール配信したりしますよね。
その度にメール配信の管理者へ「こんなメールアドレスないですよメール」が返ってくるって事ですよね?
最悪じゃないですか?
そんな会員管理者で勝手に削除すればいいと思われるかもしれませんが、
例えば会員数が膨大なサイトとかどうするんですか?
0549nobodyさん02/11/07 15:50ID:???
>>548
会員数の大きいところはreturn pathが専用のメアドだから、管理者は困らない。
定期的にreturn path をスクリプトでチェックすればいいんじゃないの。
0550nobodyさん02/11/07 15:53ID:???
エラーが返ってきたらそのメールアドレスを送信先リストから削除するだけ。
けどそれはCGIでする事ではありえない。
0551nobodyさん02/11/07 18:29ID:oUI+pRbt
スクリプト改造スレがdat落ちしているようなので、こちらで質問させて貰います。
よろしくお願いします。

ttp://www.kent-web.com/chat/robo.html

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

簡単なHTMLなら書けるし、BBSの背景色を変える程度のCGI改造なら出来るので、
わかるかなーと思ってソースを見てみましたが、さっぱり分かりません。
どこをどう書き直したら、フレーム表示ではなく、一画面表示となるでしょうか?

スクリプトの中の怪しい部分を以下に載せさせてもらいますので、
教えていただければと思います。
055255002/11/07 18:29ID:oUI+pRbt
>>551
#------------------#
# フレームを生成 #
#------------------#
sub frame {
# クッキーを取得
&get_cookie;

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

?
print <<"EOM";
<frameset rows="147,*">
<frame name="form" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}">
<frame name="log" src="$script?retime=$ck{'retime'}&line=$ck{'line'}">
<noframes>
<body>
フレーム非対応のブラウザの方は利用できません
</body></noframes>
</frameset>
</html>
EOM
exit;
}
055355102/11/07 18:30ID:???
>>552
あ、すいません、名前は551でした。
055455102/11/07 18:30ID:???
>>552
ここがフレーム表示を決めてるのは間違いないと思うんですが、
普通、フレームってframe srcにHTMLファイルのパスが入りますよね?

このスクリプトだと、

<frame name="form" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}">
<frame name="log" src="$script?retime=$ck{'retime'}&line=$ck{'line'}">

こうなっています。

src以下が、それぞれ入力フォームとログ表示画面を現しているんじゃないかという事は分かるんですが、
それをどう並べれば一画面表示となるのかが分かりません……

どなたか、お教えいただけないでしょうか???
0555nobodyさん02/11/07 19:00ID:???
何故にフレーム止めるの?
フレーム使わないならチャットスクリプトじゃなく一行掲示板みたいなの
探したほうが早いと思うが。
0556nobodyさん02/11/07 19:10ID:???
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/
055755102/11/07 19:11ID:wiJfESIx
>>555
レスありがとうございます。

このroboチャットに入ってる自動応答の人工知能スクリプトを、一画面で使いたいんです。
055855102/11/07 19:12ID:???
>>556
あ、ありがとうございます。
そちらへ移った方が良さそうですね。

すみません、>>551の質問は無視して下さい>all
失礼しました。
0559nobodyさん02/11/07 21:31ID:???
すみません、質問なのですが、現在チャットとか作ってみてるのですが
ログの各項目をタブで区切ってるんですが
訪問者が名前とかメールとか発言とかでタブ使うと表示項目がズレちゃうとゆー欠点が有るのです
それを消そうと、タブをスペース4つに置換とか、""に置換とかしたいのですが、できません

$name=~ s/\t/    /g;
$name=~ s/[TAB(のつもり)]/    /g;

とかはやってみたのですが…
すみません、何卒御教授ください
0560nobodyさん02/11/07 21:44ID:???
>559
tr使うとか・・・フォームから受け取るときにタブ全部消すとか・・・あ、消すのは聞いてないか。
0561nobodyさん02/11/08 02:27ID:???
>>559
$name =~ s/\t/ /g;
でできてるでしょ???
0562nobodyさん02/11/08 02:28ID:???
>>559
あ,分かった。ログ自体が

>名[TAB]前[TAB]メール[TAB]ほげほげ

ってなってるんですね?
ログに保存する前に置換するべきだと思うんですが。
056355902/11/08 08:07ID:???
>>560
trって正規表現を使わない置換演算子でしたっけ…
とりあえず利用者の 入力してきたタブを消せればよい方向です

>>561
ぇゃ、なんかそれじゃできませんでした(゚∀゚)アヒャ
なぜだろう…

>>562
そう、そういう意味でつ 伝達能力低くてすみません
今現在はそのように入力されるとメール欄に前が、コメント欄にメー(略

とりあえずガッコから帰ってきたら御教授いただいた方法とか試してみます
他のとこでも不具合がポコポコと・゚・(ノД`)・゚・
0564nobodyさん02/11/08 08:19ID:???
URLエンコードを元に戻す時に
s/\t//g;
056555902/11/08 15:29ID:???
帰ってきて、バグとか潰して>>561をやったらなぜか巧くいきました
むしろなぜ昨日できてなかったのか…
すみません、馬鹿丸出しですので吊ってきます
御親切にしていただいて嬉しかったっす どうも有り難うございました

>>564
URLエンコードってなんですか(;´Д`)
ぐらいの初心者ぶりを発揮しています
おいおいがんがって勉強していくつもりで…

(´-`).。oO( バグの原因は変なとこで変数を宣言していたことでした )
(´-`).。oO( ソースの書き方がめちゃめちゃダメぽな匂いがプンプンです )
0566nobodyさん02/11/09 00:43ID:???
PerlのCGIのカプセル化ってみなさんどうやってますか?
今までずっと1つのファイルでまとめてたんですけど、覚えきれなくなってきたんで。
0567nobodyさん02/11/09 12:41ID:???
投稿内容チェックしたいんですけど、
半角英数字以外と数字以外の規制はどうやればいいですか?
0568nobodyさん02/11/09 13:31ID:XnEMYEgk
カレンダーを作ろうとしているのですが祭日をどのように処理すべきか悩んでいます。
ハッピーマンデー対応にするととてもむずかしいです。
そもそもハッピーマンデーの仕組みがわからないな・・・
よろしくおねがいします。
0569割と初心者02/11/09 13:46ID:???
>>567
if($投稿 !~ /[^0-9a-zA-Z]/){
とかだめ?
0570nobodyさん02/11/09 16:46ID:???
質問です。
初心者です・・・それもかなりの・・・。
ぇぇと、CGIですよね・・・
CGIでなんていうか・・・、掲示板とかゲームとか作っていきますよね・・・。
それで、掲示板にしろゲームにしろつくるときにはまず最初に何からやればいいのでしょうか?
なんか他のとこでまずperlでやるんだったらなんかダウンロードするとか言われたんですけど、よくわかりません。
何をダウンロードしてどこでどのようにつくっていけばいいのでしょうか?
perlとかはどこに打てばいいんでしょうか?
なんかおかしいこと行ってるかもしれませんね・・・私・・・。
すいませんがどなたか教えてくれませんでしょうか?
0571nobodyさん02/11/09 16:59ID:XnEMYEgk
>>570
hello world!!
0572nobodyさん02/11/09 17:04ID:???
ぃゃ、それは知ってるんだけど・・・。
それをどうやればいいのかなってこと・・・。
ちょっと私の質問はやヴぁかったみたい・・・w
0573nobodyさん02/11/09 17:06ID:XnEMYEgk
#!/usr/bin/perl

print"Content-type: text/html";
print"hello World!!";
0574nobodyさん02/11/09 17:24ID:???
>>573
ヘッダ行の次は改行のみの空白行が必要です。
0575nobodyさん02/11/09 17:30ID:0mUtXyM1
cgi-binフォルダの属性を誤って「222」にしてしまい
FTPから読み込めない設定にしてしまいました。
これを復旧させる方法はあるのでしょうか?

垢はinfoseekです。容量はだいぶ超えてるので(ちなみに3G弱(ワラ
管理者に直してもらう選択肢は無いと思われ。
0576nobodyさん02/11/09 17:47ID:MmuLdSXo
おぉ、2ちゃんにこんな親切なスレがあったとは
0577nobodyさん02/11/09 18:21ID:???
>567
ttp://pc.2ch.net/test/read.cgi/php/1034583844/749n


0578最近始めた者02/11/09 19:44ID:???
cgi-binディレクトリ
って何でしょうか。
マジレス希望です。
0579nobodyさん02/11/09 19:50ID:???
>>578
cgi-bin は、ディレクトリの名前です。
0580nobodyさん02/11/09 20:17ID:4Q7VYiKo
今まで使ってたCGIをmod_perl環境に移すって難しい?
0581nobodyさん02/11/09 20:18ID:???
あの・・・マジで質問です
kent-webのaska.cgiにひみこーどをつけようと思うんですが
ほかの場所はうまくいったんですがここだけわからないんですよ
書き込み処理部分に

{ # 対フェイザーオンの場合は実際に発行されたコードかどうか照合
if ($FORM{'facheck2'} eq '') { &error('チェックコードエラー',"投稿コードが入力されてません(^^;;");
}
$dukecheck = $FORM{'facheck2'} . $FORM{'facheck3'};
if ( !open(DB,"$himicode_log") ) { &error('0'); }
@lines = <DB>;
close(DB);
$himikocheck=0;
foreach $line (@lines) {
chop($line);
if ($dukecheck eq $line) {
$himikocheck=1;
}
}
if ($himikocheck != 1) {
&error('x');
}
}
っていれたら、いくらひみこーどがあってても
チェックコードエラーってでてしまうんですよ
誰か教えてくれないでしょうか?
0582nobodyさん02/11/09 20:19ID:???
>>556
0583nobodyさん02/11/09 21:12ID:???
>>581
マルチすんなよ
0584nobodyさん02/11/09 22:01ID:???
>>579
意外と「ディレクトリ」がわかんないのかもよ。
Windowsから入った人にはなじみのない言葉だから。
0585nobodyさん02/11/10 00:51ID:???
フォルダって何ですか?
0586nobodyさん02/11/10 02:48ID:???
ttp://pc.2ch.net/test/read.cgi/php/1032704121/
この2chのアドレスみたいに
cgiのあとに?とかはさまずに続く文字列は
どのようにしたら使えるんでしょうか?

この場合/php/1032704121/っていう情報を
どうやれば使えるのか知りたいです
0587nobodyさん02/11/10 02:51ID:???
仮想鯖で実行するとうまくいくのに、プロバイダの鯖だとなぜかダメで困っています。
どの部分がおかしいのかは突きとめたんですが、なぜそうなるのかがわかりません。

# 出力テスト
print ($lines[378] eq $eachdate_string[0]); print "$lines[378] eq $eachdate_string[0]<br>\n";
print ($lines[379] eq $eachdate_string[1]); print "$lines[379] eq $eachdate_string[1]<br>\n";

で、結果は自鯖では
1[02/11/10] eq [02/11/10]
1[02/11/11] eq [02/11/11]

こうなって正常なんですが、プロバイダのだと「1」の部分だけが出ません。
つまり条件式が偽になってしまうみたいなんです。
どうして?TT
0588nobodyさん02/11/10 03:06ID:???
>>586
HTTP環境変数については一度調べてみたまえ。
一応その答えはPATH_INFOだがな。
058958702/11/10 04:41ID:???
自己解決しました。改行コードでした。
プロバイダの鯖のほうだと、chomp @lines; が無効にされてたみたいです。
なぜかはわかりませんが・・

結局、
$lines[$i] =~ s/\r\n//g;
$lines[$i] =~ s/\r//g;
$lines[$i] =~ s/\n//g;
で改行文字取り除いたらうまくいきました。
0590nobodyさん02/11/10 11:08ID:8jnCcvHX
>>589
マニュアル読みなさい。配列にchompはできないぞ。
0591nobodyさん02/11/10 11:22ID:???
正規表現について聞きたいんですけど

/(1\d\d|2[0-5][0-5]|\d{1,2}).(1\d\d|2[0-5][0-5]|\d{1,2}).(1\d\d|2[0-5][0-5]\d{1,2}).(1\d\d|2[0-5][0-5]|\d{1,2})/)

これだと192.168.000.001OKですけど
192.168.0.1はだめなんです。
いい方法ありませんか?
059259102/11/10 11:54ID:ZM8p4h+c
無難に
/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
にすることにしました。
0593nobodyさん02/11/10 17:19ID:???
お知恵を貸してください。
カウンタとアクセス解析のCGIを作り、実際に使ってます。
同時アクセス問題の関係で、予め用意したlockというディレクトリに
lock/lockという風にディレクトリをつくっているのですが、
ごくたまに親のほうのlockディレクトリが消えてしまいます。
コードをくまなく見てもrmdirはすべて"lock/lock"と指定してあります。
rmdir以外にディレクトリが消える原因ってあるのでしょうか。
0594nobodyさん02/11/10 17:39ID:???
>>593
> rmdir以外にディレクトリが消える原因ってあるのでしょうか。

外部プログラムとして、rm や rmdir が呼ばれるとか。
言語は何?
0595nobodyさん02/11/10 18:37ID:???
すんません、perlでした。
外部プログラムというとどういうことでしょう。
たとえばjcode.plを読むような形ということでしょうか。
でしたら、使っているのはjcode.plだけです。
うー〜む。
0596nobodyさん02/11/10 18:57ID:???
間違えました。jcode.plじゃなくてgifcat.plでした
059759402/11/10 19:52ID:???
>>595
> 外部プログラムというとどういうことでしょう。
たとえば、system() や open() で /bin/rm を呼び
出すという意味ですた。でも今回は関係無さそう。

スクリプト中では、本当に全箇所で "lock/lock" と書い
ています? それとも、実際には変数にセットしてる?
059859302/11/10 23:27ID:???
大変申し訳ない。質問文に間違いがありました。
仰るとおり、変数にセットしていました。そして、
だいぶ昔に作ったものだったもので、そうだと決め付けてましたが、
"lock/lock"ではなく、$lock_file="lock/".$QUERY{'name'}として、
複数ページで流用していたのでした。そして、
nameはページ毎の呼び出し時に引数で指定しています。
$QUERYを読めなければ確かにlock/が消えそうです。調査不足でお手数かけました。

で、imgタグから何からチェックしてみたところ、CGIの呼び出し時に
引数の区切りに&ではなく&が使われているところが一箇所だけあって、
え〜まさかこれか??という心境。じゃあ何で今まで動いてたんだろうか。
ってたぶん原因は別にあると思ってます。
もうちょっと自分で調べてみます。

594さん、ありがとう。
059959302/11/10 23:30ID:???
&amp;ではなく&が使われていた、の間違いでした。
0600nobodyさん02/11/10 23:50ID:???
>598
$lock_file="lock/dir".$QUERY{'name'};
みたいにしておくと間違いが起こりにくくなる。
060159302/11/11 00:01ID:???
ありがとうございます。取りあえず再発しないように、すでに
$lock_file="lock/lock".$QUERY{'name'}
と修正してありました。ってこれじゃわかりづらいか..
0602nobodyさん02/11/11 00:16ID:hyDx3f4a
>>568ですが
やっぱり休日ってみなさんでもむずかしいものでしょうか?
0603nobodyさん02/11/11 00:18ID:???
>>602
休日ってきっちりパターンが決まってることだからとりあえず書き出してみれば?
0604nobodyさん02/11/11 00:46ID:hyDx3f4a
>>603
秋分の日、秋分の日、ハッピーマンデー、ゴールデンウィーク、振替休日、うるう年
これらのパターンがむずかしいところです。
0605nobodyさん02/11/11 00:50ID:???
>>604
言語はなに?

年月日で決まってくるから、とりあえず 年、月、日 を入れると休日か否かを

返す関数をつくることになると思うが・・・
060660502/11/11 00:57ID:???
間違った。。。

月、日、曜日 を入れて休日か否かを返す関数と、年を入れてうるう年か否かを

返す関数の2つがあればいいのかな?
0607nobodyさん02/11/11 07:47ID:hyDx3f4a
>>606
できればPEALとPHPをおねがいしたいです。
仕組みがわかればPHPへの移植は自分でしますが
春分の日、秋分の日ってもしかして公転とか関係してません?
0608nobodyさん02/11/11 15:53ID:???
>>607
誤字を指摘したくてたまらない罠
釣られるな、俺 釣られるな、俺!!

ttp://www.gekkou.or.jp/k-1/koyomi.html
秋分の日はしばらくかわらないっぽい
0609nobodyさん02/11/11 20:42ID:???
>>607
PEAL じゃなくて Perl だよ(この場合はPERLの方が正しい?)



ふっ。またつまらぬネタに釣られてしまった。
0610nobodyさん02/11/11 21:25ID:???
>>609
はは、PERLとPHPか。
俺はPEARとPHPかとおもたよ
0611nobodyさん02/11/12 19:15ID:OMB1Zvzq
i-mode以外で表示できなくする方法

CGIか.htaccessでUser-Agent(ブラウザ名)に「Docomo」という文字列が
含まれていないブラウザを全部はじくということまでは、わかったんですが…
そのプラグラムがわかりません。SOSOです。
0612nobodyさん02/11/12 19:45ID:z7k0N3jX
文字化けについて、どなたかご存じでしたら教えてください。
ダウンロードしてきたPerlの掲示板なのですが、
一部の文字だけ化けてしまいます。
調べたら、Shift JISで書かれていると化けるとの事。
それで、Perlも出力も何もかもを、調べながらEUCに変えました。
(Perlは全然知らないので、もしかしたら間違えているのかも…。)
すると、Shift JISの頃化けていた文字は化けなくなったのですが、
別の文字が化けるようになりました。
そんなわけで、一部の文字だけが化けるという現状は変わっていません。

「EUCにあってSJISにはない漢字コードを埋め込むと良い」と聞いたので、
書き込みなどの表示画面には見えないように埋め込んでみましたが、
効果無し。
Perlについてよく知らないですし、もう自分で調べるのも限界です。
他にどのような対処法があるでしょうか。よろしくお願いします。
0613nobodyさん02/11/12 21:40ID:???
>>611
アクセスを弾きたいのはCGIなのかhtmlなのか。
CGIでやる場合CGI(例えば掲示板とか)へアクセスしか弾けないぞ。
それ以外アクセスに対して弾きたいなら.htaccess。
.htaccessなら専用スレに行け。

>>612
具体的に化ける文字は何か?
■ このスレッドは過去ログ倉庫に格納されています