0

私のフォームが次のようになっているとします。

<form name="myform" method="post" action="index.html">
   <input type="hidden" name="work" id="work1" value="20">
   <input type="hidden" name="play" id="play1" value="10">
   <input type="submit" name="submit">
</form>

[送信] をクリックするform.workと、andform.playが index.html に送信されます。そこでは、仕事と遊びの価値が特定の式で使用されます。

ここで、このページへのリンクを、仕事と遊びの定義済みの値を持つ複数の人に送信する必要があります。私はこれを試しました:

    www.mysite.com/index.html?work=20&play=10

残念ながら、これはうまくいきませんでした。これを達成する方法はありますか?

参考までに、私は ColdFusion サーバーを使用しています。

4

4 に答える 4

6

ColdFusion には、URL と呼ばれるスコープと FORM と呼ばれるスコープがあり、HTTP メソッドの post/get ごとに 1 つずつあります。他の言語はそれらをごちゃ混ぜにします。長所/短所は別として、一部の CFML フレームワークは実際にそれらを組み合わせて、「リクエスト コンテキスト」の一部として利用できるようにします。

この場合に行う必要があるのは、URL と FORM スコープで値を確認することです。または、フォームメソッドを「get」に変更して、フォーム変数の代わりに常に URL 変数を使用することもできます。このように、常に Form.variable の代わりに URL.variables を使用します。

cfparam> は、変数が存在するようにデフォルト値を設定します。cfset> に似ていますが、値が欠落している場合にのみ設定されます。

したがって、コードの先頭で:

//this sets the url value to always be blank unless something is passed in
<cfparam name="url.work" default="" />
//this sets the form value to the url value by default
<cfparam name="form.work" default="#url.work#" />
//you should never actually output user content to the screen, but here it is
<cfoutput>#form.work#</cfoutput>

いつものように、ユーザーが提供するものを決して信用せず、データをデータベースで使用する前、またはコンテンツをブラウザに送り返す前にサニタイズしてください。

于 2012-10-03T01:21:20.897 に答える
2

問題は、HTML ページで ColdFusion を使用しようとしていることです。'index.html' は、ColdFusion によって解析されるように .html ファイルを指定するように Web サーバーを特別に変更しない限り、ColdFusion によって解析されません。

  1. 「index.html」を「index.cfm」に変更します
  2. URL または FORM スコープを介して受信変数にアクセスします。フォームが POSTED の場合は、FORM スコープ (form.work または form.play) を使用します。フォームが URL 経由で作成された場合 (?work=20&play=10)、URL スコープを使用します。
于 2012-10-03T10:59:45.867 に答える
0

はい、一般的にクエリ文字列パラメーターを渡すことができます。これらは単に要求された URL の一部を形成するだけです。

サーバー側フレームワークがそれらを利用できるようにするかどうかは、フレームワークに依存します。リクエストが POST リクエストであっても、ほとんどのフレームワークがそれらを公開すると思います。は ASP.Net で利用できます。常温核融合についてはわかりません。

メソッド="投稿"

フォーム変数をポスト パラメータとして HTTP リクエストに配置するようにブラウザに通知します。クエリ文字列変数を含めることを妨げるものではありません。

于 2012-10-02T23:50:15.610 に答える
0

URL 内の変数はGET変数と呼ばれ、ColdFusion でそれらを取得する何らかの方法が必要です。

于 2012-10-02T23:50:35.697 に答える