• ベストアンサー

フォームの記述

使用環境 : IBM HPB V7 Windows XP Home Edition IE6 SOTEC WJ4160C4 自社HPのお問い合わせフォームに以下の3つのコマンドを入れようとしています。 <input type=hidden name="remote_host" value="Client's ISP"> <input type=hidden name="remote_addr" value="Client's IP address"> <input type=hidden name="remote_user" value="Client's User Name"> 実際に挿入し、自分で試しましたが他のデータは 上手く返って来ますが、上の3つは上手く作動しません。 HPB 7でHPを作成していますが、HPB 7を使って上記3つ のコマンドを挿入する方法は分かりませんので、HTML ソースに書き込んでいます。文法が間違っているのだと思います。 正しく作動する記述お教えお願いします。 又、CGIスクリプトの書き方、HTML、JavaScriptなど、 HP作成にお勧めの本がありましたら教えて下さい。

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

  • ベストアンサー
  • yomo3
  • ベストアンサー率32% (88/269)
回答No.10

ごめんなさい。降参です。 remote_hostなどは、3つとも「環境変数」といって、CookieファイルというHTML上からアクセスできる唯一のローカル資源を介して授受される、ローカルマシン(ホームページを見ているPC)に含まれるものです。 FORM内の記述は(おわかりとは思いますが)、CGIにデータを渡して所定の動作(ここではメールを送る)をさせるためのものです。 それで、問題の3行は、それぞれ「環境変数~~の中身をメールで送れ」という指示を与えるのが仕事なので、Value="~~"は不要なはずなのです。 ただ、CGIがその指示をどうやって受け取るのかは、CGIの仕様によるので、どこかに説明があるはずですが、私には見つけられませんでした。 そもそも、Hiddenで渡すのかどうかもよくわかりませんでした。 この辺りの問題だと思うのですが…… 申し訳ありません。

yoshikinz
質問者

お礼

yomo3さん、 本当に真剣に色々考えてくれて、 ありがとうございました。 私なりにもう少し、暗中模索で回答を探して、 何か分かったら報告します。

その他の回答 (12)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.13

これってコマンドが Env_report で、パラメータに Remote_host や Remote_addr を指定するんじゃないでしょうか? <input type="hidden" name="Env_report" value="Remote_host,Remote_addr"> まったく自信なしですが。。。

yoshikinz
質問者

お礼

leaz024さん、 返信ありがとうございました。早速やってみましたが、残念ながら又、不発に終わりました。 結果のコピーの一部です。 Below is the result of your feedback form. It was submitted by (goo@oshiete.co.jp) on Wednesday, July 2, 2003 at 17:23:22 --------------------------------------------------------------------------- Env_report: Remote_host,Remote_addr,Remote_user charge plan: Standard Plan ------以下省略--------

  • kenwood
  • ベストアンサー率27% (3/11)
回答No.12

この3行に置き換えてみたらどうなります? <input type=hidden name="Env_report" value="Env_report"> <input type=hidden name="Remote_host" value="Remote_host"> <input type=hidden name="Remote_addr" value="Remote_addr">

yoshikinz
質問者

お礼

kenwoodさん、返信ありがとうございました。 早速試してみましたが、残念ながらまた駄目でした。 以下が結果です: Below is the result of your feedback form. It was submitted by (xxx@hotmail.com) on Saturday, June 28, 2003 at 19:35:46 --------------------------------------------------------------------------- Env_report: Env_report Remote_host: Remote_host Remote_addr: Remote_addr charge plan: Standard Plan surname: Smith givenname: John address: Sesame Street ------- 以下省略 -------- 又、何か気づいた事がありましたら宜しくお願いします。

  • feininger
  • ベストアンサー率41% (74/180)
回答No.11

サイトを覗いたらPrint_configなるものがありましたよ。 こんなの↓をフォーム内に追加してみるとどうなります? <input type=hidden name="print_config" value="email,subject,remote_addr">

yoshikinz
質問者

お礼

feiningerさん、 返信ありがとうございました。 何か今度こそはいけそうと思い、期待してやりました。 しかし、残念ながら例の懸案の3つのコマンドに対する データは返されませんでした。 今夜は、ひとまず ここまでにしておきます。 又、何か ありましたら教えてくて下さい。 おやすみなさい

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.9

