トップページ⇒php
995コメント334KB

CGIとかPerlとか超初心者なんだけど、

■ このスレッドは過去ログ倉庫に格納されています
0001埼玉板"管理人"2001/07/20(金) 17:36ID:???
てか何もわかってない厨房なんだけど、掲示板を自鯖へ移転する必要性
が非常に高くなってきたのです。
http://green.jbbs.net/travel/511/saitama.html

ス連でも相談にのってもらってるんだけど、ここでも相談したい。
とりあえずFTPって何?どういうふうに使うの?
0347nobodyさん03/10/19 00:10ID:XYzjX5Dg
「初めてでもできるPerl CGI 即効サンプルブック」
という本を参考に練習しているのですが
この本のとおりに記入してもInternal Server Errorが出てしまいます

エラーメッセージを見ると「「<>」が解釈できない」みたいなことを
言われるのですが

open(FH,"+<passwd.txt")
|| open(FH,"+>passwd.txt");

という記述は間違っているのでしょうか?
0348nobodyさん03/10/19 03:26ID:???
>>347
間違ってる。open の書式をよく調べれ
カンマの有無もな
0349nobodyさん03/10/19 15:27ID:???
>>347
書式として合っている。おそらく意味合いも合ってる。
perlなんだから、それだけ書いて動かしてみればいいじゃん。

問題は他の行でダブルクォートを閉じ忘れたか、そんな所かな?
035034703/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の設置の説明にありました。

色々調べてみたのですが見つからないし、まだ初心者なので
良くわからないのです。

お手数掛けますがよろしければ何方か教えてください。
0353nobodyさん03/10/21 01:14ID:???
>>352
ほとんど無理だと思ってそれを使わない方法でやれ
0354nobodyさん03/10/21 06:23ID:???
>>352
初心者は初心者板へ。
0355nobodyさん03/10/21 15:43ID:???
>>352
作るまでもなく、既に存在していると思われ。
0356nobodyさん03/10/21 20:07ID:???
>>350
やはりどこかで、ダブルクォートの閉じ忘れがある気がする。
その行には問題ないし。
キーワードを色分けしてくれたり、文字リテラルや、全角スペースを
目立たせてくれるエディタを使ったほうがいいね。

