カレッヂ |
質問者 まこと
投稿日 6/26(火) 12:41:14
A=((0.880241-0.00796302*X)*X-17.8692)-0.43429448*LN(0.01933862*P)として、 入力 X=60% P=6mmHgとして、出力T=42.672℃となるCGIを作成する場合、 <html> <head> <title>計算</title> </head> <body> <form method=post action="keisan.cgi"> x= <input seze=5 type=text name="x"> p= <input seze=5 type=text name="p"><br> <br> <input type="submit" name="計算" value="計算"> </form> </body> </html> このように記述し、XとPに数値を入れてボタンを押すとTを出力したいのです。 下記のような記述は間違っているでしょうか? #! c:/usr/local/bin/perl # baitaibusseikeisan.cgi use CGI; print "?x(%)="; $x = <STDIN>; chop($x); print "?p(mmhg)="; $p = <STDIN>; chop($p); $t = 12.5; $mess = sprintf("t=%04.4fc", $t); print "$mess\n"; print "\n"; print "?x(%)="; $x = <STDIN>; chop($x); print "?t(c)="; $t = <STDIN>; chop($t); $mess = sprintf("p=%04.4fmmhg", $p); print "$mess\n"; print "\n"; print "?x(%)="; $x = <STDIN>; chop($x); print "? t(c)="; $t = <STDIN>; chop($t); $h = 6; $mess = sprintf("h=%04.4fkc\/kg", $h); print "$mess\n"; exit; ご指導いただきたくおねがいします。 |
回答者 しあわせのツボ
[削除]
投稿日 6/26(火) 18:47:57
perlでない言語(おそらくC)からの方とお見受けします。 結論から言うと、期待通りの動作はしません。 webのフォームから入力されたものは、STDINに「x=60&p=6」のような形で入ってきます。 はじめにSTDINを読み込み、それをxの値とpの値に分離し、計算した上でHTMLを出力する必要があります。 これはCGIのお約束ごとですので、使用する言語がperl以外でも同じです。 それぞれのルーティンについては、レスキューさんのMinichatあたりが参考になるでしょう。 |
返信(回答)する
Web裏技 |