プロが教えるわが家の防犯対策術!

簡単なフォームは、作成できるようになりましたが、教えていただいているところでは、実際のサーバーを使っているため、<form method="post" action="... の先のサーバー名という部分の意味がどうしても理解できないで困っています。どんな情報が必要なのかといった根本的な部分で、理解ができていないのです。

また、form-cgiとかkantan-cgiとか、このcgiの名前というのは、任意にというか勝手に書き込んで動くのでしょうか?質問の意味がわかっていただけるでしょうか?

A 回答 (9件)

またしても質問の前提条件が大きく変ってしまいましたね。

その事は、理解できますか?





隠しフィールドって、CGIの実体の事ですか? それが必要な局面には、まだ突き当たっていないと思います。

今必要なのは、CGIの実体がサーバー上のどのディレクトリにあるか、そのディレクトリは HTTPでアクセスする為のURLではどう表現されるかでしょう。

それを知るためには、普通はサーバーにログインできるアカウントが必要です。 アカウントが無ければ本当にダメかもまた「サーバーの個別事情」です。 そこを何とかする技術は人様のサーバーに不法侵入する技術そのものなので、例え知っててもここには書けません。

万策付きたら、駄目元で action="nantoka.cgi" を試してみましょう。 ダメだったら、「相対パス」の意味を理解した上で再度 action="nantoka.cgi" の意味を考えてください。


余計なお世話かもしれませんが、あなたがやろうとしている事はあなたの身の丈を大きく超えているかも知れません。 あなたに命令をだした上司さん(?)に「事態、楽観できず」の報告は済んでいますか? その報告をしないのは、任務失敗そのものとはまた別の失態ですよ。

この回答への補足

わかりました。正直に上司に話します。が、解決には至りませんね。もう、頭が真っ白です。

補足日時:2009/02/14 22:24
    • good
    • 0

今回あなたが必要とする URL は、nantoka.cgi が設置されたサーバーの個別事情を知ってる人しか知り得ません。

だから、前回「入手済情報中にURLが含まれてないか確認」と書いたのです。

> URLは、含まれていません。含まれていれば私にもわかりますよ。

これに自信があるなら、一刻も早く知ってるはずの人に問い合わす事です。 質問文は「その CGI の URL を教えてください」です。 質問が遅くなればなる程、あなた自信の信用が落ちると思いますよ。
あなたの周囲にあなたへの伝言を忘れてる人がいる可能性をどう読んどう対処するかはあなた自身の問題です。

# しかし、当初に比べて難しい話ができる様になりましたね。 頑張ってください。

この回答への補足

同じサーバー上に、存在している(はず)の隠しフィールドを見る方法を教えてください。設置されたサーバーの個別事情を知ってる人は、連絡が取れません。なんと言えばいいか「行方不明」とでもいう状況です。それで、私に何とかしろと命令がくだったわけです。放棄もできず追い込まれてます。

補足日時:2009/02/14 11:39
    • good
    • 0

> それではしると聞いています。



なんだ。 CGI はすでにスタンバイ済ですか。 てっきり、CGIの設置も自分でやりたい/それ以前の勉強中なのかと思ってました。

となると、「それではしる」と言った人がくれた情報の中に URL が含まれてないか確認するのが先決です。 その人に気軽に聞けないからここで聞いてるんですね?

この場合の URL は、きっと以下のいずれかの形をしています。 入手済情報に含まれてないか確認してください。(全角記号ところは、英数字や英記号の文字列です)

・ http://○×△/nantoka.cgi
・ //○×△/nantoka.cgi
・ /■●/nantoka.cgi
・ ../▼■/nantoka.cgi
・ ../nantoka.cgi
・ ./▼■/nantoka.cgi
・ ./nantoka.cgi
・ ▼■/nantoka.cgi
・ nantoka.cgi

URLを見つけたら、それをそのまま actionパラメーターに書くだけです。 もし 1・2番目の形なら、それをブラウザのアドレスバーに入力しても目的のCGIは動くでしょう。

もしも相手があなたの実力を過大評価していたなら、そう簡単には済まないかもしれませんが。

# 学校の課題では、無いですよね?

この回答への補足

URLは、含まれていません。含まれていれば私にもわかりますよ。
以下で、動かないので、質問しているのですが?
学校の課題ではなく、団体の実稼動のサーバーですよ。

<form method="post" action="/nantoka.cgi/formmail">

<p>お名前:<input type="text" name="お名前" size=20>

<p>e-mail:<input type="text" name="email" size=20>

<p>性別:<input type="radio" name="性別" value="男性" checked>男性 <input type="radio" name="性別" value="女性">女性

