[三流君] −−> [ASPで遊ぶ、失敗する] −−> [バックナンバー一覧]
−−> No.009 FORM ACTION="XXX.asp" METHOD="GET" を使用

FORM ACTION="XXX.asp" METHOD="GET" を使用


本文(発行内容)


<FORM ACTION="XXX.asp" METHOD="GET" を使用>

こんにちは、Ken3です。

今回は、
FORM ACTION="XXX.asp" METHOD="GET"
で フォームの値を渡したいと思います。

/*
 * 1.何で?METHOD="GET"を使おうと思ったのアナタは?
*/
いきなり三流君に質問かますけど、
なんで、アンタは、
METHOD="GET"を使おうと思ったの?
発行回数稼ぎか?

えっと、フォームの値を受け取る方法は、
http://www.ken3.org/cgi-bin/test/test004-1.html
のHTML中で、
好きに入力して、送信ボタンを押してください。<br>
<FORM ACTION="http://www.ken3.org/cgi-bin/test/test004-1.asp" METHOD="POST">
・
・
・
受け取るには、
基本は簡単で、
Request.Form("フォームの項目名")
で受け取れます。
と解説してました。
( http://www.ken3.org/backno/backno_asp01.html#4  に詳細有り )

それでいいんじゃない?
METHOD="POST"が普通って、本やどこかにも書いてあったような気がするけど。

このメルマガの満足度を5段階で<br>
不満 ------ 満足<br>
1<INPUT TYPE="RADIO" NAME="q_5" VALUE="1">
2<INPUT TYPE="RADIO" NAME="q_5" VALUE="2">
3<INPUT TYPE="RADIO" NAME="q_5" VALUE="3">
4<INPUT TYPE="RADIO" NAME="q_5" VALUE="4">
5<INPUT TYPE="RADIO" NAME="q_5" VALUE="5">

とか、解説でやってたよね。
で、ASP側では、
	if Request.Form("q_5") <= 2 then  '2以下は不満にする
と判断して動いてたジャン。

/*
 * 2.メルマガのアンケートとホームページ上のアンケートを一緒にしたかった
*/

えっと、理由は簡単で、正直に言うと発行数稼ぎです(うそ)
じゃなくって、
メルマガのアンケート
と
ホームページ上のアンケートを一緒にしたかったんです。

えっ、何?それ?

前回、
よく見かけるアンケート処理で、
In message "[ASPで遊ぶ No.008] - URLに付けたパラメータを参照(クエリ情報)",
 >さて、よくあるアンケートです
 >今回の内容は、
 >満足 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=1 
 >普通 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2 
 >不満 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=3 
 >どんな感じですか?(笑)

と、URLにパラメーターを書いて、
それを受けとって処理する方法をやりました。
( http://www.ken3.org/backno/backno_asp02.html#8  に詳細有り )

やったねぇ、昨日だから記憶に新しいよ。
ASP側で、
Request.QueryStringで、
if Request.QueryString("A") = "1" then strMSG = "満足" 
if Request.QueryString("A") = "2" then strMSG = "普通" 
if Request.QueryString("A") = "3" then strMSG = "不満" 
こんな感じで、URLに付けた値を取り出せるんだろ?

はい、それと、最近(今日)気が付いたのが、
フォームのMETHOD="GET"で送ると、
フォームの値をURLに載せて、ASPが呼ばれてるのに気が付いたんですよ。

はぁ?言ってる意味がわかんねぇよ。

では、実際にテストしてみます。
http://www.ken3.org/cgi-bin/test/test009-1.html
が、下記のテスト用フォーム入力です。

<html>
<head>
<title>フォームに値を入力してMETHOD="GET"でASPファイルに渡す</title>
</head>
<body>
<h2>フォームに値を入力してMETHOD="GET"でASPファイルに渡す</h2>
<br>
test009-1.html<br>
<FORM ACTION="http://www.ken3.org/cgi-bin/test/test008-2.asp" METHOD="GET">
このメルマガの満足度は?選択後、送信ボタンを押してください。<br>
1.満足<INPUT TYPE="RADIO" NAME="a" VALUE="1"><br>
2.普通<INPUT TYPE="RADIO" NAME="a" VALUE="2"><br>
3.不満<INPUT TYPE="RADIO" NAME="a" VALUE="3"><br>
<br>
<INPUT TYPE="submit" VALUE="送 信">
<INPUT TYPE="reset"  VALUE="入力クリア">
</FORM>

</body>
</html>



ポイントは、
METHOD="GET"
で、
http://www.ken3.org/cgi-bin/test/test008-2.asp
を呼び出してます。

画面のURLランを見ると、
http://www.ken3.org/cgi-bin/test/test008-2.asp?a=2
と?A=2が追加されて、ますよね。



そこから先の処理は同じなので、
メール上のアンケート
http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2
と
<FORM ACTION="http://www.ken3.org/cgi-bin/test/test008-2.asp" METHOD="GET">
のブラウザでフォーム入力、
をまとめられるんじゃないかなぁと考えました。

-- 余談 --
発行前の見直しで気が付いたけど、
http://www.ken3.org/cgi-bin/test/test008-2.asp?a=2
http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2
間違いに気が付いたけど、同じ動作する。
大文字と小文字のIf文の比較、今後の宿題で探らないと。

/*
 * 3.リンクのURLに書いときゃいいじゃんよ。
*/
なんとなく、アンタがGET使いたい気持ちはわかったけど、
そんなの、リンクのURLに書いときゃいいじゃんよ。

えっ、、、

えっじゃねぇよ、えっじゃ。
メルマガで下記のようにアンケート取るんでしょ。(クリックしてもらう)

>今回の内容は、
>満足 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=1 
>普通 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2 
>不満 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=3 
>どんな感じですか?(笑)

そうですよ、
ユーザーがURLクリックするとメーラーの機能でブラウザが起動して、
ASPでURLの後ろについたパラメーターを判断して処理します。

だったらさ、今回の処理は項目も少ないし、
HTML側もリンクにすればいいんじゃないの?
こんな感じでさ

<html>
<head>
<title>リンクのURLのパラメーターをASPファイルに渡す</title>
</head>
<body>
<h2>リンクのURLのパラメーターをASPファイルに渡す</h2>
<br>
test009-2.html<br>
<hr>
今回の内容は、<br>
<A HREF="http://www.ken3.org/cgi-bin/test/test008-2.asp?A=1">満足</A><BR>
<A HREF="http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2">普通</A><BR>
<A HREF="http://www.ken3.org/cgi-bin/test/test008-2.asp?A=3">不満</A><BR>
どんな感じですか?(笑)<br>
<hr>
</body>
</html>

http://www.ken3.org/cgi-bin/test/test009-2.html
にサンプルHTMLあります。



これでも、簡単なアンケートはできるんじゃないの?

そうですねぇ、参考意見どうもありがとね。(長引きそうだなぁコイツとの話は、、)
確かに、1つの手ですよね、
URLにパラメーターを載せるんだから、リンクにそのまま書けばいい。
いろいろな場面で使えそうですね。

そうだろ、三流野郎はわかってないからなぁ。
変な解説してんじゃねえぞ、今度からもっと勉強してからメルマガ書けよ。

ムカ、久しぶりにむかついた。お客さんだと思ってこっちがおとなしくしてたら、、
得意の毒舌かますか、ヒサビサに。

「坊ちゃん、坊ちゃんは物知りだから、いろいろなツール持ってるよね」
「うん、持ってるし、素人だけどプロのアンタより使い方知ってるよ」

なめた口聞きやがってコイツは、、、
「インターネットを速くするソフトやHPを丸ごと保存するソフト知ってる?」
「使ったこと無いけど知ってるよ」

よし、かかった(笑)
「仕組みも知ってるよねキミなら」
「だから、言ってんだろ、素人だけどプロのアンタより使い方知ってるって」

よしよし、食い付きもOK。ハリがかかったから、あとは慎重に釣り上げよう(笑)
「まず、インターネットを速くするソフト、
 ある機能内容を見ると、ユーザーが使用していない時間にリンク先を先読みする」
「それが、いいソフトじゃん、考えている間に次を先読みしてくれて快適快適」

「でもね、それが今回のリンクにパラメータ埋めこみだと問題で、
 満足、普通、不満を考えてる間に先読みソフトが勝手に先に進んで行って
 ASPを実行してしまう(答えてしまう)場合がイヤだよね」
「同様に、HPをまるごとローカルハードディスクに記録するのも、
 リンク先を読んでいくから、勝手に回答されてしまう」
「さらに、検索会社のロボット君の自動巡回でも同じかなぁ」
よし、何も言い返せない。(と、一安心)

「なんだぁ、ヤッパ三流ジャン、ロボット検索をさせない方法も知らないの?」
と言いながら、できる坊ちゃんは捨て台詞を残しママの所へ帰っていった。
*次回は子供思いのヤンママが登場、子供のケンカに大人が出てきます。
 プロフィール:インターネット通販、メール、
 Web関係のインターフェース、処理にはうるさい。
 もちろん、各種アンケートページ、ウラの悪徳Webまでプロより知ってる
 (うそです、そんな人登場しません、書くと疲れるしね)

/*
 * 4.脱線を元に戻す。
*/

先読みソフト
ローカルへHPを保存するツール
ロボットの自動検索
などで、変な動きをするかもしれないけど、
場合によっては、
リンクに埋めこむ、
<A HREF="http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2">普通</A><BR>
も
手ごろかなぁと思った。

私のカスイHPにもロボットが来てるのは不思議だけど、
(たぶん、まぐまぐとかメルマガバックナンバーのリンクから?)
マジメにWeb上からアンケートやデータを取りたいひとは、
そのへんの対策も考えないといけないみたいですよね。

URLにパラメータを付ける、
クエリ情報で渡すのも、
データが軽い時はいいのかなぁ
と思って書きました。
参考となれば幸いです。

/*
 * 5.終わりの挨拶
*/

今回は、
・子供とマジでケンカしてはいけません
じゃなくって、
FORM ACTION="XXX.asp" METHOD="GET" で フォームの値を渡したい
でした。

まぁなんとなく、わかったような、わからなかったような。
まだまだ、道のりは遠いなぁ〜

またね(笑)

何か質問・感想があったら、気軽に、
メール、掲示板に書き込んでくださいね。

三流プログラマーのKen3でした。


ページフッター

ここまで、読んでいただきどうもです。目的の情報が見つかったか?少々心配しつつ、、、

三流君へ メッセージを送る

感想や質問・要望・苦情など 三流君へメッセージを送る。
返信例 XXXXさんへ
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)

種類別のリンク や 広告など

[三流君(TOP ken3.org へ戻る)] / [ASPで遊ぶ、失敗する] / [ASP記事 バックナンバー目次]


Blogとリンク:[三流君のMemo別館]/ [ASP 三流君のソースコード置き場]/ [Ken3Video YouTubeで動画解説]
広告:

気になった ジャンル ↓を選択してください。

まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。

次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません

広告:



DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く

VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。



[三流君(TOP ken3.org へ戻る)] / [ASPで遊ぶ、失敗する] / [ASP記事 バックナンバー目次]


広告: