<cffunction name="checkUsers" access="public" output="false" returntype="any">
<cfargument name="dbname" type="any" required="no" default="#SERVER.cfc.core.getDBName()#" />
<cfargument name="myForm" type="Struct" required="yes">
<cfset LOCAL = structNew() />
<cfquery name="Login" datasource="#SERVER.cfc.core.getDSN()#">
SELECT *
FROM logboek.tbl_users
where Users_name = <cfqueryparam cfsqltype="cf_sql_varchar" value="#ARGUMENTS.myForm.Users_name#" />
</cfquery>
<cfif isDefined("form.Users_name") and isDefined("form.Users_password")>
<cfif FORM.Users_password EQ login.Users_password>
<a href="http://toomba.local/index.cfm/action/blog.Logboek">Logboek</a>
</cfif>
<cfelse>
<a href="http://toomba.local/index.cfm/action/blog.Logboek_login">Login</a>
</cfif>
</cffunction>
я хочу проверить с пользователями, если пользователь существует и пароль правильно перейти к blog.logboek
, если пользователь не существует или неверный пароль перейти к blog.logboek_login
снова. Но после того, как я установил там NEQ
, не имеет значения, пользуюсь ли я случайным паролем, или если я использую правильный пароль, он всегда будет возвращаться на страницу входа. код редактируется, но все еще застрял на странице входа.Coldfusion - Не можете войти в систему после проверки NEQ
Если вы сомневаетесь, посмотрите на ваши данные. '' ваш друг. –
Вы также должны хешировать свои пароли. Если вы храните пароли обычного текста, которые должны быть исправлены немедленно. –
Как отметил Дэн, не просто предполагайте правильность логики ;-) Дамп данных и добавьте код отладки, чтобы проверить, что страница получает ожидаемые значения И проверяет, выполнены ли ожидаемые условия cfif/cfelse. Кроме того, этот код также, как представляется, представляет собой смешение тестов областей 'arguments' и' form'. Для функций придерживайтесь области аргументов и не забудьте локализовать все функциональные локальные переменные - включая имена запросов. – Leigh