CGIだけど、なんか質問ある?part4
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/09/18 18:17ID:plR9HC2Eprint<<HTML_END;
<a href="http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833" target="_blank">旧スレ</a>
HTML_END
0587580
01/11/16 00:22ID:Y2uolE5Hreverseでうまくいきました。ありがとー。
0588名無しさん@お腹いっぱい。
01/11/16 00:51ID:LdLT89bd入力も出力も内部も、ぜんぶ、shift-JIS にすれば解決するんだとおもった。
細かいことは、忘れたなぁ
0589名無しさん@お腹いっぱい。
01/11/16 00:53ID:???半角カナを使うと化けるのは,実際とは別の文字コードだと誤認識しやすくなるため。
コード変換部分を細かく作るか,決め打ちするか,まったく変換しないかすればOK。
ふつうの掲示板なら,convert(\$line, 'euc','sjis'); みたいに決め打ちでいいと思う。
もっとふつうの掲示板なら,無変換でだいじょぶ。
詳しいことはこっちを参照
ミケネコの 文字コードの部屋
http://www.mikeneko.ne.jp/~lab/kcode/index.html
Perlメモ 漢字コードを調べる
http://www.din.or.jp/~ohzaki/perl.htm#JP_Code
0590名無しさん@お腹いっぱい。
01/11/16 01:05ID:Br89H9t8今ソースを見てみたらJISに変換しているようでした
コード変換の部分を変更していろいろ試してみます
0591名無しさん@お腹いっぱい。
01/11/16 01:09ID:???0592名無しさん@お腹いっぱい。
01/11/16 01:15ID:LdLT89bdだから、変換するから、混乱するのよ。
まずは、変換なんか、ぜんぜんしないで、ぜーんぶ、Shift-JIS にしてみるのをオススメしたい。
0593名無しさん@お腹いっぱい。
01/11/16 01:17ID:LdLT89bd何が言いたいの?
0594569
01/11/16 04:19ID:3Uk2GDFRありがとうございました。
0595名無しさん@お腹いっぱい。
01/11/16 16:10ID:pmjYcpZBインストール作業が不要な(できればSQLが使える)DBモジュールというのはあるのでしょうか?
0596名無しさん@お腹いっぱい。
01/11/16 16:42ID:???0597595
01/11/16 17:11ID:pmjYcpZBどうも申し訳ありません。
当方が利用しているのは所詮安いレンタルサーバスペースなので、
MySQLやらOracleやらのデータベースは導入されていません。
今のところは「CSVファイルを配列に格納してgrepやifで条件に合わせて抽出」
といった手法で運用しているんですが、
手順も多いですしあまりカッコよくない手法と思ったので、SQLで一発抽出を考えたわけです。
極端な話、格納データはCSVのままでも構いません。
とにかくSQLなどで一発抽出する方法を探しているところです。
で、色々と探していたところこんなページを見つけました。
http://member.nifty.ne.jp/hippo2000/perltips/DBD/csv.htm
インストールが必要となっていますが、
これってやっぱりレンタルサーバには入れちゃマズいですよね・・・。
0598名無しさん@お腹いっぱい。
01/11/16 17:19ID:???jcode.plだってインストールしなきゃ使えないんだぞ?
0599596
01/11/16 17:39ID:???http://www.vector.co.jp/soft/unix/business/se182749.html
↑使えば良いんでない?
0600名無しさん@お腹いっぱい。
01/11/16 17:40ID:67cmqQS3掲示板などで設定項目を増やすのってどうやればいいんでしょうか。
年齢とか、居住地をプルダウンで選ぶやつです・・・
今はkent webのプチボードをちょこちょこ改造したのを使ってます。
とりあえず同じくkentwebのfantasy boardには居住地選択の
項目があったので、ダウンロードして見よう見まねで
関連部分をコピペしたり修正したりして
なんとか500エラーにもならず、ログにも残るようには出来たんですが
どうしても、記事表示部分で「北海道」とかではなく数字が出ます。
ログにも、地名ではなく数字が残ります。
2つのCGI見比べて、どこか見落としはないかとか調べてるんですが
分かりません・・・なぜ、数字になってしまうんでしょうか。
ちなみにちょっと改造が出来るくらいで、プログラムの知識はありません。
0601600
01/11/16 17:41ID:67cmqQS3北海道なら0、青森が2、秋田が3とかそんな感じです。
0602名無しさん@お腹いっぱい。
01/11/16 18:00ID:???@Place = ('北海道', '???', '青森', '秋田',
・・・・・);
・
・
・
print $Place[$place_data];
0603名無しさん@お腹いっぱい。
01/11/16 18:35ID:I2tSH3T6Javascriptの質問スレにも書いたのですが、
もしわかる方がいましたら教えて下さい。
入力フォームから入力したテキストの値を、別ウインドウのテーブルに
出力する方法(コード)を教えて下さい。
別ウインドウをopenしたあと、openしたウインドウのテーブルのセルの指定の仕方が
わからないんです。
よろしくお願いします
例をあげると
�@"入力"というウインドウに「住所」「氏名」「年齢」という入力フォームがある。
�A登録ボタンを押す。
�B"住所録"というウインドウのテーブルに出力される。
テーブルは下記のような感じで、
登録する度に1レコードずつ追加されるようにしたいのです。
住所|氏名|年齢|
−−−−−−−−−
| | |
−−−−−−−−−
| | |
−−−−−−−−−
0604名無しさん@お腹いっぱい。
01/11/16 18:39ID:???付けるより取る方が簡単だと思うよ。
もし勉強してるならまともな本でも読むとか
0605名無しさん@お腹いっぱい。
01/11/16 18:45ID:???意味不明
0606名無しさん@お腹いっぱい。
01/11/16 19:36ID:???こういう場で機種依存文字を使う時点でダメ。
0607名無しさん@お腹いっぱい。
01/11/16 19:52ID:???素人さんには難しいですね、話に入れなくてごめんなさいね。
>>606
物知りお猿さんですね (^_^;) いんたねっと上級者さんですか?
でも俺も教えない w
0608名無しさん@お腹いっぱい。
01/11/16 20:00ID:???0609名無しさん@お腹いっぱい。
01/11/16 20:09ID:+qGZIDex同一スカラーの個数のカウントはどうやるのでしょうか?
0610名無しさん@お腹いっぱい。
01/11/16 20:14ID:???0611名無しさん@お腹いっぱい。
01/11/16 22:12ID:???やり方がわかりません。
教えてください。。。
gzipのソース
http://www.ibport.co.jp/~yui/cgiwork/tech/src/gzip_cgi.txt
0612名無しさん@お腹いっぱい。
01/11/16 22:35ID:???説明読んでも分からんならあきらめろ。
0613名無しさん@お腹いっぱい。
01/11/16 22:53ID:???上のスクリプトを設置しても白い画面しかでないのよ。。。。
どうすればいいんでしょ?
0614名無しさん@お腹いっぱい。
01/11/16 23:22ID:???gzipのパスをハードコードしているあたり、厨臭いね。
0615名無しさん@お腹いっぱい。
01/11/16 23:31ID:Vio0g6gm考え中です
0616名無しさん@お腹いっぱい。
01/11/17 01:19ID:uArXD8kdできました。ありがとうございました。
0617(・ε・) ◆LbaGYMio
01/11/20 06:32ID:???エロ画像
</font>
とかってできちゃう掲示板多いよね。
IEとかNetscape6ならonmousemoveが動いちゃうみたい。NN4は大丈夫だった。
JavaScriptが書けるとなればね。文字列'\x3C'に対応してない掲示板も多いしさ。
ブラクラどころか脆弱な他の掲示板を自動で荒らしたりするのも簡単に出来そう。
別ウィンドウ開きまくって、そこにフォームとJavaScriptを出力してsubmitとかさ。
これはさすがに試してないから確証は持てないけど。
ま、もとの掲示板のサーバサイドのデータには影響はないだろうけど、周りに迷惑
かける。自分でタグ許可したCGI書いてる人はこれを気をつけるべきかも。
またfontタグ使える掲示板をレンタルしてる人は、掲示板を変えたほうがいいね。
Aタグもさ<a href="javascript: 〜">できちゃうところあるしね。
とりあえず、みんなJavaScriptをオフにしようぜ。
0618(・ε・) ◆LbaGYMio
01/11/20 06:38ID:???とかやっても面白そう。
0619名無しさん@お腹いっぱい。
01/11/20 12:41ID:QRDBiFEvありますか?.htaccess、mod_rewrite 等を使って。お願いします。
0620名無しさん@お腹いっぱい。
01/11/20 12:47ID:P5HRzifJ0621名無しさん@お腹いっぱい。
01/11/20 12:50ID:???http://pc.2ch.net/test/read.cgi/php/1003132904/20
で探してみた?
0622620
01/11/20 13:43ID:P5HRzifJランダム表示や、時間で切り替えするものはあったのですが、
日替わりでランダムに表示するというものは見つかりませんでした。
他のCGIを参考に作ってみます。
0623RA・イール
01/11/20 14:47ID:iGD3kXDDしかし、"<"後ろに文字を入れた場合にIEではちゃんと表示されるのですが
ネスケだと変換されずに"<"となってしまいます。
どうにかならないでしょうか?
0624RA・イール
01/11/20 14:49ID:iGD3kXDDすいません。間違えました。
不等号の"<"をブラウザで表示させる為に"<"を"&lt"に変換させて表示しています。
しかし、"<"後ろに文字を入れた場合にIEではちゃんと表示されるのですが
ネスケだと変換されずに"&lt"となってしまいます。
どうにかならないでしょうか?
0625名無しさん@お腹いっぱい。
01/11/20 14:49ID:???0626625
01/11/20 14:51ID:???"<" は "<" に変換すべき (セミコロン)
0627625
01/11/20 14:51ID:???0628名無しさん@お腹いっぱい。
01/11/20 15:32ID:???激しくワラタ
0629RA・イール
01/11/20 15:42ID:iGD3kXDDありがとうございます。
どうやら解決したようです。
0630628
01/11/20 15:47ID:???かちゅだとダメだね。
0631名無しさん@お腹いっぱい。
01/11/20 16:40ID:9GBu+RPX<a href="read.cgi?password=pw">DL</a>
みたいなことをやると、「ファイルを保存」できるようにしたいんだけど、どうすればいいでしょうか。
データがCSV形式なんで、
open(FILE,'<datafile.cgi');
@file=<FILE>;
close(FILE);
print"Content-type: text/csv\n\n";
for($l1=0;$l1=$#file;$l1++)
{
print $file[$l1];
}
なんてことやってみたけど、見事に失敗(ファイルにアクセスしています…から進展不能)。鬱だ…。
0632名無しさん@お腹いっぱい。
01/11/20 16:46ID:???> for($l1=0;$l1=$#file;$l1++)
まさか無限ループ?
0633名無しさん@お腹いっぱい。
01/11/20 17:36ID:VUf3ducMどのように解析するんですか?
0635初信者
01/11/20 19:15ID:vSnM22q1現在、Perl言語によるCGIスクリプトを勉強しています。
既にその為の書籍3冊を買い、必要に応じて読みながらCGIを書いております。
他の既存スクリプトを見ながら目下理解に努めておりますが、本に書いていない
変数や命令が結構あり、行き詰まる事が多いです。
そこで本題なのですが、$ENV〜で綴られている環境変数全てを知りたいのです。
どちらかで見かけたよという情報や、この本に全て書いてあるという情報を
教えていただくか、誘導していただけると有り難く思います。
宜しくお願いします。
0636名無しさん@お腹いっぱい。
01/11/20 19:19ID:???foreach(keys %ENV){print qq($_\t$ENV{"$_"}\n);}
って意味じゃないよな・・・。
http://www5a.biglobe.ne.jp/~n_rieko/perl/4.htm
↑検索で見つけたページ。
「Perl 環境変数 一覧」で検索。
0637初信者
01/11/20 19:31ID:???foreach(keys %ENV){print qq($_\t$ENV{"$_"}\n);}
とかでは、例えば$ENV{"TZ"}等は宣言していないと出てこなかったり
しませんか?それが疑問に思える部分でもあるのですが。
それで自分も検索したのですが、どうしても全ては一緒に出てきにくい
です。一体$ENV〜の定義はどこで決められているのでしょう?
0638名無しさん@お腹いっぱい。
01/11/20 19:48ID:???コンソールで出ないなら設定ファイル書き変えれ
0639初信者
01/11/20 21:41ID:???貴重なご意見ありがとうございました。
その2行の中でさえ解らない言葉があるので、もっと勉強して精進します。
お手を煩わせてもうしわけありませんでした。
0640名無しさん@お腹いっぱい。
01/11/20 23:04ID:???http://www.env.go.jp/
0641名無しさん@お腹いっぱい。
01/11/21 00:30ID:???0642635
01/11/21 00:51ID:???確かにENVでした。
0643名無しさん@お腹いっぱい。
01/11/21 01:01ID:???0644名無しさん@お腹いっぱい。
01/11/21 01:38ID:O3sag41pとカウントログが出てくるものを
12日 3
13日 2
14日 4
と過去ログ日別集計の組み方はどういった考え方なのでしょうか?
0645Perlリハビリちぅ
01/11/21 02:00ID:???@date_ary = qw(1 1 1 4 4 2 1 1 2 4 4 3);
$cnt{$_}++ for(@date_ary);
print "$_ は $cnt{$_} 回です\n" for(keys %cnt);
0646名無しさん@お腹いっぱい。
01/11/21 02:40ID:O3sag41pあ!できました。ありがとうございました。
0647名無しさん@お腹いっぱい。
01/11/21 03:57ID:b0qb5jcy次にbb.cgiに渡して処理させるにはどうすればいいのでしょうか?
aa.cgiで処理が終わってからhtmlを出力してformから受け取った
値をhiddenにしてaction=bb.cgiというやり方ならわかるのですが、
それだともう一度submitを押さなければいけないですよね?
スマートな方法はないでしょうか?
0648名無しさん@お腹いっぱい。
01/11/21 04:08ID:???aa.cgiから,locationでQUERY_STRINGつけて飛ばすとかかなぁ。
けど,スマートにやるならそもそもの設計を考え直したほうがいいと思われ。
Perlなら,aa.cgiからbb.cgiをrequireするとか,doするとか。
0649名無しさん@お腹いっぱい。
01/11/21 04:36ID:???つーかbb.cgiからreturnした時にどうしたいかによる
system、exec辺りで無責任にキックしても良いのか?
NPH=バッファリングしない=転送は微妙に遅いが、処理は軽い
って事なんでしょうか?
0651名無しさん@お腹いっぱい。
01/11/21 09:32ID:???y&p
ってなに? 。。。viのことか(鬱
0652名無しさん@お腹いっぱい。
01/11/21 10:09ID:???転送が遅いってのがよく分からんけど、様は応答部分も自分で吐く必要が有るなら
それなりに意味が有る。 広告クッキー飛ばしたい時とか w
何かNPHって凄いらしい!!! とか思ってるならヤメトケ
君HTTPの応答コード全部知ってるの??
0653↑
01/11/21 10:28ID:???別にCGIで全ての通信をするわけじゃなし、いいんじゃないの?
0654名無しさん@お腹いっぱい。
01/11/21 11:48ID:???と言う気はするね
0655名無しさん@お腹いっぱい。
01/11/21 11:55ID:???俺はちょっとした細工の為に使ったりしてるね。
演出というか。
sleepと組み合わせて。
やっぱり鯖負荷大きいのかな?
0657名無しさん@お腹いっぱい。
01/11/21 15:38ID:8hrOmW/vそういう演出って自己満足だったりするんだね。。。
0658名無しさん@お腹いっぱい。
01/11/21 15:59ID:???全ての通信の意味がわかりませんが。
nphなCGIは「完全な」HTTPレスポンスヘッダを返す必要があります。
HTTPのバージョンとかにも対応してたらそれなりに面倒。
どうしてもヘッダを好き勝手に弄りたいなら別だけどそうじゃなかったら
NPH使う意味無いよ。Apacheに任せておいた方がラク。
>>655
それはもはやNPHとは関係ない・・・
0659_
01/11/21 16:12ID:rCaQvMxZHTML出力って、CGIでできますか?教えてください。
0660名無しさん@お腹いっぱい。
01/11/21 16:15ID:???HTML::Template
0661_
01/11/21 16:31ID:rCaQvMxZありがとうございます。
どこかのサイトにサンプルとかないでしょうか?
0662名無しさん@お腹いっぱい。
01/11/21 16:34ID:???http://member.nifty.ne.jp/hippo2000/perltips/html/template.htm
0663_
01/11/21 16:54ID:rCaQvMxZ0664名無しさん@お腹いっぱい。
01/11/21 16:57ID:???perlのモジュールについてなら無い。
0665_
01/11/21 17:13ID:rCaQvMxZapacheの標準でHTML::Templateが動くってこと?
ハァ?HTML::TemplateはApacheとは何ら関係ありません。
0667_
01/11/21 17:22ID:rCaQvMxZスマソ。説明不足。webサーバをApacheにして
cgiでHTML::Templateを動かす場合について、必要なものは?
0668名無しさん@お腹いっぱい。
01/11/21 17:26ID:???>必要なもの
Perlのバイナリ
0669名無しさん@お腹いっぱい。
01/11/21 17:27ID:???HTML::Templateモジュール
0670_
01/11/21 17:30ID:rCaQvMxZmod_perl.cは今、入ってませんが。
以下のPerl標準モジュール
integer
strict
Carp
File::Spec
vars
>>670
何の確認?
ApacheのモジュールじゃないんだからHTML::Templateの有無は
そんなのじゃ調べられんよ。
0672_
01/11/21 17:39ID:rCaQvMxZじゃ、どうやって調べるの?
0673名無しさん@お腹いっぱい。
01/11/21 17:48ID:???perl -M(モジュール)
でエラーが出なけりゃ大丈夫。HTML::Templateの場合は
perl -MHTML::Template
つーかPerlのモジュールとApacheのモジュールの区別がつかないのは
致命的だから要らん事止めとけ。
0674_
01/11/21 17:54ID:rCaQvMxZありがとうございます。よくわからないので、いまのところ
テンプレートを使わずに、変換で逝きます。
やさしくご指導していただいて、ありがとうございました。
0675655
01/11/21 19:13ID:???その機能を利用するかどうかは利用者に選ばせてる。
CGIゲームの結果を一気に表示するか少しずつ表示するかの違いでね。
1画面に入ってしまう程度の結果だから、少しずつ表記されるとドキドキして楽しいんだ。
>658
自分でも良くわかってないんですが、どう関係ないんでしょう?
また、NPH以外でそれを表現できるとしたらその方法を教えてください。
0676つーか。。
01/11/21 19:24ID:???Modified絡みとかでサーバのヘッダ使えない時くらいしか
考えつかないな
ヘッダなんて知ってるのだけで良いじゃん?超はやい〜
て言うのは、ちょっと酸っぱいと思う。
そゆ事はお家の中でしてて下さいですです
0677655
01/11/21 19:32ID:???画面の表示を遅らせたいからです。
一度に表示されないように。
>Modified絡みとかでサーバのヘッダ使えない時くらいしか
ここ、少し説明していただけますか?
もし別のやり方でできるならそっちも検討してみたいです。
よろしくおねがいします。
0678つーか。。
01/11/21 19:49ID:???昔のApacheって出力バッファしてたみたいだけど
俺はズイタミ位しかしらないなぁ
それともconfにそんな設定が有るのか
0679名無しさん@お腹いっぱい。
01/11/21 20:01ID:???CGI側でバッファリングしなければお望みどおりだよ。
# >>678 ズイタミ って何?
0680655
01/11/21 20:30ID:???一応もう一度説明をすると
print qq(ヘッダとか);
print qq(100m走スタート!<br>\n);
sleep(1);
print qq(10m突破!<br>\n);
sleep(1);
print qq(20m突破!<br>\n);
sleep(1);
・
・
・
sleep(1);
print qq(ゴール!<br>\n1位は○○さんでした!<br>\n);
こんな感じで、1秒ごとに途中経過の出るスクリプトです。
(要点のみ抽出する為に途中の処理説明は省きました)
今まではnphを使ってそれを表現していました。
nphじゃないスクリプトにして$|=1;を入れて試した方では
こちらの望む結果にはならず、10秒後に結果が一度に表示される
ようになってしまいます。
nph以外のやり方があるのでしたら教えてください。
よろしくお願いします。
0681名無しさん@お腹いっぱい。
01/11/22 04:43ID:???とりあえず、使ってるHTTPDのバージョンは?
#!/usr/bin/perl
$| = 1;
print "Content-type: text/plain\n\n";
for (0..9){
print $_ . "\n";
sleep(2);
}
うちはこれでOKだったよ。Apache/1.3.20 on Linux
0682!680
01/11/22 05:09ID:???規定時間後に一気に表示されたよ。
リロードしたらねらい通りに表示されるから
ブラウザの問題かも。
fub(IE6.0)
0683教えてください
01/11/22 08:20ID:NGnYufgLCGI(Perl)で書き換えようとしています。
ためしにHTMLで出力してみたら、
日本語が文字化けします
(こんな風にhttp://www.ae.wakwak.com/~paryan/cgi-bin/manage.cgi)
ちなみにJSファイルはUnicodeで書いています。
Jcode.pmを入れ
Jcode::convert(\$_, 'euc', Jcode::getcode(\$_), "z");
とはやってみたのですが変わりません。
正しく変換するにはどうしたら良いのでしょうか?
0684名無しさん@お腹いっぱい。
01/11/22 08:29ID:???> スレ立ったんじゃ〜!!コラー!(もっとー!!)
> スレ立ったんじゃ〜!!コラー!(もっとー!!)
> ビデオがスロー再生できなくなりました。(ペコ)
0685655
01/11/22 08:47ID:???プロクシ通してました・・・。
Proxomitronを使っていたもので。
でも、プロクシを外しても同じ結果になります。
ローカルのHTTPDは恥ずかしながら
http://www.st.rim.or.jp/~nakata/
こちらのAN HTTPDを使わせてもらっています。
OSはWin2kです。
>682
うちはIE5.5でリロードしても一気に表示されました。
ブラウザに依存しないと効果が得られないというのは避けたいので
ブラウザ限定だとするとやはり諦めないといけないですね。
・・・ブラウザ限定でいいならJavaScriptとかを使う手もあるので。(^^;
0686683
01/11/22 08:52ID:7hXo+AWRすみません。なんか表示できなくなっていました。
今度は大丈夫だと思います。
http://www.ae.wakwak.com/~paryan/cgi-bin/manage.cgi
■ このスレッドは過去ログ倉庫に格納されています