<p><input type="submit" value="送信!"> <input type="reset" value="キャンセル">
</form>

補足日時:2009/02/13 17:34
    • good
    • 0

やはり、当初はあなたの予備知識を過大評価した為に話が噛み合わなかったんですね。



説明すべき事が多過ぎるので、効率も常識も有用性も無視して正常動作だけを目的に説明します。 正常動作に成功した後に、有用性に目を向けてください。

<form method="post" action="nantoka.cgi"> を最低限の機能で動かすには、以下のふたつをやってください。

1 HTML に以下を書いてください。

<form method="post" action="nantoka.cgi">
<input type="submit" value="ここを押してね">
</form>

2 動かしたい CGI を、FORMタグを書いた HTML と同じディレクトリに nantoka.cgi の名前でアップロードしてください。
何をアップロードするのか解んない場合は、以下の内容のテキストファイルで良いです。

/--------------ここから-------------\
#! /usr/bin/perl
print <<RES;
Content-Type: Text/plain

Hello, this is nantoka.cgi.
RES
\--------------ここまで-------------/


準備ができたら、FORMタグを書いた HTML をブラウザで開き、『ここを押してね』のボタンを押してください。 うまくいけばCGIの出力が画面に表示されます。 CGIの設置が始めてなら、いきなり成功するのはかなりラッキーです。

この回答への補足

残念ながら、私が求めているものとは、まったく違うようです。繰り返します。

action="CGIのURL" この"CGIのURL" を記述するのには、サーバーのどんな情報を知っていると記述できるのでしょうか?"nantoka.cgi"を定義(?)させるものは、サーバーのどんな情報でしょうか?サーバーの何が必要なのでしょうか?  これが私の問いの基本です。

ACTIONには、URL名が記述、ここには、submitボタンが押されたときに、実行されるべき、 CGIプログラムのURLを置く この「CGIプログラムのURLを置く」ということが理解できないでいるという意味です。

肝心の受信側のCGIは、隠しフィールドになっているので、覗いて学び取ることはできません。ただ、nantoka.cgiという実行CGI名がわかっているだけです。CGIを学びたいのではなく、ただ、action="CGIのURL" この"CGIのURL"を記述する方法がわかればいいだけなんです。それではしると聞いています。

しかし、あなたの親切に答えようとする姿勢には、感謝します。

補足日時:2009/02/13 13:54
    • good
    • 0

> No.3の回答に新しい補足が投稿されました。


というメールが届きましたが、昨日か今日に書き込みされたんですね?
# このWeb、質問と回答は書き込み日時が表示されますが、補足とお礼には表示されません。 不便。

本題ですが、CGIの本質については理解されていますか? CGI登場前の HTML のみのWebとの比較が重要です。
http://e-words.jp/w/CGI.html

あるいは、FORMタグと <a href=...> はどの様に使い分けるべきかはお判りですか?

76763939 さんの理解度に応じて回答の書き方が変るので、理解の有無を教えてください。

この回答への補足

新しく質問を立ち上げられず、まったく不便極まりないです。

<A href="mailto:メールアドレス">というものは求めておりません。
また<a href="javascriptというかたちもjavaを理解にいたらず使えません。<a href="URL">このなかみの構文が把握できないのです。

<FORM ACTION="mailto:メールアドレス" METHOD="post">. ではなく、
<form method="post" action="nantoka.cgi"> にしたいということなんです。わかっていただけますか?

サーバーをいきなりわたされて、何とか勉強して走らせれるようようにしろと言われて、困りきっています。助けてください。

補足日時:2009/02/12 17:44
    • good
    • 0

例えばあなたのPCのCドライブ直下にファイルがあるとしてそれは次のように表現できます。


C:\filename

action="http://www.example.com/example.cgi"
という記述であればwww.example.comというホストの公開ディレクトリ直下(ドキュメントルート直下)にexample.cgiというファイルを置く必要があります。

この回答への補足

<form method="post" action="/nantoka-cgi/formmail=A">
このform method= から始まるというかフォームタグ以前に、ページソースに見えない 部分での記述が前提として必要だということなのでしょうか?

そうであるなら、質問以前の私の無知ですね。申し訳ありません。
知らないということはそういうことです。

補足日時:2009/01/21 09:42
    • good
    • 0
この回答へのお礼

知っている人には、当たり前のことかもしれませんが、それを説明するということも大切なことだと思います。

その事実に、ひっかかって 次の一歩も踏み出せないことがあるからです。
回答ありがとうございます。

お礼日時:2009/01/21 09:24

