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 あたりに
0666nobodyさん
03/05/20 00:02ID:???それは運用上問題が出てるだろ。
「運用上問題のないレベル」が前提の話で何を言ってるんだ。
0668nobodyさん
03/05/20 08:03ID:???航空機は違う、ATMはそうかもしんない、>666に対してはその指摘は妥当する。
車社会で交通事故死亡者が1万人/yくらいいても運用しなきゃいけない、と例えれば納得?
>667
君がそう思うなら、そうかもしれないね。
0670nobodyさん
03/05/20 09:44ID:???だったら最初から質問にもならないはずなのに。
何らかのかたちで問題が浮上することを頭の片隅で予想できてしまっている
ということではないの?
そういう状態にOKを出すというのは、とても問題でしょ。
ということが言いたいだけ。
0671nobodyさん
03/05/20 10:09ID:???0672nobodyさん
03/05/20 10:47ID:???そんな連中は、>>671 のようなことを考えてる。
しかも、直すのは自分ではない。だからこそそんな無責任なことが言える。
納期とかなんとかは、本来プログラマたちがストライキを起こしてでも確保すべき資源なんだ。
うまく言いくるめられてるプログラマたちが多すぎ。
0673nobodyさん
03/05/20 11:20ID:???0674nobodyさん
03/05/20 13:41ID:???経営者や営業ほど問題を嫌がると思うけどな。
問題が起きた時、プログラマはプログラムを直せばいいだけだが、
経営者や営業は顧客の信用回復に奔走させられる。
信用を得るのには1年かかるが、失うのは1日で足りる。
まぁ、そのリスクと納期を天秤にかけた時どっちをとるかはその会社次第だろうが。
0675nobodyさん
03/05/20 13:49ID:???0676656
03/05/20 14:39ID:???私の場合、配布されているスクリプトではお客さんの性質もあり、
半角文字化けが多発するのは運用上の大問題なわけです。。
ここで長々とスクリプトをどう改造すればよいかと聞くのも何ですし、
未知の不具合には目をつぶり、お手軽な方法を取ってしまいました。
でも2ちゃん掲示板等ではしっかりと半角が文字化けせずに投稿できるので、
スクリプトを工夫すればなんとかなるであろうことは、素人の私にも分かります。
これで良しとはせず、もう少し調べてみようと思います。
スレ汚しスマソ
0678nobodyさん
03/05/20 21:54ID:???絶対文字化けしないけどな・・・
0679nobodyさん
03/05/21 04:10ID:???変換する時にどっちなのか判断間違えて文字化けするんだっつーの。
0680nobodyさん
03/05/21 06:42ID:???:
<input type="hidden" name="jcode" value="あ">
:
</form>
↓
%form;
read(STDIN, $_, $ENV{'CONTENT_LENGTH'});
foreach (split(/&/)) {
my ($name, $value) = split(/=/);
$value =~ s/%([a-fA-F0-9]{2})/chr(hex($1))/eg;
$form{$name} = $value;
}
if ($form{'jcode'} =~ /\x82\xa0/) {print "S-JISだよ。jcode.pl使わないよ"}
if ($form{'jcode'} =~ /\xa4\xa2/) {print "EUCだよ。jcode.pl使うよ"}
0681nobodyさん
03/05/21 09:57ID:???EUCの文字列と判別不可能なの。
0682nobodyさん
03/05/21 13:41ID:???思うし。技術的に95%までしか無理なんだったら、そう営業に伝えて95%であることを
客に飲んでもらわなきゃいかんと思う。
それを自分の技量を棚に上げて、「運用上問題ない」とか判断して注文を
無視しているいる所にむかついてた。
0683nobodyさん
03/05/21 15:24ID:???過去に、form内の要素一つずつ
別の文字コードで送ってくるブラウザがあったのでそれでもあてにならん。
0684nobodyさん
03/05/21 16:18ID:???0685nobodyさん
03/05/21 21:05ID:???2chはPerlじゃありませんから。
0686nobodyさん
03/05/21 23:39ID:???飛ぶときと飛ばないときがある。なんで?そんなことってあるの?
調べたところ一部のサーバーではLocation禁止というところも
あるみたいだが、うちは飛ぶ。
でも飛ばないときもある…
0688nobodyさん
03/05/21 23:52ID:???0690nobodyさん
03/05/22 01:01ID:???鯖によっては広告がLocationヘッダの邪魔をする場合があるな。
metaに変えるか、htaccessでLayoutIgnoreURI *.cgiやってみるとか。
0691山崎渉
03/05/22 01:55ID:???0692nobodyさん
03/05/22 19:44ID:MWXX6xXGアクセスがなくても数分ごとにカウンターの数が増えたり
1回アクセスがあるとランダムで1または1以上カウンターの数が増えるような
胡散臭いアクセスカウンターは作れるでしょうか?
どなたかご教授ください。
0694nobodyさん
03/05/22 20:13ID:MWXX6xXGええと、それはごく普通のカウンターのCGIを少し改造すれば可能な事なんでしょうか。
出来ればその方法を少し具体的に教えていただけるとありがたいのですが。
0695nobodyさん
03/05/22 20:44ID:???以下の二つの点で頭が悪すぎです。
1.無駄に訪問者を多くみせかけようとする
2.その程度、人に聞くより自分で考えた方が早い
GWは終わりましたよ?
0696nobodyさん
03/05/22 20:45ID:???まず、
> アクセスがなくても数分ごとにカウンターの数が増えたり
こんな事はしなくていい。
アクセスがないときにカウンタを回して誰が見るの?
> 1回アクセスがあるとランダムで1または1以上カウンターの数が増える
1からあなたが望む数までの数字をランダムで発生させるルーチンを作る。
アクセスがあったら、今までのアクセス数に、発生させた数字を加えて新たなアクセス数として表示する。
0697nobodyさん
03/05/22 21:23ID:4XPxMPwJ0699nobodyさん
03/05/23 07:30ID:xpCjHE6k一般的に、書き込む場合
ログを読み込む>内容を変数に入れ>内容の入った変数+書き込む内容>ログに書き込む
ような処理をして効率悪く思います。この他にはどういったやり方がありますか?
0701nobodyさん
03/05/23 08:27ID:???追記モードで書き込めば、読み込みしなくていいぶん負荷は減るかも。
でも普通は書き込みより読み込みのほうが圧倒的に処理回数が多いわけだから
2ちゃんぐらいの規模でもない限り、あんまり効果は期待できない感じがする。
0703699
03/05/23 09:41ID:J32UtBFoなにぶんパールは初心者なもので知ったかでBBS作ってみたのです。
作ったBBSは半年以上触っていませんが、久しぶりに触ってみようかなと・・
>>700
KENTさんのBBS見ても何が悪いのかさっぱりなんです。あれの何処が悪いの?
0704nobodyさん
03/05/23 10:29ID:???最初は Kurl で勉強してから perl に移行する。
これ常識。
0705nobodyさん
03/05/23 10:40ID:???何処が悪いって、何処か悪いの?
どれだけ負荷を与えない処理をするか・・・
それは、ログの管理の仕方によっても違ってくるし、
ログの出力の仕方によっても変わってくる。
とにかく、基本的には・・・
いかにファイルからの入出力のデータ量を減らすか。
BBSはこれが一番の課題だと思う。
もちろん、特殊な出力の仕方とかしてたら、
他にも課題はあるだろうけど。
0706nobodyさん
03/05/23 11:41ID:aeupPdc00708nobodyさん
03/05/23 13:11ID:???なのに、「パール」とか書いちゃうあたり・・・
レベル低そー。
0711nobodyさん
03/05/23 13:30ID:???パールライス(・∀・)
0713nobodyさん
03/05/23 15:23ID:???Cで書け。
プログラムで食ってるなら書けるだろ?
Perlでやるより明らかに速いし負荷がかからないよ。
0714nobodyさん
03/05/23 19:53ID:???0716nobodyさん
03/05/23 20:51ID:hvFYfA6x0717nobodyさん
03/05/23 21:46ID:???0718nobodyさん
03/05/23 22:16ID:???だからなに?
えらいねーってほめて欲しいのかな、ボク?
やべぇ、気付かなかったよ!ありがとう!\
0722nobodyさん
03/05/24 01:57ID:???拡張子をcgiに変えますね。
どうやって開くんですか?てんで初心者で。
教えてください。お願いします。
0725nobodyさん
03/05/24 04:59ID:???ttp://www.geocities.co.jp/SiliconValley/5656/#20030402-1
0726nobodyさん
03/05/24 07:55ID:U+LFnLJJ上の画像UP設置したいけどやりかたがわかりません。
@niftyなんで・・・
0727nobodyさん
03/05/24 08:11ID:???0728nobodyさん
03/05/24 09:31ID:???いいと思われ。
0729nobodyさん
03/05/24 10:12ID:s437kJfj月に1万円以上は稼げそうにないけど、4000円ぐらいなら稼げそうです
無料登録するだけで商品券が貰えるサイトなども載せてあります
http://f15.aaacafe.ne.jp/~suikas/present.html
0731nobodyさん
03/05/24 23:57ID:ifKVZv+dindex.htmlにCGIを埋め込めるHTML(携帯からでも読み込めるタグ)ってありませんかねぇ?
グーグル先生に聞いたけど出ない
0733nobodyさん
03/05/25 00:28ID:Os0pVi9Qなんで無理なん?
0734nobodyさん
03/05/25 00:36ID:???そんな夢のような「タグ」は存在しない。
つかお前はHTMLをなんだと思ってやがりますか。
http://hoge.ne.jp/~hoge/
こんな風に、URLの末尾をディレクトリにしてアクセスした時に、
PCと携帯を振り分けたいのであれば、方法はいくらでもあるが、
>>731程度の認識と知識ではどれも不可能だろう。
>>732は途中をかなりすっ飛ばしているが、結論だけは正しいな。
0735nobodyさん
03/05/25 00:51ID:Os0pVi9Qhttp://hoge.ne.jp/~hoge/
こんな風に、URLの末尾をディレクトリにしてアクセスした時に、
PCと携帯を振り分けたいのであれば、方法はいくらでもある
それがやりたいんだw
0736nobodyさん
03/05/25 00:58ID:Os0pVi9Q頼むからそれ教えて!
さっきからCGI失敗しまくりだから・・・
0737_
03/05/25 01:03ID:???0738サンプルです
03/05/25 01:05ID:qXE1ysu+http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0739nobodyさん
03/05/25 01:46ID:???0740nobodyさん
03/05/25 02:22ID:???その書き方は分かってる奴ならいいが、そうじゃないと文面どおり解釈されかねないぞ。
(index.htmlをindex.cgiにリネーム→アップロード→動かない!)
0741nobodyさん
03/05/25 02:34ID:???example.(com|net|org) 使ってあげなさいよ。RFC 2606
0742nobodyさん
03/05/25 04:34ID:???0743699
03/05/25 06:54ID:???一応はこれです。ぜんぜんだめ?
0744nobodyさん
03/05/25 10:40ID:hi9lch0f0746nobodyさん
03/05/25 11:20ID:j5yBhsq1って.htaccessに書くんだよね?その書いた.htaccessファイルってどこにうpすればいいんだっけ?
0747nobodyさん
03/05/25 11:26ID:kaO8yXyX正解か不正解によって2つのページに飛ぶ、といったようなものを
つくるにはどうしたらいいでしょうか
0748nobodyさん
03/05/25 11:31ID:???有効にしたいディレクトリ。
>>747
「どうしたらいいか」という言葉が、どの程度までの情報を求めているのか分からんので
答えようがない。もうちょっと詳細によろしく。
0749nobodyさん
03/05/25 11:37ID:kaO8yXyX2時間くらい探したけれど見つからなかったので
0750746
03/05/25 11:43ID:j5yBhsq10751nobodyさん
03/05/25 11:50ID:???「つくる」って、CGIの設置のことかよ。
このスレでつくるっていったらコーディングとかアルゴリズムと思うじゃないか……
その手のCGIはけっこう配布されてるから、探せばすぐ見つかるぞ。
0752749
03/05/25 12:03ID:kaO8yXyX探してみます
0753nobodyさん
03/05/25 12:09ID:???http://ime.nu/ime.nu/ime.nu/www.net-de-dvd.com/
0754nobodyさん
03/05/25 12:12ID:???例 DirectoryIndex index.cgi index.html index.htm
ファイル名をつけないURLでアクセスした場合、そのディレクトリの
中から上記の左から順に探して見つかったファイルを表示する。
つーか、もう答えを教わってるんだから書き方ぐらい調べれ。
0755nobodyさん
03/05/25 12:14ID:Jgr8OJqOhttp://www.dvd-yuis.com/
最速発送!すぐ届く!!
http://www.dvd-yuis.com/
女性も安心!秘密厳守!!
http://www.dvd-yuis.com/
おっ!安い!買っちゃお!
http://www.dvd-yuis.com/
えっ!?もう届いたの?
http://www.dvd-yuis.com/
0756nobodyさん
03/05/25 12:16ID:9EnXV42Y0758nobodyさん
03/05/25 13:12ID:???076010
03/05/25 13:39ID:???●やりたいことは、全角(ひらがな、カタカナ)で記述した場合の文字化け対策
データを記述したときに更新をおしたら連続書き込みしてしまうのを連続書き込みしないように
したいのですがソースは下記にのせます。
初心者でもうしわけないのですがアドバイスお願いします
076110
03/05/25 13:41ID:???# CGIスクリプトから見たベースとなるディレクトリ
$base = "./ranking";
require 'cgi-lib.pl';
require 'jcode.pl';
$title = "ランキング";# ウィンドウタイトル
$data = "ranking.dat";# データベースファイル
$dispranking = 10;# 表示したい上位ランキング数
# ヘッダー出力
print "Content-type: text/html;charset=Shift_JIS\n\n<html><head><title>$title</title></head><body bgcolor=\"FFffFF\">\n";
# 入力データの解析
&ReadParse(*in);
$score = $in{'score'};
$name = $in{'name'};
&jcode'convert(*name, 'jis');
076210
03/05/25 13:42ID:???if(@ARGV[0] eq "clear"){
open(FILE, "> $data");
print "\n";
close(FILE);
exit(0);
}
# データベースのデータを読み込む
open(FILE, "<$data") || &ferror();
while(<FILE>){
chop;
@v = split(/\t/);
$mscore[++$#mscore] = @v[0];
$mname[$#mscore] = @v[1];
}
close(FILE);
076310
03/05/25 13:43ID:???$index = -1;
}
# スコアをデータを表示
print "<center><h2><b>最新スコア</b></h2>";
print "<table border=1>\n";
open(FILE, "<$data");
$count = 1;
while(<FILE>){
# last if $count == $dispranking + 1; <- これを有効にすると上位5位のみ表示
# 順番を表示
print "<tr><td>$count</td>";
chop;
@v = split(/\t/);
if($count++ == $index){
# たった今入力されたスコアは色を変えて表示
print "<td><font color=red>@v[0]</font></td>";
print "<td><font color=red>@v[1]</font></td>";
} else {
print "<td>@v[0]</td><td>@v[1]</td>";
}
print "</tr>\n";
}
close(FILE);
print "</table></center>\n";
print "</body></html>\n";
076410
03/05/25 13:44ID:???sub ferror {
local($file) = @_;
print "<center><h1>$title<br>\n";
print "ファイルが開けません<br></h1></center>\n";
exit(0);
}
長くコピペして申し訳ありませんでした。
職人さま教えてください。お願いしますm(__)m
0765nobodyさん
03/05/25 13:54ID:???&jcode'convert(*name, 'jis');
連投は面倒なので>>765がやってくれるはず
■ このスレッドは過去ログ倉庫に格納されています