質問

私は新しい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 にチェックしてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top