CGIだけど、なんか質問ある? Part 10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/03/26 22:47ID:44KxXtaW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part21
http://pc2.2ch.net/test/read.cgi/php/1047980851/l50
過去ログ・関連スレッドは >>2-5 あたりに
0035nobodyさん
03/03/28 15:13ID:???多分>>32はスレタイと>>29の「sub」を見て舞い上がっちゃったんだと思います。
「CGI=Perlじゃない」というのを言いたくて言いたくて仕方ないんだと思われ(それしか知らないから
0036nobodyさん
03/03/28 17:38ID:???apple,青森,40
orange,愛媛,20
strawberry,茨城,30
↑これがそれぞれ
@fluit = ('appe','orange','strawberry');
@from = ('青森','愛媛','茨城');
@price = (40,20,30);
こんな感じに配列に入ってるとき、たとえば下のようにすると、、、、
foreach (sort { ($price[$b] <=> $price[$a]) || ($a cmp $b) } 0 .. $#price) {
print "$fluit[$_],$from[$_],$price[$_]\n";
}
apple,青森,40
strawberry,茨城,30
orange,愛媛,20
↑こうなると思うんですが、
ソートする条件をフォームから指定させたいんです。
たとえば、($FORM{'jyouken'} eq "fluit")ならfluitでソートって感じに・・・
どのようにすればいいでしょうか?(説明へたですいません)
0038nobodyさん
03/03/28 17:58ID:???0039nobodyさん
03/03/28 18:00ID:???CGIの運用に関する質問スレッドです。
※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part21
http://pc2.2ch.net/test/read.cgi/php/1047980851/l50
0040nobodyさん
03/03/28 18:02ID:???0043nobodyさん
03/03/28 18:26ID:???0044nobodyさん
03/03/28 18:33ID:???コレどっちかというとスクリプトのもんだいやね
にしても、データの構造が悪いなぁ
@data= (
{fluit=>'apple',from=>'青森',price=>40},
{fluit=>'orenge',from=>'愛媛',price=>20},
{fluit=>'strawberry',from=>'茨城',price=>30}
);
@data = @data[sort{$data[$a]->{$FORM{select}} cmp $data[$b]->{$FORM{select}] } 0 ..$#data];
for (0 .. $#data) {
print "$data->[$_]->{fluit},$data->[$_]->{from},$data->[$_]->{price}\n";
}
自分ならこんなふうに組むかなぁ・・・
0045nobodyさん
03/03/28 18:35ID:???for (0 .. $#data) {
print "$data[$_]->{fluit},$data[$_]->{from},$data[$_]->{price}\n";
}
0047nobodyさん
03/03/28 21:29ID:???「同じ処理を二つ書いてなんとも思わない」と言うことは、
「二つ書いても三つ書いても同じ」と言うことであり、
つまり「ソースはコピペするもの」と言う風に発展しそうだ。
コピペ厨がまともなプログラマーとは誰も思わない訳で。
やれやれ。
>>16 がどんな主義主張だろうと俺には関係ないが、俺の目の届かないところにいてくれると嬉しいな、と。
0048nobodyさん
03/03/28 21:33ID:???>で、サブルーチンにしたくないって言ったのは、
>特に理由はないです。
>なんとなく流れで、
のようなことを思った理由がすごくキニナル。
「サブルーチンが増えるから」とかそんな理由でもいいから何か言って( ゚д゚)ホスィ…
0050nobodyさん
03/03/29 00:31ID:???このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
0054nobodyさん
03/03/29 13:47ID:21Lv88E2じゃあいくつか
・処理速度が速い
・コピペするだけなので、コーディング時のタイピング数が少ない
・サブルーチン以外の手法を考察する機会を得る
0057nobodyさん
03/03/29 14:05ID:???0059nobodyさん
03/03/29 14:37ID:???0060nobodyさん
03/03/29 14:59ID:???0061nobodyさん
03/03/29 15:56ID:???0062nobodyさん
03/03/29 19:19ID:???・怠惰
・短気
・傲慢
の三大美徳の意味を考えてくれよ……。
これはPerlのモットーかも知れんが、他の言語にも当てはまると思うし、
CGI作るのにも役に立つはずだし。
0064nobodyさん
03/03/30 06:58ID:???ドキュメントルートはD:\WWWでつ。
こんな場合、C:\WWWフォルダのファイルをオープンすることは可能でつか?
open(IN,"$file")||&error;
可能なら、$fileはどんな記述にしたらよいでしょう。
0065nobodyさん
03/03/30 07:51ID:???ドキュメントルートって HTTPサーバのでしょ?
CGI には関係無い。
なので普通に、
$file = "C:/WWW/hoge.txt";
でOK。
0066nobodyさん
03/03/30 07:51ID:???006968
03/03/30 10:04ID:???うちの環境だと \ がバックスラシュになってるから早とちりしてもた。
007064
03/03/30 10:06ID:???できました。
$file = "C:\WWW/hoge.txt";って書いていたお馬鹿な漏れ!
さあ、笑ってくれぃ!
0072nobodyさん
03/03/30 11:21ID:???もし続きがあるなら Perl スレ逝け。
0075nobodyさん
03/03/30 15:55ID:YbjoSkMy知りたいのは、例えば、GETの時のFormDataは環境変数に設定され、
POSTの時のFormDataは標準入力に送られる、というキマリゴトは
CGIのレベルの話なのか、単に、Apache等のいくつかのWebServer
の実装が、そうなっているだけという話なのか、というあたりが
きちっと書かれているページです。
0077nobodyさん
03/03/30 16:01ID:???0078nobodyさん
03/03/30 16:05ID:???はい?
GETは本文を評価しない。その代わりURLの後ろにパラメータをくっつけて送ることができる。
POSTは本文にデータを含むことができる。
httpのGETとPOSTっとこの程度の違いだと思われ。
OS依存の標準入力や環境変数なんて使うプロトコルじゃないよ。
008075
03/03/30 16:28ID:YbjoSkMyありがとうございました。
0081nobodyさん
03/03/30 16:29ID:???>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
0082nobodyさん
03/03/30 16:29ID:???>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
008375
03/03/30 16:51ID:???http://cgi-spec.golux.com/draft-coar-cgi-v11-03-clean.html
を読んでみると、
1.4. Terminology
metavariable
A named parameter that carries information from the server to the script. It is not necessarily a variable in the operating-system's environment, although that is the most common implementation.
6.2. Request Message-Bodies
As there may be a data entity attached to the request, there MUST be a system defined method for the script to read these data. Unless defined otherwise, this will be via the 'standard input' file descriptor.
ということなので、CGI1.1的には別に、環境変数じゃなくても、標準入力じゃなくても、いいみたい。
0084nobodyさん
03/03/30 16:53ID:???まぁ、だとしたらMACではCGIが使えないってことになるからなぁ。
最近、ネットワーク系の規格ってどんどんOS非依存になってきてるね。
008785
03/03/30 17:00ID:???ありがd
0088nobodyさん
03/03/30 17:32ID:2BSCR98U↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
★みんなの情報局★みんなのリンク集★ココ最高★
0089lanble
03/03/30 21:03ID:yF9PwNLZでhtmlファイルってことになるけど
shtmlファイルにするときは
Content-type: text/shtml
でいいの?
0091nobodyさん
03/03/30 21:07ID:yF9PwNLZinfoseekはshtmlだとバナー広告を表示しないんですよね
それをなんとかCGIで行いたいんですけど・・・何か方法
ありませんか?
0092nobodyさん
03/03/30 21:10ID:???0093nobodyさん
03/03/30 21:14ID:yF9PwNLZ0094nobodyさん
03/03/30 21:23ID:???はい次の質問どーぞ。
0095nobodyさん
03/03/30 21:40ID:yF9PwNLZ0097nobodyさん
03/03/30 21:53ID:yF9PwNLZ0099nobodyさん
03/03/31 00:43ID:XMyQGev4BBSを改造したいのですが、頭に "> (>)" が来る文だけ
色を変えたいのですが、どのようにすればよいでしょうか?
よろしくお願いします。
0100nobodyさん
03/03/31 00:49ID:???情報不足。
それ以前にスレ違いなのでこっちに逝ってください。
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/
0101nobodyさん
03/03/31 00:49ID:???http://pc2.2ch.net/test/read.cgi/php/1047806915/
0102nobodyさん
03/03/31 01:10ID:XMyQGev4わかりました。
すみません。
ありがとうございます。
ついでにできてしまったようです。
凡ミスでした。
板汚し失礼しました。
0103nobodyさん
03/04/02 11:13ID:iqBWaUXY<!--#exec cmd="./xxx.cgi hoge" -->
<!--#exec cmd="./xxx.cgi?hoge" -->
<!--#exec cgi="./xxx.cgi hoge" -->
<!--#exec cgi="./xxx.cgi?hoge" -->
なぜでしょうか。
0105nobodyさん
03/04/02 12:18ID:???http://www.imasy.or.jp/~hsdl/imasy-cgi.html
0106103
03/04/02 13:21ID:???ありがとうございます。出来ました!
でも#includeで出来るんだったら#exec cgiの書き方っていらないですよね?
>>105
すごい参考になりました。
0107nobodyさん
03/04/02 14:22ID:???exec cgiならね。でもexec cmdならブラウザから見えない場所においてあるプログラムも実行できるから、
安全性を高めるためにexecを禁止しているところが多い。
>>105のリンク先
> <!--#exec cmd="cat hogehoge"--> > こういう簡単なのもバツ
ハァ? それはNoEXECにしているからだろ。
0108107
03/04/02 14:33ID:???うちのApache1.3.27ならできるけど・・・
シェルのサーチパスにcatの置かれているディレクトリが指定されていないってことか?
0109107
03/04/02 14:34ID:???0110nobodyさん
03/04/02 17:04ID:bMMl982Bchown root hoge.cgi
chmod u+s hoge.cgi
やって、
PerlやCのsystem()でコマンド実行させても、
そのコマンドがroot権限で実行してくれないんです。
どうすれば良いでしょうか?
と言うより、もっといい方法があると思うので
ご教授下さい。
0113110
03/04/02 18:07ID:bMMl982Blinuxをいじれないクライアントに、
再起動やアカウントの追加などをさせたいんです。
Webminみたいに多機能なのじゃなくて、
シンプルなインターフェースで必要最低限な機能を持ったツールを作りたいんです。
0114nobodyさん
03/04/02 18:47ID:???Net::Telnet
0115nobodyさん
03/04/02 23:42ID:???0116nobodyさん
03/04/03 00:26ID:???キモイ
0120nobodyさん
03/04/03 05:20ID:9W9Efx3S自分は投票的なシステムをマスターしたいんですが。。
0121nobodyさん
03/04/03 05:37ID:???で、君は今どこまでできるようになってるの?
もしまだ何もできないくせに>>120みたいな質問してるんだったら諦めた方がいい。
「いいHP」なんか探してないで手当たり次第やれよ。入門ならいくらでもあるだろう(googleっていうサイト知ってる?
0122nobodyさん
03/04/03 05:41ID:9W9Efx3Sいろいろ検索して自分にあってるっぽいやつ
て一回作ってみましたがそれが
どうしてもエラーになって、
この際最初からやりなおそーかなーなんて思ってたけど、
やっぱもう一回入門しらべてやってみます。
0123nobodyさん
03/04/03 06:11ID:???0124nobodyさん
03/04/04 00:54ID:???HTMLのフォームで変数名
( <INPUT SIZE=35 VALUE="" NAME=> の所のNAME )
が受信者側にて日本語の文字である時、それを送信した際ブラウザはエンコードするのでしょうか?
(IEがエンコードすればOKです)
もし、ブラウザがエンコードしない場合、CGIでエンコードした文字を受信者側に送ってもマズイ事にはなりませんか?
なんかCGI側からの出力文字に2重のエンコード処理がかけられそうな気が…(?
そう言った物はCGIに文字列が帰ってきた時、どんな文字だろうと普通にデコードして問題ないですか?
0126nobodyさん
03/04/04 01:19ID:???Formをエンコードして送るのは、ブラウザ側の責任。HTMLを出す側が注意しないと
いけないことは、HTMLとして、特別な意味で解釈される文字を"エンコード"すること。
0127nobodyさん
03/04/04 01:54ID:???>Formをエンコードして送るのは、ブラウザ側の責任。HTMLを出す側が注意しないと
>いけないことは、HTMLとして、特別な意味で解釈される文字を"エンコード"すること。
<INPUT SIZE=35 VALUE="" NAME="あああ">
つまり、この部分はブラウザの責任としてエンコードするので普通の文字で問題ないってことですね。
<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
しかし、このような怪しい文字の場合、エンコードされた文字を置かなくてはダメなのですね…。
ですが、これをブラウザが勝手にエンコードして送った場合、2重エンコードになりますが大丈夫なのでしょうか?
CGI側でなんらかの工夫は必要でしょうか?
(どー工夫すればいいんだろ…困)
0130nobodyさん
03/04/04 02:04ID:???<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
↓
<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
とする。
「しなければならない」ではなく「すべきである」だけど。
0131nobodyさん
03/04/04 02:05ID:???<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
↓
<INPUT SIZE=35 VALUE="" NAME=" "$&:lt;a>">
0132nobodyさん
03/04/04 02:12ID:???<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
コレはエンコードといわず文字参照をつかいます。
<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
みたいな・・・ そもそも、こうしないとhtmlとしては文法エラーですがね・・・
文字参照自体は、htmlで表示する際にブラウザで該当する文字コードに変換される物で、気にする必要はありません。
文字エンコード
<INPUT SIZE=35 VALUE="" NAME="あああ">
もしくは
<INPUT SIZE=35 VALUE="" NAME="%82%A0%82%A0%82%A0">
等は、cgiでで変換する処理を入れてあるので漢字コードに関しても普通は気にしなくてもよいはず。
但し、自作cgiでは処理を自分で作る必要がありますが・・・どのレベルで話をしてるんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています