• ベストアンサー

HTMLからCGIへデータを引き継ぎ

HTMLでメールフォームを作りCGI(Perl)で次のプログラムを作りました。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "$mail\n"; print "$namae\n"; print "$naiyou\n"; 動作確認のためプログラムは少しにしました。何も表示されません。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

Perlは汎用のプログラミング言語で、CGIに特化したものではありません。 そのため、PHPのように「フォームで入力された情報が勝手に変数に入る」ということはありません。 明示的に情報を取り込む必要があります。 ・自前でデータ取り込みプログラムを作る ・CGIモジュール等の既存の物を使う よほど古いPerlとかで無い限り、CGIモジュールを使うのがよいでしょう。 「CGI.pm」で検索すれば、解説サイトが見つかります。

andou220
質問者

お礼

参考になりました。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

$mail,$namae、$naiyou には何か入ってるのですか?? Content-type: text/html なら、その後にHTMLが送られてこないとならない。 HTMLは、最低限<body></body>で囲まれた内容がないとならない。 #!/usr/local/bin/perl $mail='ここはタイトル'; $namae = '<dl>\n<dt>名前が入る</dt>'; $naiyou = '<dd>ここには本文</dd>\n</dl>'; print "Content-type: text/html\n\n"; print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n"; print "<html lang=\"ja\">\n"; print "<head>\n"; print "<meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\">\n"; print "<title>$mail</title>\n</head>\n"; print "<body>\n"; print "<h1>$mail</h1>\n"; print "$namae\n"; print "$naiyou\n"; print "</body>\n</html>\n"; __END__ とか・・

andou220
質問者

補足

データ読み込みの方法が知りたい。

関連するQ&A