Next ColdFusion question

User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

Почему то у меня переменные сессии видятся на той странице где я их задаю и не вилятся на остальных. Кто ни то с этим сталкивался?
User avatar
GShapiev
Уже с Приветом
Posts: 2278
Joined: 02 Jan 2001 10:01
Location: MSK; NJ; MA; UAE, Chicago

Next ColdFusion question

Post by GShapiev »

А Cookies включены?

И еще надо проверить включены ли Session Variables в Администраторе и в тэге CFAPPLICATION

[ 29-10-2001: Message edited by: GShapiev ]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

вот мой файл application.cfm

<cfapplication name="CFMTEST" clientmanagement="Yes" sessionmanagement="Yes" setclientcookies="Yes" setdomaincookies="Yes">

<cfset Application.DateSourse = "CFMTEST">
<cfset Application.UserName = "sa">
<cfset Application.Password = "test">


<cfset Session.FirstName = "">
<cfset Session.LastName = "">
<cfset Session.UserGroupName = "">
<cfset Session.UserGroupID = "">

что то еще нужно изменить?
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

Next ColdFusion question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>вот мой файл application.cfm

<cfapplication name="CFMTEST" clientmanagement="Yes" sessionmanagement="Yes" setclientcookies="Yes" setdomaincookies="Yes">

<cfset Application.DateSourse = "CFMTEST">
<cfset Application.UserName = "sa">
<cfset Application.Password = "test">


<cfset Session.FirstName = "">
<cfset Session.LastName = "">
<cfset Session.UserGroupName = "">
<cfset Session.UserGroupID = "">

что то еще нужно изменить?</STRONG><HR></BLOCKQUOTE>

может, вот это

<cfapplication name="CFMTEST" clientmanagement="Yes" sessionmanagement="Yes" setclientcookies="Yes" setdomaincookies="Yes">

добавить на все страницы, где хочется видеть сессию ? [img:feac34b211]images/smiles/icon_wink.gif[/img:feac34b211]

это перед первым обращением к сессии должно быть - может синтаксис немного другой, но sessionmanagement=yes - это важно.
еще таймаут можно там задавать - в хелпе находится в раёне create(time)span - something of that ilk [img:feac34b211]images/smiles/icon_smile.gif[/img:feac34b211]

[ 29-10-2001: Message edited by: dimach ]
GreenOrc
Уже с Приветом
Posts: 145
Joined: 23 Jun 2000 09:01
Location: Kyiv, Ukraine

Next ColdFusion question

Post by GreenOrc »

Ув. webdeveloper. Когда Вы вызываете на проверку свою страницу как (я на примере своей машины скажу) http://lynx/login.cfm - LYNX - имя машины, то <cfapplication .... setdomaincookies="NO"> должно быть. Если вызывать страницу как http://lynx.development.net-bid.net/login.cfm, то в этом случае setdomaincookies может быть и "YES".
Как написано в документации, в случае с "YES" куки сетятся для домена, а браузер, вызванный для локального имени машины, таких куков не видит (соответственно не видит CFIF-CFTOKEN и соответственно не передает их следующей странице). Так что сессия у тебя каждый раз новая - можешь проверить по CFID-CFTOKEN [img:bf6871e7d7]images/smiles/icon_smile.gif[/img:bf6871e7d7])
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

Next ColdFusion question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>

вообще какая то хрень получается -

в application.cfm я их инициализирую какими нибудь переменными, а потом уже пытаюсь в login.cfm эти переменные изменить, так вот когда я перехожу на другую страницу они становятся опять такими же как в application.cfm

что же это за мучение то такое [img:f197445a4b]images/smiles/icon_sad.gif[/img:f197445a4b]</STRONG><HR></BLOCKQUOTE>

может она успевает прибиться ?
постваь в тэг про application такое: sessiontimeout (or just timeout) =createtimespan(0,20,0) - or smth. like that, this would be for 20 minutes

я могу разрыть свои старые поделки на cf с логинами и сессиями, но это до вечера

[ 29-10-2001: Message edited by: dimach ]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by GreenOrc:
<STRONG>Ув. webdeveloper. Когда Вы вызываете на проверку свою страницу как (я на примере своей машины скажу) http://lynx/login.cfm - LYNX - имя машины, то <cfapplication .... setdomaincookies="NO"> должно быть. Если вызывать страницу как http://lynx.development.net-bid.net/login.cfm, то в этом случае setdomaincookies может быть и "YES".
Как написано в документации, в случае с "YES" куки сетятся для домена, а браузер, вызванный для локального имени машины, таких куков не видит (соответственно не видит CFIF-CFTOKEN и соответственно не передает их следующей странице). Так что сессия у тебя каждый раз новая - можешь проверить по CFID-CFTOKEN [img:e34e04b16d]images/smiles/icon_smile.gif[/img:e34e04b16d])</STRONG><HR></BLOCKQUOTE>


Я уже и так и так пробовал. Не работает зараза [img:e34e04b16d]images/smiles/icon_sad.gif[/img:e34e04b16d]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by dimach:
<STRONG>

может она успевает прибиться ?
постваь в тэг про application такое: sessiontimeout (or just timeout) =createtimespan(0,20,0) - or smth. like that, this would be for 20 minutes

я могу разрыть свои старые поделки на cf с логинами и сессиями, но это до вечера

[ 29-10-2001: Message edited by: dimach ]</STRONG><HR></BLOCKQUOTE>

я проверил на административное консоли стоит значение для переменных сессии - 20 минут.

что интересно переменные приложения работают нормально. А вот сессии какие то чумные.
GreenOrc
Уже с Приветом
Posts: 145
Joined: 23 Jun 2000 09:01
Location: Kyiv, Ukraine

Next ColdFusion question

Post by GreenOrc »

Странно, потому что у меня твоя ситуация в точности повторилась и вылечилась именно этим способом.... Дебажь в направлении куков. Могет у тебя браузер вообще любые куки режет? Используй комбинации javascript и ColdFusion.

Сообщи о результатах [img:557daa6120]images/smiles/icon_smile.gif[/img:557daa6120]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by GreenOrc:
<STRONG>Странно, потому что у меня твоя ситуация в точности повторилась и вылечилась именно этим способом.... Дебажь в направлении куков. Могет у тебя браузер вообще любые куки режет? Используй комбинации javascript и ColdFusion.

Сообщи о результатах [img:9375e5f149]images/smiles/icon_smile.gif[/img:9375e5f149]</STRONG><HR></BLOCKQUOTE>

конечно сообщу, если смогу исправить это все безобразие.

p.s. а вот кто то MS не любит [img:9375e5f149]images/smiles/icon_biggrin.gif[/img:9375e5f149]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

Проблема решилась сама собой при помощи перезапуска сервера [img:a36533d9f7]images/smiles/icon_smile.gif[/img:a36533d9f7]

Сейчас вроде все работает. Мужики, всем ОГРОМНОЕ спасибо. Не знаю в чем было дело, но вместе было не так скучно ковырятся [img:a36533d9f7]images/smiles/icon_smile.gif[/img:a36533d9f7]

зы, а ASP все равно лучше [img:a36533d9f7]images/smiles/icon_smile.gif[/img:a36533d9f7]
stas_u
Уже с Приветом
Posts: 304
Joined: 27 Apr 2001 09:01
Location: Limerik, Ireland

Next ColdFusion question

Post by stas_u »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>

вообще какая то хрень получается -

в application.cfm я их инициализирую какими нибудь переменными, а потом уже пытаюсь в login.cfm эти переменные изменить, так вот когда я перехожу на другую страницу они становятся опять такими же как в application.cfm

что же это за мучение то такое [img:2f77be9119]images/smiles/icon_sad.gif[/img:2f77be9119]</STRONG><HR></BLOCKQUOTE>
application.cfm вызывается с КАЖДОЙ страницей. соответственно значения затираются.
CFPARAM спасет отца русской демократии.
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

Продолжая начатую тему

Как выснилось, в отличие от ASP, при открытии нового окна в браузере, новая сессия в ColdFusion не начинается.

тоесть видимо пользователю нужно будет каждый раз по завершению работы с приложением делать log Off, т.к. простое закрытие окна браузера не убивает сессию
User avatar
GShapiev
Уже с Приветом
Posts: 2278
Joined: 02 Jan 2001 10:01
Location: MSK; NJ; MA; UAE, Chicago

Next ColdFusion question

Post by GShapiev »

Так они у тебя на каждой странице обнулятся будут [img:9d77383aff]images/smiles/icon_smile.gif[/img:9d77383aff] Application.cfm вызывается с каждой страницей. Используй CFPARAM или IsDefined
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by GShapiev:
<STRONG>Так они у тебя на каждой странице обнулятся будут [img:18512ceb04]images/smiles/icon_smile.gif[/img:18512ceb04] Application.cfm вызывается с каждой страницей. Используй CFPARAM или IsDefined</STRONG><HR></BLOCKQUOTE>

а зачем тут это? это же вроде не хранимая процедура то?
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

Next ColdFusion question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by GShapiev:
<STRONG>Так они у тебя на каждой странице обнулятся будут [img:95593de63e]images/smiles/icon_smile.gif[/img:95593de63e] Application.cfm вызывается с каждой страницей. Используй CFPARAM или IsDefined</STRONG><HR></BLOCKQUOTE>

а, ну да, точно так
совсем забыл [img:95593de63e]images/smiles/icon_smile.gif[/img:95593de63e]
User avatar
GShapiev
Уже с Приветом
Posts: 2278
Joined: 02 Jan 2001 10:01
Location: MSK; NJ; MA; UAE, Chicago

Next ColdFusion question

Post by GShapiev »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>

а зачем тут это? это же вроде не хранимая процедура то?</STRONG><HR></BLOCKQUOTE>

CF[b:a64cc9f698]PARAM[/b:a64cc9f698] не CF[b:a64cc9f698]PROCPARAM[/b:a64cc9f698]. Срочно читать документацию [img:a64cc9f698]images/smiles/icon_smile.gif[/img:a64cc9f698]
User avatar
GShapiev
Уже с Приветом
Posts: 2278
Joined: 02 Jan 2001 10:01
Location: MSK; NJ; MA; UAE, Chicago

Next ColdFusion question

Post by GShapiev »

Писать нужно приблизительно так:

<cfparam name="session.FirstName" type="string" default="">...
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by GShapiev:
<STRONG>

CF[b:df21b77e43]PARAM[/b:df21b77e43] не CF[b:df21b77e43]PROCPARAM[/b:df21b77e43]. Срочно читать документацию [img:df21b77e43]images/smiles/icon_smile.gif[/img:df21b77e43]</STRONG><HR></BLOCKQUOTE>

да была бы она [img:df21b77e43]images/smiles/icon_sad.gif[/img:df21b77e43] в чем между ними разница то?

Есть у меня траница login.cfm. Там и создаются переменные сессии

<cfset Session.FirstName = #strFirstName#>
<cfset Session.LastName = #strLastName#>
<cfset Session.UserGroupName = #strUserGroupName#>
<cfset Session.UserGroupID = #strUserGroupID#>

а потом я пытаюсь на других страницах их прочитать. Так вот на login.cfm они видятся, а на других нет.
Olegus
Уже с Приветом
Posts: 4642
Joined: 18 Jan 2001 10:01
Location: Kharkov,UA->MA->WA->CT

Next ColdFusion question

Post by Olegus »

Так просто к сведению- есть классная технология которая позволяет очень просто строить CF приложения не используя application.cfm - www.fusebox.org
User avatar
GShapiev
Уже с Приветом
Posts: 2278
Joined: 02 Jan 2001 10:01
Location: MSK; NJ; MA; UAE, Chicago

Next ColdFusion question

Post by GShapiev »

Неправильно. Они у тебя создаются, когда любая страница открывается, так как они у тебя в Application.cfm. И там же обнуляются. На каждой странице обнуляются. Поэтому их нужно обнулять (создавать) только один раз. Для этого используется CFPARAM или IsDefined.
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

Next ColdFusion question

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>

да была бы она [img:665e9fad33]images/smiles/icon_sad.gif[/img:665e9fad33] в чем между ними разница то?

Есть у меня траница login.cfm. Там и создаются переменные сессии

<cfset Session.FirstName = #strFirstName#>
<cfset Session.LastName = #strLastName#>
<cfset Session.UserGroupName = #strUserGroupName#>
<cfset Session.UserGroupID = #strUserGroupID#>

а потом я пытаюсь на других страницах их прочитать. Так вот на login.cfm они видятся, а на других нет.</STRONG><HR></BLOCKQUOTE>

так application.cfm вызывается поперыод и благополучно затирает [img:665e9fad33]images/smiles/icon_wink.gif[/img:665e9fad33]


можно поставить обнуление переменных в иф:

<cfif not isdefined("session.firstname")>
<cfset session.firstname="">
<cfset session.lastname="">
....
</cfif>
User avatar
GShapiev
Уже с Приветом
Posts: 2278
Joined: 02 Jan 2001 10:01
Location: MSK; NJ; MA; UAE, Chicago

Next ColdFusion question

Post by GShapiev »

Документация очень легко и бесплатно скачивается с Allaire.com. Если не скачивается, пришли письмо, я ее тебе отправлю.
User avatar
DP
Уже с Приветом
Posts: 17359
Joined: 24 Jan 1999 10:01
Location: Pittsburgh, PA, USA

Next ColdFusion question

Post by DP »

кстати о птичках... у меня сегодня есть 2 req. для ColdFusion девелоперов

Overland-Parl, KS
6+ month
W-2 hourly = 45-50 $/hour
W-2 salaried = 60-75 K/year

вдруг где есть безработные CF-девелоперы [img:d279eda460]images/smiles/icon_smile.gif[/img:d279eda460]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Next ColdFusion question

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by dimach:
<STRONG>

так application.cfm вызывается поперыод и благополучно затирает [img:855f6c1760]images/smiles/icon_wink.gif[/img:855f6c1760]


можно поставить обнуление переменных в иф:

<cfif not isdefined("session.firstname")>
<cfset session.firstname="">
<cfset session.lastname="">
....
</cfif></STRONG><HR></BLOCKQUOTE>

тоесть каждый раз когда я обращаюсь к странице вызывается и выполняется application.cfm ? я думал что только когда сессия новая начинается.

я попробовал сделать так как ты сказал - не помогло [img:855f6c1760]images/smiles/icon_sad.gif[/img:855f6c1760]

вот то что у меня сейчас есть в этом файле


<cfapplication name="CFMTEST" clientmanagement="Yes" sessionmanagement="Yes" setclientcookies="Yes" setdomaincookies="Yes">

<cfset Application.DateSourse = "CFMTEST">
<cfset Application.UserName = "sa">
<cfset Application.Password = "test">

<cfif Not IsDefined("Session.FirstName")>
<cfset Session.FirstName = "">
<cfset Session.LastName = "">
<cfset Session.UserGroupName = "">
<cfset Session.UserGroupID = "">
</cfif>

Return to “Вопросы и новости IT”