質問
私は新しいCFScriptの構文だけでなく、使用のcfloginを習得しようとしています。 私はCFScriptでCFのタグを混在させることはできません、と私はのcflogin、cflogout、cfloginuserへのスクリプトと同等が表示されていない推測してます。
私はのcfloginを使用するためにCF8構文で記述されているコンポーネントを呼び出す必要がありますか?
public void function onRequest(required string Page) output="true" {
if (StructKeyExists(url,"logout")) {
<cflogout>
}
<cflogin>
local.qryUsr = new Components.Usr.Login(form);
if (local.qryUsr.Recordcount) {
<cfloginuser name="#form.UsrName#" password="#form.UsrPassword#" roles="#local.qryUsr.Roles#">
} else {
request.errorMessage = "Incorrect login";
include login/login.cfm;
return;
}
</cflogin>
include arguments.Page;
}
解決
あなたは直接タグやスクリプトを混在させることはできません。ただし、タグの周り関数ラッパーを書き込むことによって、それ偽物ができます:
<cffunction name="logout">
<cflogout />
</cffunction>
とのように呼び出します:
logout();
もちろん、これは簡単な例です。あなたは、あなたの実際のコードでなど、あなたの戻り値を、あなたの引数を指定したいと思います。
注1:あなたがでcfqueryparamを使用することはできませんように、ユーザの入力を受け付け、一般的なクエリ機能のためにこれをしないでください。
注2:私は、一般的にこれを行いません。私は、タグ専用の操作に依存したコードを書いている場合は、私は、タグの構文を使用します。
他のヒント
サイドノートとして、すべてのCFのための関数を作成するために、 CFLib.orgするで上に行く小さな努力がありますタグ。 詳細については CFMLLib にチェックしてください。
所属していません StackOverflow