我想做一個CF代碼,將從表 「users」中選擇「welcome」行,其中username =#session.username#。CF(If..headerlocation)?
如果「歡迎」 = 1,那麼我希望它引導用戶到/me/index.cfm
我是新的CF,怎麼會變成這樣是可能的。
我想做一個CF代碼,將從表 「users」中選擇「welcome」行,其中username =#session.username#。CF(If..headerlocation)?
如果「歡迎」 = 1,那麼我希望它引導用戶到/me/index.cfm
我是新的CF,怎麼會變成這樣是可能的。
你可以這樣寫:
<cfif welcome EQ 1>
<cflocation url="/me/index.cfm">
</cfif>
'模板'不是cflocation標記的屬性 – duncan
首先你需要通過它的聲音做一個數據庫查詢:
<cfquery name="getWelcome" datasource="yourDSN">
SELECT welcome
FROM users
WHERE username = <cfqueryparam value="#session.username#" cfsqltype="CF_SQL_VARCHAR">
</cfquery>
然後,你需要從查詢檢查值,也考慮到查詢可能根本找不到的事實。
<cfif NOT getWelcome.recordcount>
<!--- do something, maybe redirect to the login page --->
</cfif>
<cfif getWelcome.welcome EQ 1>
<cflocation url="/me/index.cfm">
</cfif>
這裏最重要的是使用cfqueryparam來防止SQL注入。
@Brooke - 只是一個註釋,上面的示例是優秀,但它假設查詢「getWelcome」將只返回1行。這是要記住的。該代碼表示_getWelcom.welcome EQ 1_是否僅分析返回的查詢的_first_行。如果有多行,其餘的將被忽略。我意識到你的查詢可能是_designed_只有一行,所以這很酷。我只是把它指出來。 :) –
好點。我希望用戶名在用戶表中是唯一的! – duncan
由於您在標題中提到了標題,因此我會指出,雖然[** cflocation **](http://cfdocs.org/cflocation)處理位置標題,但您始終使用[** cfheader ** ](http://cfdocs.org/cfheader),例如' '和 ' –
CF8添加了將狀態代碼設置爲標記的屬性的能力 –
Yisroel