あんまり英語得意じゃないし、翻訳エンジン積んでないのでわからないのだけれど、value="Client's ISP"とかなのはなぜでしょう。何処かに書いてあったんですか? 「value="Client's ISP"」をとってしまったらどうかな、と思ってやってみようとしたら、これってユーザー登録かなんか必要なのでしょう?はじかれてしまったのでできませんでした。 もし、value="Client's ISP"とか、値を指定されていないなら、取ってしまってからやってみてくれませんか?

yoshikinz
質問者

お礼

yomoさん、すみません、言葉不足でした。 全部と言うのは、例の懸案の3つのコマンド全部 という意味です。 その他の項目は全部正常に作動しています。 それは以前と同じです。

yoshikinz
質問者

補足

yomoさん、何度もすみません。 value値を全部削除してやりました。 やはり駄目でした。 全く、データが返されませんでした。

  • kosa
  • ベストアンサー率25% (379/1464)
回答No.8

ものすごく基本的なことですが <input type=hidden name="remote_host" value="Client's ISP"> <input type=hidden name="remote_addr" value="Client's IP address"> <input type=hidden name="remote_user" value="Client's User Name"> は<form>~</form>の中に記述されていますか?

yoshikinz
質問者

補足

kosaさん、何度も返信ありがとうございます。 前回あなたへの補足説明にありますように <form> ~ </form>内に記述しています。

  • feininger
  • ベストアンサー率41% (74/180)
回答No.7

3つともPerlで使われている環境変数ですね。(大文字小文字の違いはありますが) remote_host remote_addr remote_user ISPが指定してきたのではなく、 自分で命名したというのであれば変更してみてはどうでしょうか? あと、yamo3さんもご指摘されていますが、 「上手く作動しません」とはどんな感じになるのですか?

yoshikinz
質問者

補足

feiningerさん、返信ありがとうございます。 まず、懸案の3つのコマンドはISPが使用を認めています。そして、それぞれ以下のような機能を有しています。 remote_host:フォーム送信者のISPが分かります。 remote_addr:送信者のISPのIPアドレスが分かります。 remote_user:送信者のユーザー名が分かります(条件付ですが) そして、私が実際試した結果を貼り付けます。 勿論内容は全て、実在しません。 Below is the result of your feedback form. It was submitted by (goo@oshiete.co.jp) on Saturday, June 28, 2003 at 00:41:37 --------------------------------------------------------------------------- remote_host: ISP ← 上手く機能していません。 remote_addr: IPaddress ← 上手く機能していません。 remote_user: UserName ← 上手く機能していません。 charge plan: Standard Plan surname: Smith givenname: John address: Auckland phone: 09-123-4567 price: $500,000 location: Auckland type: House house area: 300m2 land: 700m2 storey: 2 bed rooms: 3 other rooms: 1 lounge features: flat chattels: stove garage: car port land details: freehold rates: $1,000

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.6

ちよつとまつてください。 3行追加でどのような機能を期待していて、どのような結果になつているのですか? >私は、CGIスクリプトを全く書けません。 >その知識はゼロです。CGIはISPが提供しています。 ISPの制限とかないのですか?

yoshikinz
質問者

お礼

yomo3さん、返信ありがとうございます。 ISPの制限はあります。 但し、私は全てその制限内でフォームを作りました。 懸案の3つのコマンドもISPで使用可になってます。 因みにそのISPが当件に関して述べているHPの部分 はこのURLに出ています。 http://www.xtra.co.nz/products/0,,5901,00.html 次の補足説明で何を期待しているのか、 どのような結果になっているかを貼り付けます。

  • kosa
  • ベストアンサー率25% (379/1464)
回答No.5

う~ん あとはなんだろうなぁ~ name="remote_host" 変数名のアンダーバーが怪しい?とか?w 他のデータはいけてるんですよね? いけてる奴にもアンダーバー付いてる?

yoshikinz
質問者

補足

