CGIとかPerlとか超初心者なんだけど、
■ このスレッドは過去ログ倉庫に格納されています
0001埼玉板"管理人"
2001/07/20(金) 17:36ID:???が非常に高くなってきたのです。
http://green.jbbs.net/travel/511/saitama.html
ス連でも相談にのってもらってるんだけど、ここでも相談したい。
とりあえずFTPって何?どういうふうに使うの?
0306nobodyさん
03/07/21 14:19ID:???if($ENV{REQUEST_METHOD} eq "GET"){
$q = $ENV{QUERY_STRING};
}elsif($ENV{REQUEST_METHOD} eq "POST"){
read(STDIN,$q,$ENV{CONTENT_LENGTH});
}
@prm = split(/&/,$q);
foreach(@prm){
($k,$v) = split(/=/,$_);
$v =~tr/+/ /;
$v =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/ge;
$FORM{$k} = $v;
}
>>293-294で全部なら
#!/usr/bin/perlと$name = $FORM{'name'};の間に上追加しれ
GETでもPOSTでも動く
0307nobodyさん
03/07/21 14:23ID:???つーか、$FORM{'name'};はドコから出てきたんだ?
そこらへんが気になる罠。
#GET で。
@query = split(/&/,$ENV{'QUERY_STRING'};
foreach (@query){
($qName, $qValue) = split(/=/);
$FORM{$qName} = $qValue;
}
とかが無いが・・・。
0308305
03/07/21 14:33ID:???$FORM{'name'};は・・・
下のほうの記述フォーム
print << "form";
以下の
<table><tr><td>管理者名</td><td>
<INPUT TYPE="text" NAME="name" SIZE="30"></td></tr>
↑これです。
#投稿者名って・・・誤変換。
0311305
03/07/21 14:38ID:???追加場所がいけなかったのですね(汗
$name〜の後ろに入れてました。
<某さんのHPで見つけた
>>307
横着せずにそれを入れないといけなかったんですね(大汗)
勉強中断1年半+現在マクロばっかいじっててマクロ頭になっている
ために・・しょーもないことを
#横着って言ってる時点で・・(以下略)。
0312305
03/07/21 14:44ID:???え・・・え?!
#user/〜の直下に
$name = 〜
があってはいけない、と??
(ファイル出力のところで直接Form〜にしてもよいのかな・・わざわざ
変数に格納せずに)
0313nobodyさん
03/07/21 14:57ID:???いや、だから違うだろーに。
>#user/〜の直下に
>$name = 〜
>があってはいけない、と??
そんなの別に好きにすればイイさ。
だが $FORM{'name'}; は空だろ? と。
>306 が無いんだから
$name = $FORM{'name'}; は意味無いじゃん。つーこと。
横着とかいう話じゃないだろと、そう言っている。
何か激しく勘違いしている悪寒。
0314nobodyさん
03/07/21 15:51ID:???read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buffer);
$buffer= undef;
foreach (@pairs) {
($name, $value) = split(/=/);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2',$1)/eg;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
$value =~ s/\r\n|\r|\n/<br>/g;
$value =~ s/<br>/ <br> /g;
$buffer.=$value;
$FORM{$name} = $value;
}
if ($FORM{'title'} eq "") { $FORM{'title'} = "無題"; }
if ($FORM{'surl'} ne "") { $surl = "<a href=\"$FORM{'surl'}\">$FORM{'sname'}"; }
if ($FORM{'burl'} ne "") { $burl = "<br><img src=\"$FORM{'burl'}\">"; }
open MY, ">$FORM{'hname'}.html";
print MY <<END;
<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<title>$FORM{'title'}</title>
</head><BODY><center>$FORM{'name'} さま
<br>$surl$burl</a>
</center></body></html>
END
close MY;
}
0315nobodyさん
03/07/21 15:52ID:???print "Content-type: text/html\n\n";
print << "form";
<html>
<title>作成</title></head>
<body><center><FORM ACTION="test7.cgi" METHOD="POST">
<table><tr><td>投稿者名</td><td><INPUT TYPE="text" NAME="name" SIZE="30"></td></tr>
<tr><td>作成ファイル名</td><td><INPUT TYPE="text" NAME="hname" SIZE="30"></td></tr>
<tr><td>タイトル</td><td><INPUT TYPE="text" NAME="title" SIZE="30"></td></tr>
<tr><td>サイト名</td><td><INPUT TYPE="text" NAME="sname" SIZE="40"></td></tr>
<tr><td>サイトURL</td><td><INPUT TYPE="text" NAME="surl" SIZE="40"></td></tr>
<tr><td>バナーURL</td><td><INPUT TYPE="text" NAME="burl" SIZE="40">
</td></tr></table>
<INPUT TYPE="submit" VALUE="作成"><input type="reset" value=" やめる ">
</form></center></body></html>
form
exit;
0316nobodyさん
03/07/21 15:56ID:???close MY;
}else{
#作成フォーム
print "Content-type: text/html\n\n";
print << "form";
<html>
<title>作成</title></head>
<body><center><FORM ACTION="test7.cgi" METHOD="POST">
<table><tr><td>投稿者名</td><td><INPUT TYPE="text" NAME="name" SIZE="30"></td></tr>
<tr><td>作成ファイル名</td><td><INPUT TYPE="text" NAME="hname" SIZE="30"></td></tr>
<tr><td>タイトル</td><td><INPUT TYPE="text" NAME="title" SIZE="30"></td></tr>
<tr><td>サイト名</td><td><INPUT TYPE="text" NAME="sname" SIZE="40"></td></tr>
<tr><td>サイトURL</td><td><INPUT TYPE="text" NAME="surl" SIZE="40"></td></tr>
<tr><td>バナーURL</td><td><INPUT TYPE="text" NAME="burl" SIZE="40">
</td></tr></table>
<INPUT TYPE="submit" VALUE="作成"><input type="reset" value=" やめる ">
</form></center></body></html>
form
}
exit;
0318nobodyさん
03/07/21 16:06ID:???入力後POSTされてきたらその値でファイルを作成して
再び作成フォームを表示する
0319nobodyさん
03/07/21 20:56ID:???$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
知らない香具師が見るとそのママ書いちゃうぞ
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
$value =~ s/"/&quot;/g;
これだとどうだ?
0320319
03/07/21 20:59ID:???>>319のやつの&(全角) は &(半角) でよろ。
これならどうだ?
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
0321319
03/07/21 21:02ID:???$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
0322319
03/07/21 21:03ID:???ふ〜
すれ汚しスマソ
0323nobodyさん
03/07/21 23:46ID:???ところで元質問のやつはどこ行った?
学び始めは間をおかずにやらないと覚えられないぞ
0324nobodyさん
03/07/22 05:52ID:???忙しくなって来て時間が取れなくなってしまいました。
CGI制作、カスタマイズ代行をして戴ける方がいらしたら
御連絡下さいませんか。
関わり方や報酬等について、取り敢えずは相談を…
0325山崎 渉
03/08/02 02:25ID:???( ^^ )< ぬるぽ(^^)
0326ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:54ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0327nobodyさん
03/10/10 04:00ID:kMhiU2Gfcgiでformでページ移動する時に
移動先ページのエンコードが何故か西ヨーロッパ言語(windows)になっちゃうんですよ
ヘッダーでは
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
を記述してるし
ヘッダーのサブルーチンはちゃんと呼び出してるし
なるわけねぇのに、必ず西ヨローパになるわけなんだが
わかる神は教えてくださいな
0329nobodyさん
03/10/10 04:31ID:kMhiU2Gf返信サンクス
でも、他のCGIはそれにならないんよ
てことは・・プログラムとかの記述にあると想われるんだけども。。。。
どうでしょう?か・・
0332nobodyさん
03/10/10 21:22ID:xgspJ+Pb0334332
03/10/10 21:53ID:xgspJ+Pbシステムが書き換えられてそれっきりになるんでしょうか?
0335nobodyさん
03/10/10 22:21ID:???どういう意味で聞いてるのかわからないけど
入れた形跡さえも残さずにってことにはならないだけ
他の何かに影響が出るわけじゃない
0336nobodyさん
03/10/12 16:03ID:Vb5pYbk9***すれ立てるまでもない質問はここで 第44刷***
で質問した者です、WEB板で質問せよとのことでここで質問させてもらいます。
パソコンからHPにアクセスがあったときIPを記録するCGIを設置したら
うまく動きログも取れました、
携帯からアクセスがあったときに相手の携帯のアドレスとかを記録するような
CGIがあったら教えてください。
0340nobodyさん
03/10/13 00:13ID:???0341nobodyさん
03/10/13 14:51ID:???業者の迷惑メールのせいで携帯のアドレスは長くなるしコロコロ変わる
キャリアの負荷も重くなり、結果的に消費者の負担額も増える
スレ汚しスマソ
0342名無しさん@お腹いっぱい。
03/10/15 22:11ID:???携帯から自サバのCGIにアクセスして
キャプチャソフトを起動させて
現在のデスクトップ画面を携帯サイズのjpg
にして保存することができたんですけど
このjpgを携帯にメールで送るようなCGIは
どうすればいいでしょうか?
今のところは生成された画像にリンクつけて
表示させてるけどメールで送ったほうが
パケット代かからなくていいいんで。
0343nobodyさん
03/10/15 22:40ID:???「アンケート結果をtxtファイルやcsvファイルに記憶する」や
「txtファイルやcsvファイルに記憶されている値を出力する」
ってのはよく見るんですが、
「txtファイルやcsvファイルに書かれた数値を計算して画面上に出力する」
って言う処理を行うにはどのような処理が必要なのでしょうか?
もしくはその他の言語などが必要なのでしょうか?
0344nobodyさん
03/10/16 01:32ID:???txtファイルやcsvファイルに書かれた数値を計算して画面上に出力するスクリプトを、
お好きな言語で書きやがれ。Perlでもいい。
0345342
03/10/16 08:37ID:???0347nobodyさん
03/10/19 00:10ID:XYzjX5Dgという本を参考に練習しているのですが
この本のとおりに記入してもInternal Server Errorが出てしまいます
エラーメッセージを見ると「「<>」が解釈できない」みたいなことを
言われるのですが
open(FH,"+<passwd.txt")
|| open(FH,"+>passwd.txt");
という記述は間違っているのでしょうか?
0349nobodyさん
03/10/19 15:27ID:???書式として合っている。おそらく意味合いも合ってる。
perlなんだから、それだけ書いて動かしてみればいいじゃん。
問題は他の行でダブルクォートを閉じ忘れたか、そんな所かな?
0350347
03/10/20 23:41ID:???それがエラーの原因だったみたいです
ショボすぎるミスで申し訳ありませんでした。
それがクリアできたと思ったら
Unrecognized character \x83 at (eval 1) line 67.なんて出てきました。
これも全角スペースが原因だと言うようなのですが
上記の部分を含めた全文の全角スペースを排除したにもかかわらず
いまだにこのエラーが表示されてしまうのは
このエラーにはまだほかの意味が含まれているのでしょうか?
下記の文章はプログラムの67行目に当たります。
print "<h3>ユーザの登録は受け付けられました。</h3><p>";
0351nobodyさん
03/10/20 23:50ID:???0352nobodyさん
03/10/21 00:51ID:???「ウェブ上からアクセスできないディレクトリ」
ってどうやって作るのか教えてくれませんか?
パーミッションなどの設定なのでしょうか?
IDとパスワードによるアクセス制限をするページを作る
CGIの設置の説明にありました。
色々調べてみたのですが見つからないし、まだ初心者なので
良くわからないのです。
お手数掛けますがよろしければ何方か教えてください。
0356nobodyさん
03/10/21 20:07ID:???やはりどこかで、ダブルクォートの閉じ忘れがある気がする。
その行には問題ないし。
キーワードを色分けしてくれたり、文字リテラルや、全角スペースを
目立たせてくれるエディタを使ったほうがいいね。
>>351
キャラクタコードがShift_JISなら、
「ー」は\x81\x5Bだから、1バイト目が\x83じゃないし、
2バイト目の\x5b([)も影響を与えないから、この場合は何の問題もないよ。
>>352
ユーザー認証でググる。
0357347
03/10/22 00:47ID:???おっしゃるとおりでした・・・
紙に印刷して確認したとき(レス347時)は
ダブルクォートが存在していた部分が
改めて印刷して確認して見ると削除されてました。
その部分を修正したらサンプルも動作するようになりました。
当方がエラーメッセージのline○○という言葉に
固執しすぎた事と、単純な盆ミスからの失敗だったと反省しております。
>キーワードを色分けしてくれたり、文字リテラルや、全角スペースを
>目立たせてくれるエディタを使ったほうがいいね。
これを期にxyzzyというエディタを導入しました。
どうもお騒がせしました
0358nobodyさん
03/10/22 12:24ID:HdqZi3aE昔、gooの検索結果がそんな感じになってましたよね。
0359nobodyさん
03/10/22 12:37ID:???0360nobodyさん
03/10/22 13:20ID:HdqZi3aE大量に定期的にやる必要があるのでできればCGIで自動的にやってほしいのです。
0361nobodyさん
03/10/22 13:53ID:???がんばれよ
0362nobodyさん
03/10/22 18:29ID:???んなもん藻前のPCで処理すれ。
0363nobodyさん
03/10/22 22:22ID:Lcf1rsdtどうしてもエラー連発してしまいます。
どこが間違っているのでしょうか?
html部分
<FORM METHOD="POST" ACTION="age.cgi">
<p>年齢 :
<select name='age' >
<option selected value="age1">10</option>
<option value="age2">20</option>
<option value="age3">30</option>
<option value="age4">40</option>
<option value="age5">50</option>
</select><p>
CGI部分
$age = $form{'age'};
print "あなたは$age歳です。\n";
0364nobodyさん
03/10/22 22:40ID:???0367nobodyさん
03/10/23 10:32ID:???0368nobodyさん
03/10/26 17:55ID:iatzSYRU\nみたいなコードの類でありそうなんですけど、どうしたら表示できますか?
0370nobodyさん
03/10/26 23:44ID:???0371nobodyさん
03/10/27 18:35ID:Ci3QGJ3v机の上にあるPCを操作しに行くのはめんどいので
鯖立てて携帯をリモコンみたいに使ってるんだけど、
#!/usr/local/bin/perl
system('C:\PROGRA~1\Winamp\winamp.exe "D:\My Documents\My Music\Elliott Smith - xo.zip.mp3"');
sleep(2);
exit;
こんな感じでwinamp起動させて音楽聞こうとすると、
演奏始まるんだけどperl.exeが終了しなくなってしまう。
鯖ソフトのCPU使用率も以上に高くなる。
どうすれば正常に処理できるようになりますか
0373nobodyさん
03/10/27 19:39ID:???のrss generatorをどうしても利用したいんです!
解らないところはredeme.txtに書いてあるコマンドラインオプションにURLリストファイルのパスを指定して起動する
の部分です、CGIの本やらサイトを廻りましたが全然解りません
具体的にどの様にしたら良いのでしょうか?
だれかたすけてーーー!
0375nobodyさん
03/10/27 21:11ID:nTPb/Vhi$title="$log行目です\n";
ダットファイルの$log行目に$titleを入力するにはどうすればよいですか?
0377375
03/10/27 21:52ID:???datファイルの行数を指定して文字列を入れるだけなんです。
0378nobodyさん
03/10/27 22:13ID:???0379375
03/10/27 22:16ID:???.log か .datかなんかのファイルに出力したいのです。
0380nobodyさん
03/10/27 22:23ID:???自作ならわかるだろう
改造なら改造スレに逝けっつーの
0381375
03/10/27 22:29ID:???$logと$titleという変数を受け取って、
ログファイルをつくるっていうかんじなんだけど。
0382375
03/10/27 22:34ID:???質問したのは、過去のバックナンバーをリスト化するための部分。
$log が号数で、$titleが見出しってかんじです。
datの行数=$logにして、そこに$titleを埋め込みたい。
0383nobodyさん
03/10/27 22:36ID:???0384375
03/10/27 22:39ID:???質問しているのは、指定した行数に代入する方法なんですが。
それだけです。
0385nobodyさん
03/10/28 01:30ID:???挿入という操作は単純にはできない
Perlスレ行ったほうがよさげ
0386nobodyさん
03/10/28 21:21ID:CiYQlYZ403875歳の少女をレイプした青年
03/10/29 22:25ID:8cbIE/1/http://datspirits.tripod.co.jp/wall/dat001.jpg
http://datspirits.tripod.co.jp/wall/dat003.jpg
http://datspirits.tripod.co.jp/wall/dat006.jpg
http://datspirits.tripod.co.jp/wall/dat007.jpg
http://www.friend100.com/~yuhko/dat-wall/misono1_1024x768.jpg
http://www.friend100.com/~yuhko/dat-wall/misono15_1024x768.jpg
http://www.friend100.com/~yuhko/dat-wall/misono17_1024x768.jpg
http://www.friend100.com/~yuhko/dat-wall/misono24_1024x768.jpg
http://www.friend100.com/~yuhko/dat-wall/misono25_1024x768.jpg
http://www.friend100.com/~yuhko/dat-wall/dat20_1024x768.jpg
0388nobodyさん
03/10/29 23:00ID:???誰ですか。
0389nobodyさん
03/11/08 17:59ID:913Sl5ejテキストには、n個のデータと名前があります。それを値が、小さいもの順に表示し、値の隣に名前も表示できるようにお願いします。
********テキストファイルの中身(data.txt)*********
17.56 Itirou
12.367 Jirou
1.5697 Saburou
56.23 Shirou
0.35 Gorou
******************
*******画面に出力すると
順位 数値 氏名
1: 0.35 Gorou
2: 1.5697 Saburou
3: 12.367 Jirou
4: 17.56 Itirou
5: 56.23 Shirou
**********************
と表示させたいのです。
また、順位、数値、氏名をTable文で囲って表示したいのです。
よろしくお願いします
0390nobodyさん
03/11/08 18:26ID:???まるち
0391涙
03/11/09 09:28ID:???WEB制作板で質問したら、
WEBProg板にいってきなと言われたので、
きました。
向こうでした質問がこれなんですが・・・。
質問です。
会員制のサイトを作りたいんですが、
パスワードで個人認証して、会員個人のページにとんだ後、特定のバナーをクリックしたり、書き込みをしたらポイントがたまるような形のものを考えているんですが。
なにをどうしたらいいのかわかりません。
808 名前:涙 :03/11/09 07:25 ID:u61ZJqcg
どんなプログラムをつかったらいいのか、教えてください。
で、何がしたいのかというと・・・。
紙芝居ゲームみたいな感じで、その世界の中で通用するお金を
掲示板の書き込みなどで稼いでいくみたいな・・・
お遊びのページを考えていたんですが・・・。
よろしくお願い致します。
0393nobodyさん
03/11/09 17:14ID:9PgQYDNFそうだったのか。
じゃあ、固定のページから出ない様な形で別のページにいったりするのは?
0395nobodyさん
03/11/09 19:02ID:???ショッピングカートのスクリプトを拾ってきて改造が手っ取り早いと思うけど、
(カートに品物じゃなくて、ポイントを入れる。みたいな。)
結構大変かもね。
0396nobodyさん
03/11/10 08:01ID:???ポイントのデータをサーバに保持しておいてそれを加減すればいいのだけれども、
ポイントを加減する場面場面で他のプログラムを調整したりも必要だと思うし、
少なくとも会員制システムを作れる、掲示板ぐらいは自作できるぐらいの知識が
ないとかなり難しいような。
原理自体は簡単だけどね。
0397nobodyさん
03/11/10 10:06ID:QvcHVdDuC言語の場合だと分かるのですが、CGIやPerlでやる場合が分かりません。
お願いします。
0398nobodyさん
03/11/10 10:44ID:???sort の時、比較用の式も指定する
その際、比較用の演算子は数字用の物を使う
@result = sort {$a <=> $b} @list; #こんな感じで
0399nobodyさん
03/11/10 10:53ID:afsYTpOg使ってるServerが、.htaccessが使えないので、CGIなどでパスワード認証かけるしかないですよね?
それとも他に何か方法ありますか?
アニキらの意見聞かせて下さい。
http://www.google.co.jp/
http://pc2.2ch.net/test/read.cgi/hp/1067286961/
0401nobodyさん
03/11/12 21:09ID:???リターンキー押下で“submit”されるのを
防ぐためにはどのようにすればいいのでしょうか?
教えてください。
お願いします。
少しあせっています。
0402nobodyさん
03/11/12 22:33ID:???0403nobodyさん
03/11/12 23:08ID:???0404nobodyさん
03/11/12 23:36ID:???0405nobodyさん
03/11/17 22:48ID:PFLnM0mzHTMLファイルでは、<!--#exec cgi="sort.exe" -->にするとHTMLでは、動きますが、
CGIでは、実行できませんでした。CGいで実行する方法を教えてください。
■ このスレッドは過去ログ倉庫に格納されています