2012-03-29 58 views
2

私は検索バーを持っています。テキストを入力して検索をクリックすると、検索結果を表示する別のページに移動します。html要素にフォーム変数の値を割り当てる

問題は、この検索バーがアプリケーションのすべてのページの上部に表示され、特定のページ(検索ページを含む)の一部ではないことです。

要件に応じて、古い検索文字列を検索バーに表示する必要があります。 googleのようなもの。実際にフォームフィールド名を想定し、あなたが以下のように追加することができ、検索フォームが(INPUTは同様にその周りCFOUTPUTタグを持っていることを確認します。また、使用することを

<cfparam name="form.search" default="" /> 
<input type="text" name="search" value="#HTMLEditFormat(form.search)#" ... /> 

を「検索」で表示されるファイルで

+0

セッション変数 - > http://www.school-for-champions.com/coldfusion/sessionvariable.htmを使用する必要があります。 – GuZzie

+0

セッション変数は役に立ちません。新しい検索を開始して、他のランダムなページ、古い文字列はまだ保存されます。 –

+0

検索のため、あなたのFORMメソッドはGETでなければなりません。検索結果はURLに格納されます。 –

答えて

7

入力変数をoutputingときHTMLEditFormat()、そうでなければ、インジェクション攻撃に自分自身を開いている

+2

また、この変数を表示する前にこの変数を消毒してください。これは、巨大なセキュリティ上のリスクがあるためです。一般に、変数を直接HTMLに出力することは、常に悪い考えです。私は、最新のCF9パッチが役立つと思いますが、残念ながらより安全です。私たちはOWASPのAnti-Sammyを大成功に使用しています。 –

+1

良い点、ジョン。 –

0

あなたは、フォームを投稿している場合:。

<input ... value='#form.FieldName#' /> 

の場合

<input ... value='#url.FieldName#' /> 

ifsまたはcfparamsを使用して、表示方法を制御します。

関連する問題