CGIだけど、なんか質問ある? Part 12
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
04/10/10 00:04:06ID:???※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
[Perlコーディング初心者質問スレ Part 38]
http://pc5.2ch.net/test/read.cgi/php/1097158988/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[△▲ WebProg 初心者の質問 Part10 ▼▽]
http://pc5.2ch.net/test/read.cgi/php/1095633323/
過去ログ・関連スレッドは>>2-10あたりに
0899nobodyさん
2005/07/18(月) 07:38:12ID:???<form name=f1 method=get action="test.html">
問1
<input type=button value="問1の選択肢1" onclick="f1.answer1.value=this.value">
<input type=button value="問1の選択肢2" onclick="f1.answer1.value=this.value">
<input type=text name=answer1 readonly>
・問題繰り返し
<input type=submit></form>
-------------
・getにして自分自身のhtmlをactionにしておけばクエリが確認できる。
・これ以上のことはJavaScriptのチュートリアルサイトとかで。
・書いてから気付いたけどラジオボタンだけでできるじゃん。
0900nobodyさん
2005/07/18(月) 08:12:58ID:???use encodingしたいならPerl5.8以降でのUnicodeについて勉強したほうが良い
それとコードをコピペで使うんなら、使われている関数の意味くらい調べよう
他のスレで激しく既出のサイト
ttp://www.namazu.org/~tsuchiya/perl/perl-5.8.html
ttp://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
ttp://www.pure.ne.jp/~learner/program/Perl_unicode.html
use strict;
use encoding 'shiftjis';
use Encode qw/decode/;
my $url = '%90V%8BK';
$url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('U', hex($1))/eg;
$url = decode('shiftjis', $url);
print $url;
$ENV{'QUERY_STRING'}などから受け取ってURLデコードだけをするのならば
pack("H2", $1 )を薦める
0901nobodyさん
2005/07/18(月) 08:31:51ID:???0902nobodyさん
2005/07/18(月) 16:27:35ID:???read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
}
else {
$query = $ENV{'QUERY_STRING'};
}
(1)MethodがPOSTであれ、GETであれ、上述のコードを記述すれば、htmlフォームが
変数$queryに読み込まれる。
(2)読み込まれたフォームデータをループ関数foreachとかwhileでハッシュに読み込む。
(3)フォーム入力をハッシュに展開して出力する。
CGI.pmモジュールを使えば、htmlフォームとPerlコードを自前で出力でき、かつ
POSTでもGETでも対応できる。コードも短くて便利である。
私が理解している内容は間違ってますか?ご教授ください
よろしくお願いします。
0903nobodyさん
2005/07/18(月) 20:14:51ID:???フォームデコードだけならCGI::Liteとかあるし
CGI.pmから受ける恩恵は他のモジュールとの連携にある。。。と思ってる
てかそれくらいpod見るなり自分で調べたりまず使ってみれ
0904nobodyさん
2005/07/19(火) 01:25:14ID:???CGIのことがわかるようになるのでしょうか?
0906nobodyさん
2005/07/20(水) 15:31:56ID:???どのようにすればよろしいのでしょうか?
0907nobodyさん
2005/07/20(水) 15:54:28ID:???http://pc8.2ch.net/test/read.cgi/php/1097334246/
↓
http://pc8.2ch.net/php/dat/1097334246.dat
を保存すれば良いだけ。
dat 落ちしてるのを何とかしたいのなら ● 買って
monazilla.org (w
http://www.monazilla.org/document/index.html
ここ見て実装。
どちらにしても2chブラウザのログ漁った方が早いと思うけど。
0909nobodyさん
2005/07/20(水) 20:18:28ID:???05年07月20日などの年月日をセレクトボックスで1桁づつに
わけてCSVにデータ送ろうとしたんだけど
自分の中では1セル?に収めたかったんだけど
表示させるCGIのテーブルで1桁しか表示されず横に思いっきりズレて困ってます。
1桁づつselect文使ってます。
どうやってまとめればいいんでしょうか?教えてください <(_ _)>
0910nobodyさん
2005/07/20(水) 20:30:49ID:???0911nobodyさん
2005/07/24(日) 19:01:41ID:???例えば、「<!---はじめ--->〜<!---おわり--->」の文章を抜き出したい場合、
どの様にすれば良いのでしょうか。
知識の欠落故か色々調べてみたのですがわからず…
初心者ですがどうぞよろしくおながいします。m(__)m
0913nobodyさん
2005/07/24(日) 21:19:49ID:???わかり辛い文章でごめんなさい。
「特定の文字にはさまれた文字列を抜き出す」処理をしたいのです。
例えば、<!---はじめ--->から<!---おわり--->にはさまれた文字列、
と言うことです。
正規表現?がわからないのですが、
<!---はじめ--->(.+)<!---おわり---> みたいな感じでしょうか?
よろしくお願いします。m(__)m
0914nobodyさん
2005/07/24(日) 21:29:18ID:???0916nobodyさん
2005/08/16(火) 15:13:51ID:bVvKafpLsendmail -t < meil.txt
みたいな感じでメールを送ると勝手にForm:を付けてしまうので付けさせなくする方法があったら教えて下さい
CGI側でFormを生成したいです
0917nobodyさん
2005/08/16(火) 17:15:03ID:???とか?
0918nobodyさん
2005/08/16(火) 17:43:25ID:???0919nobodyさん
2005/08/16(火) 17:58:54ID:???sendmailの話だから、言語は関係無いと思うが。。
ttp://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html
そこの説明にあるように、-t を付けた場合は To: Cc: Bcc: が設定される。
from(つーかenvelope from)を指定する場合は -f を使う。
付けないつーのは無し。エラーメールに使われたりするし、相手の鯖によっちゃ受け取ってもくれない。
0921nobodyさん
2005/08/17(水) 01:25:36ID:9wq4p4Cf0922921
2005/08/17(水) 01:41:09ID:???0923nobodyさん
2005/08/17(水) 15:28:43ID:W1CGnhYdここの(ココ以外にもあるけど)Web上で、サイトのキャプチャ画像を生成する方法って
どうやってやっているんですか?
外部のサイトソースを取得するのは出来ても、それをレンダリングエンジンに渡して
キャプチャ…って orz
0925923
2005/08/17(水) 16:21:59ID:W1CGnhYdいったいどうやって取得しているのでしょうか?
0928923
2005/08/17(水) 17:08:38ID:???0932nobodyさん
2005/08/17(水) 22:57:27ID:???…なんですが、ここで質問してよろしいでしょうか?他に適切な板があるのでしょうか?
0933nobodyさん
2005/08/17(水) 23:03:43ID:???0934nobodyさん
2005/08/17(水) 23:16:59ID:???0935nobodyさん
2005/08/18(木) 07:48:54ID:???ぶちゃけ初心者が初めて言語を覚えるならPerlとPHPどちらが身につきやすいですか?
0936nobodyさん
2005/08/18(木) 09:16:41ID:???0937nobodyさん
2005/08/18(木) 14:06:17ID:???0938nobodyさん
2005/08/18(木) 14:24:07ID:???0939nobodyさん
2005/08/18(木) 17:21:41ID:xSbRCUiKネットに載ってたプログラム例が下記の2行だけでした。
$word = "あほ|ばか";
$value =~ s/($word)//gs;
これを書き加えてもうまくいきません。
これにプラスして何か書かなければいけないのでしょうか。
$valueって何なのでしょうか。
0940nobodyさん
2005/08/18(木) 17:45:58ID:???0941nobodyさん
2005/08/18(木) 19:25:24ID:???マッチした数が入る。
ifなど条件で使うためでは?
if ($value) print 'NGワードを削除しました。';
0942nobodyさん
2005/08/18(木) 21:29:43ID:???それは$valueという変数の中から特定のキーワードを削除するPerlの処理。
つまり$valueをそのCGIスクリプトで使われている適切な変数名に書き換える必要がある。
要するにPerlコーディングスレか改造スレ行きだな。
ほんと次スレはCommon Gateway Interfaceにしよう。
0943nobodyさん
2005/08/23(火) 11:39:26ID:VkPwkJgd0944nobodyさん
2005/08/23(火) 12:00:46ID:???【CGI】こんなCGI探してますver.18
http://pc8.2ch.net/test/read.cgi/hp/1123833110/
0945nobodyさん
2005/08/23(火) 12:37:07ID:VkPwkJgdd
0946nobodyさん
2005/08/23(火) 12:50:53ID:jskS7WB1カウンターを制作しているのですが,counter.datにカウント数を記録するのに
「count=32」といったように「count=カウント数」といったように記録したいのですが,
#!/usr/bin/perl
# カウントファイルから読み込み
open(IN, "counter.txt");
$count = <IN>;
close(IN);
# カウント増加
$count++;
# カウントファイルに書き込み
open(OUT, "> counter.txt");
#print READ "count=";
print OUT $count;
close(OUT);
と,プログラムを書きました.読み込みの時,どのようにプログラムを書けば
記録されたcount=32から数字の部分だけを取り出せるのでしょうか.
よろしくお願いします
0948nobodyさん
2005/08/23(火) 21:54:45ID:???0949nobodyさん
2005/08/30(火) 15:09:31ID:???0953nobodyさん
2005/08/30(火) 16:59:23ID:???どこをどうすればよいのか
0955nobodyさん
2005/08/30(火) 17:13:03ID:???0956nobodyさん
2005/08/30(火) 17:15:37ID:???それかxhtmlを出力するCGIを教えてください
色々探したけどイマイチ納得できるのがありません
<br>連発だったり、汚かったり
0957nobodyさん
2005/08/30(火) 17:49:07ID:???0958nobodyさん
2005/08/30(火) 18:17:39ID:???0959nobodyさん
2005/08/30(火) 18:22:14ID:???何をするCGIなのか分からんけど、自分で書けない場合は他人が書いたものから探すか
それに手を加えるしか無いべ。
CGIを探すスレはWeb制作板にあるよ。
0960nobodyさん
2005/08/30(火) 18:34:18ID:???できたら今使っているのをチョコチョコといじって
改造できたらな〜と思いまして
勉強するにはどこかおすすめのサイトあったら教えてください
やっぱり最初は本を買った方がいいんですかね
0961nobodyさん
2005/08/30(火) 19:00:25ID:???XHTML-Note(ttp://www.seo-equation.com/)
XHTML Custom BBS(ttp://external.pcc.jp/~biso/index.html)
wbbsなど(ttp://scrlab.g-7.ne.jp/)
とかいろいろ発表されてきてるね。
0962nobodyさん
2005/08/30(火) 19:17:06ID:???ちょっと盗み見してきます
0963nobodyさん
2005/08/30(火) 23:13:53ID:???0964nobodyさん
2005/09/04(日) 19:51:11ID:ttaNEQ2K0965nobodyさん
2005/09/05(月) 01:49:12ID:???メッセージが表示されました。
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers: school_blog.cgi
If you think this is a server error, please contact the webmaster
Error 500
メモ帳でCGIのデータを改造したのがいけなかったのかな・・・
ちゃんと上書き保存で保存したんですけど
0966nobodyさん
2005/09/05(月) 04:15:49ID:???自分のPCに開発環境を作ってテスト汁。
共用サーバでいきなりテストするな。
ttp://www.dream-seed.com/pukiwiki/
あと、ちゃんとしたエディタ使え!
0967nobodyさん
2005/09/05(月) 04:17:28ID:???エラーメッセージについて
500エラーやInternal Server Errorって言うのは、エラーメッセージじゃないから、そんなもん書いても問題解決に繋がらない。
ちゃんとしたエラーメッセージを書くように。
エラーメッセージはログに記録されている。
ログのありかがわかんないときは、サーバの管理人に問い合わせる。
もしくは、モジュールが入っている事が前提だが、
2行目に
use CGI::Carp qw(fatalsToBrowser);
の一文を挿入する。
したらエラーメッセージがブラウザに表示される。
あとは修正すればよい。
自分で修正できなかったら、エラーメッセージも書いて質問しる。
0968965
2005/09/05(月) 07:32:59ID:???pukiwikiがダウンロードできません・・・
公式サイトに行ってもダウンロード出来ないといわれました。
>>967
サーバー管理人は長期出張に行っていて全く連絡がつかない状態です。
自分でログの場所を探す良い方法はないものでしょうか。
>もしくは、モジュールが入っている事が前提だが、
>2行目に
>use CGI::Carp qw(fatalsToBrowser);
>の一文を挿入する。
>したらエラーメッセージがブラウザに表示される。
モジュールが入っていなかったので挿入してもエラーメッセージは表示されませんでした・・・
0969nobodyさん
2005/09/05(月) 08:30:10ID:???>>966が言っているのは、そこのサイトを参考にして、
CGI自体に問題が無いかテストするようにって事だよ。
pukiwikiは全然関係なし。
CGIに手を加えた部分に問題が無いとすれば、
(本来なら、問題が無いことを確認するためにテストをする)
プログラムの文字コードや改行コードがサーバが想定しているものと違うために
エラーになっているんじゃないかな。
(てか、CGIを書く時に(修正する時も)これらの事を意識しつつ書くのが当たり前)
一番ありがちな改行コードの違いだとすれば、
#!/usr/bin/perl てな感じになっている部分を
#!/usr/bin/perl -- てな感じ変更すれば動くんじゃないかな。
0970965
2005/09/05(月) 11:16:15ID:???>一番ありがちな改行コードの違いだとすれば、
>#!/usr/bin/perl てな感じになっている部分を
>#!/usr/bin/perl -- てな感じ変更すれば動くんじゃないかな。
その部分は変更する以前から『#!/usr/bin/perl -- 』になっていました。
あと以前データを変更する際にffftpを使ってデータをダウンロードし、
メモ帳でデータの変更を行なったのですがその時は問題は起きませんでした。
後は改造したプログラムに対するリンクの問題だと思うのですが・・・
0971nobodyさん
2005/09/05(月) 11:18:12ID:???0972nobodyさん
2005/09/05(月) 21:38:50ID:???0973nobodyさん
2005/09/07(水) 22:35:42ID:JmIh4Jx5その検索エンジンで入力して検索された単語、キーワードがわかるようなものは
ないでしょうか?
どうか、よろしくお願いします。
0974nobodyさん
2005/09/08(木) 02:41:07ID:???エスパーを働かせてみると、ログに残したいということかな?
0975973
2005/09/08(木) 02:53:44ID:GZOoMjWj相手が検索した単語を見て、マーケティングの研究をしたいのです。
0976nobodyさん
2005/09/08(木) 03:27:45ID:???アクセスが少ないのであれば、呼び出された度にログファイルから同じ単語があるかどうか調べて、その単語のカウント数を増分させる。
アクセスが多いのであればpostされたデータを日付ごとなどに分けたファイルにガンガン追記していって、調べるときにでもまとめて計算処理させる、とか。
0978nobodyさん
2005/09/09(金) 01:56:36ID:TL4CSun/携帯の端末で、IDとPassを入力してログインするページを作り、
IDとPassが正しいかどうかを判断するのにCGIを使っています。
auとdocomoは問題ないのですが、j-phonだけがパスワードが違うと言ってきます。
そこで、CGIで受け取っているデータを見ると、auとdocomoは
〜id=xxxx&pass=xxxx&mode=xxxx となっていますが、j-phonは
〜m%5Fid=xxxx&m%5Fpass=xxxx&mode=xxxx となっていました。
idとpassの前に付加されている"m%5F"とはどういったものでしょうか?
ぐぐってはみたんですが、さっぱりわかりませんでした。
どうか教えていただけないでしょうか。
0979nobodyさん
2005/09/09(金) 01:58:44ID:???0980nobodyさん
2005/09/09(金) 02:14:03ID:???早々とありがとうございます。
教えていただいて気づきました。
文字コードで検索した時、%5→_ でした。
おまけに、m_idとm_passだった・・・
中途半端な情報出してすいませんでした。
これでなんとかなるかもです。
0981nobodyさん
2005/09/10(土) 04:15:21ID:lK6qUVjE何か良い方法はありますか?
0982nobodyさん
2005/09/10(土) 05:26:48ID:???0983nobodyさん
2005/09/10(土) 05:43:26ID:???ちょっとでもググればこんなサイト出てくるのに
ttp://www.teria.com/~koseki/memo/referrer/
0985nobodyさん
2005/09/10(土) 14:33:22ID:???全然技術的じゃないと思うかもしれないんですけど、
掲示板やチャットにトリップ機能を導入する方法を教えてください。
ネットの知り合いとかとも探してるんですが全然見つからないんですorz
0987名無しさん@そうだ選挙に行こう
2005/09/10(土) 17:36:52ID:???結構出てきたんですが、よく分かりませんでした。
どうもありがとうございました。
0988名無しさん@そうだ選挙に行こう
2005/09/10(土) 19:04:37ID:???sub torip {
my ($s, $salt);
$s = shift;
$salt = substr($s, 1, 2);
return substr(crypt($s, $salt), 3, 10);
}
print &torip("RLS9M\%T:");
0989名無しさん@そうだ選挙に行こう
2005/09/11(日) 09:09:13ID:???http://( なんたらかんたら)/cgi-bin/aaa.cgi?no=001
http://( なんたらかんたら)/cgi-bin/aaa.cgi?no=002
http://( なんたらかんたら)/cgi-bin/aaa.cgi?no=003
と番号で処理が変化するCGI(Perl)を作ろうと奮起しております。
htmlからCGIを呼び出すときには FORM ACTION=aaa.cgi METHOD=POST
で呼ばれて起動するのは分かっているのですが、
CGI単体で上みたいに動かすためには
どうすればいいですか?何かヒントを下さい。<(_ _)>
0990989
2005/09/11(日) 09:29:48ID:???0991名無しさん@そうだ選挙に行こう
2005/09/11(日) 14:40:50ID:???それをチェックして弾きたいのですが下記のないようだとエラーがでます。。
open(IN,"./ngword.txt");
@ngwordtmp = <IN>;
close (IN);
foreach(@ngwordtmp){
$_ =~ s/\n//i; #--改行取り除き
if ($revew =~ /$_/){&error;} #---$reviewは投稿内容です
}
foreachの中にifを置くとエラーがでます。たぶん文法的に大きな間違いを
していると思うんですが指摘していただけると幸いです。
宜しくお願いします。
0992名無しさん@そうだ選挙に行こう
2005/09/11(日) 15:09:12ID:???次スレをお願いできるかな?
0993名無しさん@そうだ選挙に行こう
2005/09/11(日) 15:50:00ID:???ごめんなさい。「新規スレッド作成画面へ」を押しても,その画面に行きませんでした。
当方プロバイダはdionです,が2ちゃんねるでスレッドを作成できたことは過去一度もありません。
(いろいろ理由があるのでしょうが今回も無理なようです)m(_ _)m
0994名無しさん@そうだ選挙に行こう
2005/09/11(日) 20:04:03ID:???http://pc8.2ch.net/test/read.cgi/php/1126436361/
独断で再び11のスレタイに戻しました
その他色々修正しました
Part11 は http://pc5.2ch.net/php/kako/1055/10555/1055597189.html
になってるかも知れませんが人大杉で確認できず
0995nobodyさん
2005/09/12(月) 08:07:00ID:???0996nobodyさん
2005/09/12(月) 19:16:55ID:???0997nobodyさん
2005/09/12(月) 20:20:41ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。