|送信先のACTIONページについてユーザーがフォームに情報を入力し、送信(SUBMIT)ボタンを押すことによって、<form>・<cfform>タグのaction属性で指定されたページに入力データが送信されます。HTMLはブラウザで動作する言語のため、サーバーに渡されたデータを処理することができません。送信されたデータをサーバーで処理するのにColdFusionを用います。ColdFusionは、フォームから送信されたデータをForm変数として使用することができます。ACTIONページで行う処理について用途に応じて収集したデータを使ってサーバーで動的な処理を行います。データベースを検索して一致するキーワードのデータだけを抽出することや、データベースの会員情報にデータを追加する、あるいは商品の購入処理を進めたり、確認メールを送付したり、、、これらの処理を行うのがACTIONページとなります。ACTIONページで収集した情報をもとにサーバー側で処理を行い、次のステップをユーザーに提示します。Form変数についてどのようなForm変数が送信されてくるか?これは、もちろんFORM画面の入力項目欄に付けられた名前で送信されてきます。次のFORM画面では、ユーザーの情報を入力してもらう画面を表示しています。postpage.cfmに送信されます。value="送信"></cfform>送信先のpostpage.cfmで、データが実際に渡されているかどうかをとりあえず確認する方法として、<cfdump>タグを使ってForm変数の一覧をデバッグ表示してみます。postpage.cfmに、下記の<cfdump>タグを記載します。var="#Form#">下記の図は、ブラウザに表示されたFORM画面に情報を入力して送信(SUBMIT)ボタンを押した場合の例です。それぞれのForm変数の値に入力した値が指定されていることが分かります。※Form変数の一覧を見ると「FIELDNAMES」というForm変数があります。...)で持っています。送信されたForm変数を画面に表示するローカル変数と同じく、Form変数の値を画面に表示する際には<cfoutput>タグを使用します。変数名に”Form.”というプリフィックス(接頭辞)を付けることで、Form変数の参照であることを指定でき、かつ、コード上も分かりやすくなります。上の例で送信されたForm変数のFIRSTNAMEを表示する場合のコード例は下記となります。このコード例はお勧めできません。<cfoutput>#Form.FIRSTNAME#</cfoutput>上記のコード例がお勧めできないのは、ユーザーの入力をダイレクトに画面に表示しているためです。不特定多数のユーザーから情報を収集した際、悪意を持ったユーザーによってJavaScriptコードを含む値を入力されてしまう場合が考えられます。それをダイレクトに画面に表示すると、ブラウザで値を表示した際に、JavaScriptが動作してしまい、思わぬ攻撃の脅威となる場合があるためです。その対応方法としては、JavaScriptなどを実行する際のスクリプトコードをエンコードする方法があります。関数を使用すると、値に特定の文字が含まれていた場合、その文字をエンコードすることができます。<cfoutput>#HTMLEditFormat(Form.FIRSTNAME)#</cfoutput>画面にForm変数を表示する際は、悪意のあるユーザーによる備えを忘れないように心掛けて下さい。HTMLEditFormat関数』をご参照下さい。資料・FAQ事例紹介ColdFusionユーザーグループ。