>>351
キャラクタコードがShift_JISなら、
「ー」は\x81\x5Bだから、1バイト目が\x83じゃないし、
2バイト目の\x5b([)も影響を与えないから、この場合は何の問題もないよ。

>>352
ユーザー認証でググる。
035734703/10/22 00:47ID:???
>>356
おっしゃるとおりでした・・・
紙に印刷して確認したとき(レス347時)は
ダブルクォートが存在していた部分が
改めて印刷して確認して見ると削除されてました。
その部分を修正したらサンプルも動作するようになりました。
当方がエラーメッセージのline○○という言葉に
固執しすぎた事と、単純な盆ミスからの失敗だったと反省しております。

>キーワードを色分けしてくれたり、文字リテラルや、全角スペースを
>目立たせてくれるエディタを使ったほうがいいね。
これを期にxyzzyというエディタを導入しました。

どうもお騒がせしました
0358nobodyさん03/10/22 12:24ID:HdqZi3aE
質問なのですが、特定のURLをスクリーンキャプチャしてくれるCGIってないでしょうか?
昔、gooの検索結果がそんな感じになってましたよね。
0359nobodyさん03/10/22 12:37ID:???
表示してPrintScreenじゃダメなのか
0360nobodyさん03/10/22 13:20ID:HdqZi3aE
>>359
大量に定期的にやる必要があるのでできればCGIで自動的にやってほしいのです。
0361nobodyさん03/10/22 13:53ID:???
自分でレンダリングするプログラムを作ればいいだけ
がんばれよ
0362nobodyさん03/10/22 18:29ID:???
なぜCGIでやる必要があるのだろう。
んなもん藻前のPCで処理すれ。
0363nobodyさん03/10/22 22:22ID:Lcf1rsdt
selectタグを使って、選んだ項目をCGIとして表示したいのですが、
どうしてもエラー連発してしまいます。

どこが間違っているのでしょうか?

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:???
関係ないが10だけが全角なのが気になりますた。
0365nobodyさん03/10/22 23:33ID:???
>>363
>>306
0366nobodyさん03/10/23 09:31ID:???
>>363
あんたは一体何を参考にしてそのコードを書いたんだ。
0367nobodyさん03/10/23 10:32ID:???
あなたはage3歳です。
0368nobodyさん03/10/26 17:55ID:iatzSYRU
CGI中でメールアドレスを表示させたいんですけど、@を配列と認識して表示できません。
\nみたいなコードの類でありそうなんですけど、どうしたら表示できますか?
0369nobodyさん03/10/26 17:58ID:???
>>368
\@
0370nobodyさん03/10/26 23:44ID:???
&#64でよかんべ
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使用率も以上に高くなる。
どうすれば正常に処理できるようになりますか
0372nobodyさん03/10/27 18:47ID:???
>>371
systemは子プロセスの処理が終わるのを待つから当然。
execを使えばいい。
0373nobodyさん03/10/27 19:39ID:???
parlはぶっちゃけ未経験ですがhttp://www2u.biglobe.ne.jp/%7Ekyo-n/rss/index.html#perlscript
のrss generatorをどうしても利用したいんです!
解らないところはredeme.txtに書いてあるコマンドラインオプションにURLリストファイルのパスを指定して起動する
の部分です、CGIの本やらサイトを廻りましたが全然解りません
具体的にどの様にしたら良いのでしょうか?
だれかたすけてーーー!
0374nobodyさん03/10/27 19:57ID:???
>>373
リストファイルを作っておいてスクリプトのコマンドラインの引数に
指定するってことだろ
0375nobodyさん03/10/27 21:11ID:nTPb/Vhi
$log =100;
$title="$log行目です\n";

ダットファイルの$log行目に$titleを入力するにはどうすればよいですか?
0376nobodyさん03/10/27 21:28ID:???
>>375
それで答えが得られると思うのか?
037737503/10/27 21:52ID:???
そこをなんとか、、
datファイルの行数を指定して文字列を入れるだけなんです。
0378nobodyさん03/10/27 22:13ID:???
datファイルとかなんとか言ってるけど、何の話してるわけ?
037937503/10/27 22:16ID:???
外部ファイルです。
.log か .datかなんかのファイルに出力したいのです。
0380nobodyさん03/10/27 22:23ID:???
だからよ、何のスクリプトの話をしてるんだって聞いてんの!
自作ならわかるだろう
改造なら改造スレに逝けっつーの
038137503/10/27 22:29ID:???
簡単なサブルーチンを作ってます。
$logと$titleという変数を受け取って、
ログファイルをつくるっていうかんじなんだけど。
038237503/10/27 22:34ID:???
つくっているのは、HTML生成できるWEBコンテンツ更新ツールで、
質問したのは、過去のバックナンバーをリスト化するための部分。
$log が号数で、$titleが見出しってかんじです。
datの行数=$logにして、そこに$titleを埋め込みたい。
0383nobodyさん03/10/27 22:36ID:???
じゃあ使っている言語のスレに行ってソース晒して聞け
038437503/10/27 22:39ID:???
perlなのだけど、ここじゃダメですか?
質問しているのは、指定した行数に代入する方法なんですが。
それだけです。
0385nobodyさん03/10/28 01:30ID:???
ファイルは行単位、レコード単位で管理してるわけじゃないので
挿入という操作は単純にはできない
Perlスレ行ったほうがよさげ
0386nobodyさん03/10/28 21:21ID:CiYQlYZ4
イエーイ!!チンタマ!( ゚v^ )みんな元気!?
03875歳の少女をレイプした青年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:???
>387
誰ですか。
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
どんなプログラムをつかったらいいのか、教えてください。


で、何がしたいのかというと・・・。

紙芝居ゲームみたいな感じで、その世界の中で通用するお金を
掲示板の書き込みなどで稼いでいくみたいな・・・
お遊びのページを考えていたんですが・・・。

よろしくお願い致します。
0392 03/11/09 10:04ID:???
パスワードで個人認証して、会員個人のページにとんだ後、特定のバナーをクリックしたり、書き込みをしたらポイントがたまるような形のスクリプトを書けばいいだろ。
0393nobodyさん03/11/09 17:14ID:9PgQYDNF
なるほど
そうだったのか。
じゃあ、固定のページから出ない様な形で別のページにいったりするのは?
0394 03/11/09 18:11ID:???
きちんと投票行けよ。
0395nobodyさん03/11/09 19:02ID:???
>>391
ショッピングカートのスクリプトを拾ってきて改造が手っ取り早いと思うけど、
(カートに品物じゃなくて、ポイントを入れる。みたいな。)
結構大変かもね。
0396nobodyさん03/11/10 08:01ID:???
>>391
ポイントのデータをサーバに保持しておいてそれを加減すればいいのだけれども、
ポイントを加減する場面場面で他のプログラムを調整したりも必要だと思うし、
少なくとも会員制システムを作れる、掲示板ぐらいは自作できるぐらいの知識が
ないとかなり難しいような。
原理自体は簡単だけどね。
0397nobodyさん03/11/10 10:06ID:QvcHVdDu
CGIとPerlで、テキストファイルを読み込んで、数値が小さいもの順にソートするプログラムを教えてください。
C言語の場合だと分かるのですが、CGIやPerlでやる場合が分かりません。
お願いします。
0398nobodyさん03/11/10 10:44ID:???
>>397
sort の時、比較用の式も指定する
その際、比較用の演算子は数字用の物を使う

@result = sort {$a <=> $b} @list; #こんな感じで
0399nobodyさん03/11/10 10:53ID:afsYTpOg
携帯でサイトにアクセスした時に、パスワードを入力しないと入れないようにしたいのでつが、CGIとかで、そういうスクリプトをフリーで配ってるサイト知ってまつか?
使ってるServerが、.htaccessが使えないので、CGIなどでパスワード認証かけるしかないですよね?
それとも他に何か方法ありますか?
アニキらの意見聞かせて下さい。
0400 03/11/10 13:38ID:???
俺らは検索代行じゃないっつーの。
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:PFLnM0mz
C言語で作った実行ファイル(.exe)をCGIで実行するには、どのようにしたらよいのでしょうか?
HTMLファイルでは、<!--#exec cgi="sort.exe" -->にするとHTMLでは、動きますが、
CGIでは、実行できませんでした。CGいで実行する方法を教えてください。
0406nobodyさん03/11/17 23:08ID:???
>>405
CGIの中でsystemかexec使えばいいでしょ
0407nobodyさん03/11/17 23:56ID:???
http://server/xxx.EXE と直接書くとかリンク作るとか
0408nobodyさん03/11/18 00:13ID:???
>>405
一番お手軽なのは、hoge.exeをhoge.cgiにリネーム。
0409nobodyさん03/11/18 00:28ID:???
>>405
AddHandler .exe
041040503/11/18 03:05ID:a5Aa4M/T
>>406
>CGIの中でsystemかexec使えばいいでしょ

どのようにやるのでしょうか?
やり方(プログラム)を教えてください。
0411nobodyさん03/11/18 03:53ID:???
自分で調べろ。
0412nobodyさん03/11/25 19:39ID:0PsaEdAn
WindowsにインストールしたActivePerlでPerl.exeではなくPerlIS.dllを使って
cgiを実行した場合、cgiとして機能しないファイル(ただテキストファイルとか)の
拡張子を.cgiにして、IEからhttp://localhost/test.cgiと指定して実行すると、
'c:\Webtest\test.cgi' script produced no output
のように出ます。この出力を出さないようにする方法はあるのでしょうか?

希に、正常に動くCGIでもこの「script produced no output」がでることがある
のですが、cgiを置いてあるドライブ名、ディレクトリ名が出てしまうのを
押さえたいのです。

Perl.exeを使えばInternal Sever Errorなどの表示だけでドライブ名やディレクトリ名
が出ることはありませんが、動作が重くなるので、できればPerlIS.dllを使えれば
いいなと思います。

意図しない状況でドライブ名やディレクトリ名がでるとあまり気持ちよく
ありません。
エラーが出た場合もドライブ名とディレクトリ名を出さないようにする対策を
ご存じの方いらっしゃいますか?。
PerlIS.dllのバージョンは5.6.1.633です。
0413あらスィー03/11/25 20:18ID:???
>>405
自分はIIS5.1なんすが、最初からexeファイルをcgiにすることができますたYO〜、、、
0414nobodyさん03/11/25 23:44ID:???
>>412
自宅鯖板のIISスレへどうぞ
0415nobodyさん03/11/27 00:10ID:???
<form action="anketo.cgi" method="post" enctype="text/plain">
〜
</form>
という流れでアンケートページanketo.htmlで
選択されたradioの内容をファイルに保存しようと考えております

作成した送信ボタンをクリックすると
「ありがとうございました」という内容のHPを表示して終了しようと
考えておりましたが、<h2>〜</h2>で囲まれたところしか表示されず
その他のソースがその前後に表示されてしまい、
ファイルanketo.txtにも保存されません

このような場合どういった原因が考えられるでしょうか?
041641503/11/27 00:26ID:???
自己レス
127.0.0.1から実行していなかったのが原因だったみたいです
0417nobodyさん03/11/27 00:39ID:???
とりあえず、変数名やファイル名使うときは辞書ひこうぜ
仕事でこういう命名してるとなめられるぞ
0418nobodyさん03/11/27 01:52ID:???
すみませんが教えて下さい。
ブラウザ情報からIEの訪問者だけをアクセス可にしたいので、
他のブラウザを弾きたい場合はどのような処理にすれば良いのでしょうか?
分り難くて申し訳ありませんが、何卒ご教授下さいませ。
0419nobodyさん03/11/27 02:01ID:???
>>418
.htaccessが使えるなら簡単だけど

.htaccess質問コーナー
http://pc2.2ch.net/test/read.cgi/hp/1065608009/
0420nobodyさん03/11/27 08:42ID:???
ユーザー登録という形でデータをtxtファイルに保存したいのですが
入力された内容と同時にその時間などを記録するにはどうすればいいのでしょうか?
0421nobodyさん03/11/27 09:37ID:???
time
0422nobodyさん03/11/29 00:07ID:???
複数に渡るアンケートHPページで
その回答を一箇所に保存するとき、
回答者を見分ける方法にはどんな方法が考えられますか?
0423nobodyさん03/11/30 03:32ID:???
>>414
ども。
いってきます。
0424nobodyさん03/12/01 08:28ID:???
申し訳ありませんが質問させてください

cgiの文章の中に<a href>〜</a>を入れる事は不可能なのでしょうか?
また、cgi文章の中にJavascriptを挿入することは不可能なのでしょうか?
0425nobodyさん03/12/01 08:37ID:???
>>424
cgiの文章というのがcgiが吐き出すhtmlなどのことならどちらもできる
042642403/12/01 09:04ID:???
説明不足で申し訳ありませんでした

a.html(Javascript)でname="○○"、value="○○"の値を
b.cgiでtxtファイルに保存するという文章なのですが
b.cgiからc.htmlへ移動する方法が分からず、今回質問させていただきました

b.cgiでprint "<a href>〜</a>"と記述したところ
a.htmlからb.cgiへ移動した段階でエラーが出てしまいました
このような記述では問題なのでしょうか?

042742403/12/01 11:09ID:???
自己レス
上記の問題はprint "<a href=\"c.html\">sage</a>";と記述することで
解決することができました。

ですが未だにJavascriptを組み込む方法が分かりません
質問してばかりで申し訳ありませんが御指導御鞭撻のほど
なにとぞお願いいたします
0428nobodyさん03/12/01 14:15ID:???
b.cgiからc.htmlへ移動する方法 → b.cgiからLocationでc.htmlへとばす

a.html(Javascript)でname="○○"、value="○○"の値をb.cgiへ →
フォームなのかもわからないし、Web制作板のJavaScriptスレで
ソースを出して聞いたほうがいい
042942403/12/02 02:14ID:???
>428

説明不足でした
上記はフォームです

もっと勉強して出直してきます
ありがとうございました
0430nobodyさん03/12/08 18:58ID:cW+yaIVp
@arrayの中のデータを$array_data[0]
の中にいれて2次元配列を使いたいのですが
やり方ってどのようにすればよいのでしょうか?

$array_data[$file_loop]=@array;
ではうまいことできませんでした。
0431 ◆CGIpLX24lA 03/12/08 19:07ID:???
いっぺんしね
0432 ◆PHPsQWDC3Y 03/12/08 19:10ID:???
ほんとしね
0433nobodyさん03/12/08 19:22ID:???
>>430
perlだよな?
$array_data[$file_loop] = [ @array ];
0434nobodyさん03/12/10 00:16ID:???
perlでフォルダ内のファイル名を全て取得するにはどうすればいいですか?
また新規にファイルを作るのはファイル書き込みのやり方でいいんですか?
教えてください
0435nobodyさん03/12/10 04:05ID:???
まずはぐぐってください
0436nobodyさん03/12/10 06:16ID:???
はぐぐぅ はぐぐぅ
043743403/12/11 06:51ID:???
googleでcgi.フォルダ内のファイルと検索してもだめでした。
とほほ氏のHPにもかかれてなかったです
お願いなので教えてください
0438nobodyさん03/12/11 09:49ID:???
>>437
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=perl+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA+%E4%B8%80%E8%A6%A7+%E5%87%BA%E5%8A%9B&lr=
0439nobodyさん03/12/11 11:21ID:???
一人とほほなやつがいるな
0440nobodyさん03/12/11 16:26ID:???
>>437
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&q=perl+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA+%E4%B8%80%E8%A6%A7+%E5%87%BA%E5%8A%9B+%E3%81%A8%E3%81%BB%E3%81%BB&lr=
0441nobodyさん03/12/11 16:27ID:???
ま、
> perlでフォルダ内
と書いた時点で失格なわけだが
0442nobodyさん03/12/11 17:06ID:???
ここはネタスレだからOK牧場!
0443nobodyさん03/12/11 20:31ID:???
糞見ずらいJSPソースの可読性をぐぐーんとあげる裏技をおしえてちょうだい。
0444nobodyさん03/12/11 20:37ID:???
糞な脳を改造
0445nobodyさん03/12/11 22:12ID:3a96zagy
スレタイがスレタイだから文句は言えないが・・・。
怖いくらいに初心者すぎる・・・。
FTP知らなくてどうやってサーバー移行するんだろう。。。
いちいちフロッピーでかな?
0446nobodyさん03/12/11 22:25ID:???
tar して gzip して cgi でダウンロードして移行
0447nobodyさん03/12/11 22:56ID:???
$i++;
■ このスレッドは過去ログ倉庫に格納されています