• 締切済み

[Netscape Communicator 4.7]×[FORMタグ]の組み合わせ続き

karumakarumaの回答

回答No.4

#1です。 別に、POSTからGETにして使ってくださいと 言っているのではなく、GETの場合の引数が ちゃんと出ているかどうかの確認をしてみては? というつもりでした(^^;; 目的としては、引数としてちゃんと渡されているのに 表示がおかしい場合は、PERL側の問題。 引数自体がすでにおかしい場合は、ブラウザ側の 問題という切り分けをして欲しかったのです。 こういうブラウザが変わる事によって起こるバグは ブラウザ自体のバグの場合もあれば、逆に そのブラウザだけが正しい動きをしていて、 他のブラウザが勝手に補足しているだけ という場合もあります。 ですので何が問題なのかというのを完全に切り分ける のが解決の糸口になります。 切り分けた後は、PERLの処理ならば 細かくデバッグ文を入れていったり、 HTMLなら必要最小限のタグだけのページを 作って、そこからちょっとずつ現在の形に近づけて いったり、逆に問題のタグを消してどうなるかなど いろいろ試して行く事が多いです。

TMEspion
質問者

お礼

回答ありがとうございます。 アドバイスの受け取り方を勘違いしていたようで申し訳ないです。 色々試してみたのですが、 一番上の記入欄のデータは、 POSTでも受信はしている事がわかり、 サブルーチンの途中で消えてしまっているようでした。 送信ボタンの方は、 初めから文字列の末尾が欠けた状態で またGETにしてもそうだったのですが、 原因が断定できないためもう少し調べてみようと思います。

TMEspion
質問者

補足

問題を未解決で終わらせたくないので、よろしければ回答、もしくはアドバイスよろしくお願いします。 Perlのプログラムを細かく区切って、各変数にどんな値が代入されているのかを調べていったところ、末尾が欠けたり、VALUE値の消失の二つの問題が read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); の所で発生している事がわかりました。 上記の一文で、$queryの受け取っている「STDIN」の中身が、Netscape Communicator 4.7で受け取った際、行頭に「半角スペース」が入り、行末は「1バイト分」削れた状態で入っていました。 そのため、 $pasu1 = $form{'pasu1'}; では、サブルーチンで代入されているのは「$form{' pasu1'};」で、$pass1に代入しようとしても空っぽなのは当然な事でした。 行末については、 $queryに入れる長さを「$ENV{'CONTENT_LENGTH'}」にしているため、半角スペースが増えた分、行末が削れるという事でした。 ・・・と結果的な原因はわかったのですが、 何故、「半角スペースが行頭に追加される」のかがわかりませんでした。 長さの設定を変更してみたりもしましたが、行末が欠けているのは相変わらずで、STDINの中で既に行末は切れてるようでした。 ・・・ブラウザによるものなんでしょうか? また、解決法はあるんでしょうか?