kosaさん、返信ありがとうございます。 ここにいけてる奴も含めたソースの概略貼り付けます。一部"xxx"になったり省略しても居ますが、 お分かりいただけると思います。 他にもアンダーバー付いているコマンドありますが、 機能しています。 <form name=form method=POST action="http://home.xtra.co.nz/cgi-bin/FormMail.pl"> <p> <input type=hidden name="recipient" value="xxx@xxx.co.nz"> <input type=hidden name="subject" value="Form Mailer"> <input type=hidden name="required" value="surname,givenname,address,phone,email,phone,price,location,type,house area,land,storey,bed rooms,other rooms,features,chattels,garage,land details,rates"> <input type="hidden" name="remote_host" value="ISP"> <input type=hidden name="remote_addr" value="IPaddress"> <input type=hidden name="remote_user" value="UserName"> <DIV align="center"> <table border=0> <tr> <th colspan=2><input type=radio name="charge plan" value="Standard Plan" Checked> Standard Plan ($168.<SUP>75</SUP>) <input type=radio name="charge plan" value="Photo Plan"> Photo Plan ($191.<SUP>25</SUP>) <br> </th> </tr> <tr> <th colspan=2><FONT size="+2">Your personal details</FONT><br> </th> </tr> <tr> <th align="left"><FONT color="#ff0000">*</FONT>Surname:</th> <td><input type=text name="surname" size=30></td> </tr> <tr> <th align="left"><FONT color="#ff0000">*</FONT>Given Name:</th> <td><input type=text name="givenname" size=30><br> </td> </tr> <tr> <th align="left"><FONT color="#ff0000">*</FONT>Address:</th> <td><input type=text name="address" size=30><br> </td> ---------- 中略 --------- </table> <hr size=1> <table border=0> <tr> <th valign=top align=left>Further comments <br> for appeal : <br> </th> <td><textarea name="special comments" COLS=80 ROWS=7></textarea></td> </tr> </table> <input type=hidden name="redirect" value="http://www.xxx.co.nz/thankyou-main.html"><input type=hidden name="missing_fields_redirect" value="http://www.xxx.co.nz/fillinagain.html"><BR> <FONT color="#ff0000" size="+0" face="Arial Baltic"><B>Please note that once you click the &quot;Send Message&quot; button, this will be regarded as an agreement to our &quot;Terms&nbsp;and&nbsp;conditions&quot;.</B></FONT><B><FONT color="#000000" size="+0" face="Arial Baltic"> We will email you to confirm once we receive your application.</FONT></B> <P align="center"><input type="submit" value="Send Message"> &nbsp;<input type="reset" value="Clear Form"></P> </DIV> </form>

  • kosa
  • ベストアンサー率25% (379/1464)
回答No.4

空白が原因ではないでしょうか? データが送信されてきてCGI側で解析するときに「value」の値に対して空白を削除する命令を実行していませんか? 空白を削除されて下記のようになってたりしません? 「Client's ISP」→「Client'sISP」 「Client's IP address」→「Client'sIPaddress」 「Client's User Name」→「Client'sUserName」

yoshikinz
質問者

お礼

kosaさん 再びの返信ありがとうございます。 空白はそのまま空白データとして返されて着てます 試しに空白とApostrophyどちらも削除して 試しましたが、やはり求める結果は得られませんでした。

  • Sawara13
  • ベストアンサー率27% (16/59)
回答No.3

「そんなこと知ってらあ!」と思われたらごめんなさいね。 えっと、先のお二方のまとめになりますが。 PerlのCGIですよね? 恐らく、 print "<input type=hidden name="remote_host" value="Client's ISP">"; こんな感じで書いてませんか? print "<input type='hidden' name='remote_host' value='ISP of Client'>"; 要するに、printの文字列を囲む""と、HTMLの属性を囲む""とがぶつかってないことを確認してみてください、と。 # 私もこのミス、よくやります。 # ですので、可能な限りヒアドキュメントを使ってHTMLコードを書きます、書けるところは。 value属性の値は、思い切って書き変えましょう。

yoshikinz
質問者

お礼

Sawara13さん、 返信ありがとうございます。 一つ誤解があったようです。 私は、CGIスクリプトを全く書けません。 その知識はゼロです。CGIはISPが提供しています。 それを使うようになっています。 ですから、あなたのおっしゃるような水準での 間違いではないと思います。もっと初歩的な問題だと思います。

関連するQ&A