FORM は、ある意味で <a href="xxxx"> に似ています。

この xxxx に相当する部分を actionパラメーターに書く訳です。

"http://foo.bar/buz.cgi" の様に絶対パスを書いても "buz.cgi" の様に相対パスを書いてもOKです。 ただし、CGIパラメーター(URL 中の"?"以降)は別の方法で指定するので action には書けません。

よくあるケースとして、 CGI で出力する HTML中の FORM で submit されても同じ CGI で受けたい場合、 action="" とか action="#" とかでOKです。

この回答への補足

<form method="post" action="/nantoka-cgi/formmail=A">
このform method= から始まるというかフォームタグ以前に、ページソースに見えない 部分での記述が前提として必要だということなのでしょうか?

そうであるなら、質問以前の私の無知ですね。申し訳ありません。
知らないということはそういうことです。

(新しく たてることができないので、個別にコピペで失礼しております。お許しください)

補足日時:2009/02/05 10:04
    • good
    • 0
この回答へのお礼

ありがとうございます。もう永久に(だれにも)答えていただけないのかと意気消沈しておりましたが、氷解いたしました。

私の疑問は、実に 単純な引っかかりに過ぎない事でした。でも、それがわからなかったのです。おかげで、ハッとしました。

お礼日時:2009/01/21 09:18

>任意にというか勝手に書き込んで動くのでしょうか?


勝手に書き込んでも動きません。
サーバ上に自分で作るか、あらかじめサーバに用意してある
その名前のCGIプログラムがなければいけません。

たとえばメールを送るフォームを作るなら、
HTMLでフォームを造りactionでメールを送るプログラムを指定します。
(利用者がフォームを送信すると、そのフォームのデータがactionで指定したプログラムに渡されて実際にメールを送信します)

サーバによっては、簡単なプログラムは用意されていることがあります。
利用しているサーバの説明を探してみては。
(サーバによってはそうしたプログラムの利用が全くできない事もあります。)

サーバの説明がよくわからなければ、
利用しているサーバを補足すれば同じサーバの利用経験がある人から更にアドバイスをもらえるかも。

この回答への補足

私は、「サーバ上に自分で作る」ということが理解できないのです。それで最初の1行が打てないありさまです。もちろん、メールを送るフォームを作る最初の<form method=post action="nantoka.cgi">の定義の部分です。
action="CGIのURL" この"CGIのURL" を記述するのには、サーバーのどんな情報を知っていると記述できるのでしょうか?"nantoka.cgi"を定義(?)させるものは、サーバーのどんな情報でしょうか?サーバーの何が必要なのでしょうか?
なお、あらかじめサーバに用意してあるその名前のCGIプログラムは、存在しません。あれば、"nantoka.cgi"の部分に置き換えれば動くでしょうが…
おそらく私が根本的部分でに理解出てない為、質問自体うまくできていないと感じられ、もどかしいのですが、冒頭でつまずき、1歩も進めないので、なんとかお助けいただきたいと思っております。

補足日時:2009/01/10 07:41
    • good
    • 0
この回答へのお礼

<form method="post" action="/nantoka-cgi/formmail=A">
このform method= から始まるというかフォームタグ以前に、ページソースに見えない 部分での記述が前提として必要だということなのでしょうか?

そうであるなら、質問以前の私の無知ですね。申し訳ありません。
知らないということはそういうことです。

(新しく たてることができないので、個別にコピペで失礼しております。お許しください)

お礼日時:2009/02/05 10:04

フォームから送信される情報を受け取るcgiの名前ですので、当然そのcgiを用意してそのパスを書くことになります。


勝手に書き込めばおそらく404 not foundになるでしょう。

この回答への補足

「そのcgiを用意してそのパスを書く」として、サーバー上のどんな知識、あるいは情報が必要でしょうか?私の引っかかりは、どん底 根本的基礎的部分です。申し訳ありません。

「フォームから送信される情報を受け取るcgiの名前」のつくりかた自体が私は、わかっておりません。といえばいいのでしょうか?それは、サーバーのどんな情報なのでしょうか?

補足日時:2009/01/10 08:25
    • good
    • 0
この回答へのお礼

<form method="post" action="/nantoka-cgi/formmail=A">
このform method= から始まるというかフォームタグ以前に、ページソースに見えない 部分での記述が前提として必要だということなのでしょうか?

そうであるなら、質問以前の私の無知ですね。申し訳ありません。
知らないということはそういうことです。

(新しく たてることができないので、個別にコピペで失礼しております。お許しください)

お礼日時:2009/02/05 10:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!