-PR-
  • すぐに回答を!
  • 質問No.7449935
解決
済み

cgiでのデータ受信

  • 閲覧数124
  • ありがとう数4
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 64% (37/57)

すみません、これで最後にします・・・
http://okwave.jp/qa/q7445617.html

結局getによるデータ受信の方もできませんでした。

やはりPOSTに戻ってやってみると、$ENV{'CONTENT_LENGTH'}の値は入っています。

文字の長さが入っているということは、文字列が入っているだろうということなので、

後は文字を読み込むだけのはずです。
となると
read(STDIN, $alldata, $ENV{'CONTENT_LENGTH'});
このコードが間違っているのでしょうか?
通報する
  • 回答数1

質問者が選んだベストアンサー

  • 回答No.1
レベル10

ベストアンサー率 66% (101/151)

すごい原理的な仕組みを使って、CGIのパラメータを取得しようとしているみたいですけど、CGI.pmくらいは使いましょう。(cgi-lib.plじゃなくて)

CGI.pmなどのモジュールを使わずPOSTが動いているのを確認したいだけなら、つぎのコードで確認できます。表示がくずれるので、空白2文字を全角空白にしていることに注意。

--- foo.html
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <title>TEST</title>
 </head>
 <body>
  <form method="POST" name="hoge" action="foo.cgi">
   <div>TEXT DATA: <input type="text" name="NAME"></div>
   <input type="submit" value="SEND">
  </form>
 </body>
</html>

--- foo.cgi
#!/usr/bin/perl

print "Content-type: text/plain; charset=utf-8\n\n";
read STDIN, $data, $ENV{'CONTENT_LENGTH'};
print "$data";
お礼コメント
kmwrod

お礼率 64% (37/57)

返信ありがとうございます。
今からCGI.pmを学習するのは大変ですが、やってみます。
おすすめのサイトとかありますでしょうか?
投稿日時 - 2012-05-01 11:31:29
-PR-
-PR-
  • 回答数1
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