関連するQ&A

  • PHPでFormリクエスト

    ASPで以下実行したことをPHPで同じことはできるでしょうか? <form action=”Sample.asp” method=”post”> <input type=”text” name=”Name” value=”あ”><br> <input type=”text” name=”Name” value=”い”><br> <input type=”text” name=”Name” value=”う”><br> </form> Request.Form(“Name”)(1)  →あ Request.Form(“Name”)(2)  →い Request.Form(“Name”)(3)  →う

    • ベストアンサー
    • PHP
  • 5個のFormタグを1つのFormタグでまとめたい

    <form method="POST" action="jan_Edit.asp" id=form2 name=form2> <input type="hidden" name="a" Value =<% = YY1 %> > ~</form> <form method="POST" action="jan_Edit.asp"> <input type="submit" value="This Month"> </form> <form method="POST" action="jan_Edit.asp" id=form2 name=form2> <input type="hidden" name="a" Value =<% = YY2 %> >~</form> 現在、カレンダーを作成しています。上記(3つしか乗せてませんが同じ内容) 変数は YY1=1年前の月初 MM1=1か月前の月初 MM2=1ヶ月後の月初 YY2=1年後の月初で インプットタイプでサブミットを使用しています。端的にいうと、現在Formを5個使って月次、年次でカレンダーを作ってます しかし、Formがこれだけ並んでたら、かっこ悪いので1つのForm文でまとめれたらと 思ってますがなかなかグーグル先生でもみつかりません。 Formを一つにまとめれたらと思いますが、どなたか知恵をおかしください。

    • ベストアンサー
    • HTML
  • formタグのactionについて

    PHPを勉強している初心者ですが、 HTMLでつまづいています。 formタグのactionでは通常、送信先のファイルを指定すると思いますが、 action="?"と記載されています。 この場合どのような動きになるのでしょうか。 <form action="?" method="POST"> <img src="image.php?time=<?=$time?>&key=<?=$key?>"> <br> 画像の文字列:<input type=text name=image_key></td> <br> <br> <input type=hidden name=time value="<?=$time?>"> <input type=hidden name=key value="<?=$key?>"> <input type=submit value="ログイン"> <br> <hr> copyright(C) <a href="http://php.to/">http://php.to/</a> </form>

    • ベストアンサー
    • HTML
  • formタグ

    HTMLで、formを使用し、CGIへテキストエリアのデータをpostしたいと 考えております。 テキストエリアを3つ、ボタンを1つ設けるならば 通常以下のようにすると思います。(必要部分の抜粋) <form action="foo1.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行"> </form> こうすると、実行ボタンをクリックすると、text1、text2、text3のテキストエリアに 記述されているテキストが送信されますが、ここにボタンをもう一つ設け、 上記3つのデータを別のCGIに送信したいのですが、 この場合どのようにHTMLを記述したらよいでしょうか? 新たに下記のようにformタグを設けると、テキストエリアは6つになってしまいますし。。。 <form action="foo2.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行2"> </form> どなたか分かる方情報頂けますか。

    • ベストアンサー
    • HTML
  • FORMタグについて教えてください

    HPへの訪問者からメッセージを送ってもらおうと以下のHTMLを挿入して みたのですが、うまく行きません。名前を入力して、送信ボタンを押す とメールソフトは起動するのですが、メールの中身は空っぽです。私の 環境はWinXP+IE6.0+Beckey2.0です。HTMLの問題でしょうか?それとも、 環境(ブラウザーとメールソフトの相性の問題?)のせいでしょうか? <FORM ACTION="mailto:私のメルアド" METHOD="POST"> お名前<BR> <INPUT type="text" size="39" name="namae"> <BR> <INPUT type="submit" name="送信ボタン" value="送信ボタン"><BR> </FORM> よろしくお願いします。

  • 2つのFormタグの動作について

    同じページに2つのFormタグを設置したいと考えています。ページが長いため、上部と下部それぞれにFormタグを設置したいと考えています。 <form name="upForm" action="xxx.cgi" method="post"> <input type="text" name="name1"> <input type="submit" value="送信"> </form> --------------- 他の処理 --------------- --------------- 他の処理 --------------- --------------- 他の処理 --------------- <form name="downForm" action="xxx.cgi" method="post"> <input type="text" name="name1"> <input type="submit" value="送信"> </form> 下のFormの送信ボタンを押すと、上のFormが動作しているようで、下のFormの入力値が反映されません。それぞれのFormをそれぞれの送信ボタンで動作させる方法につきまして、ご存知の方がいましたらぜひ教えていただきたいと思います。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • <form>タグに2つのボタン

    <form>タグで2つのボタンを表示させ、以下のようにそれぞれのボタンで フィールドに別の値を入れて送信させることはできますでしょうか? できればHTMLで、できなければJavaScriptでできますでしょうか? ・button1を押したときは  フィールド「CASE」に1を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="1"> ・button2を押したときは  フィールド「CASE」に2を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="2"> ===== HTML ====================== <form action="test.cgi" method="post"> <input type="text" name="text1"> <input type="submit" value="button1"> <input type="submit" value="button2"> </form> 宜しくお願いします。

    • ベストアンサー
    • HTML
  • tableタグとformタグの組み合わせ

    tableタグとformタグの組み合わせでどのように記述すれば、構文上正しいのでしょうか? 私は下のパターンで書いておりますが、間違いでしたら早めに改めたいので お聞きしました。 <table> <form> <input type="hidden" name="a" value="1"> <tr> <td> <input type="text" name="b" value=""> </td> </tr> <tr> <td> <input type="submit" value="OK" value=""> </td> </tr> </fomr> </table>

    • ベストアンサー
    • HTML
  • FORMタグのテキストの中身に始めから値を入れることはできますか?

    <FORM ACTION="./cgi-bin/regist.cgi" METHOD=POST> <INPUT TYPE=TEXT NAME="USR" SIZE=20><BR> <INPUT TYPE=SUBMIT VALUE="xxxx"><BR> </FORM> このUSRのテキストエリアの中身に始めから、文章をいれておきたいのですが、可能でしょうか? もし可能であれば、ソースの提供をどなたか宜しくお願い致します。

    • ベストアンサー
    • HTML
  • ハッシュの要素を別ファイルに渡すことができますか

    perlで次のようなプログラムがあります。 sub { 中略 $USERS{$xy}       #$xyは変数  中略 } <form name="user" action="$ENV{'SCRIPT_NAME" method="POST"> ユーザー名:<input type="text" name="username"><br> パスワード:<input type="password" name="pass" value=""><br> <input type="submit" value="ログイン"> ------------- このとき$USERS{$xy} の要素を別ファイルに渡すことができますか。可能ならばどのようにすればよいでしょうか

    • ベストアンサー
    • Perl