[coldfusion] sessions killen

Pagina: 1
Acties:

  • Erikie
  • Registratie: September 2000
  • Laatst online: 02:37

Erikie

www.erikie.nl

Topicstarter
Hehe, eindelijk ben ik er achter hoe je sessions kan maken in coldfusion... voorbeeldje :

PHP:
1
2
3
4
5
6
<cfapplication name="UserInfo"  sessionmanagement="Yes" sessiontimeout=#CreateTimeSpan(0,0,1,0)#>
      <cflock scope = "session" timeout = "10" type = "Exclusive">
        <cfset session.AdmID = "#AdmID#">
        <cfset session.Leerling = "#Leerling#">
        <cfset session.Functie = "#Functie#">
       </cflock>


(variabellen #AdmID# etc komen ntuurlijk uit een form)

maareuuh.. nu komt de hamvraag.. Hoe kan ik een session destroyen (net zoals in php (lekker simpel) :
PHP:
1
2
3
4
5
session_start();

session_unset();

session_destroy();


d'r moet toch wel iets simpels zijn om je 'cfapplication' te resetten / destroyen / dumpen / killen of wat dan ook?! 'k kwam op t idee om bv <cfset session.AdmID = false> te zetten, maar dat werkt niet. Wel werkt t als je je browser hebt afgesloten, maarja, een leuk buttontje op die site is ook wel leuk.. (ipv sluit browser en log opnieuw in :)) 'k weet effe niet waar ik moet zoeken. 'k heb de handleiding van cf5 helemaal doorgespit (vooral cfapplication functie), maar die is niet zo heel erg uitgebreidt.

ff specs : coldfusion server 5 / apache .. (en ja, het wordt eens tijd dat ik naar de boekenwinkel ren, maar morgen (vandaag zondag) zijn de winkels dicht! )

traktor scratch!


  • jochemd
  • Registratie: November 2000
  • Laatst online: 28-08 15:41
Je kan StructClear() of StructDelete() gebruiken.
code:
1
2
3
<cfset session.AdmID = "#AdmID#">
moet zijn:
<cfset session.AdmID = form.AdmID>

Verwijderd

Of de cfid en cftoken cookies verwijderen :)

  • Erikie
  • Registratie: September 2000
  • Laatst online: 02:37

Erikie

www.erikie.nl

Topicstarter
jochemd schreef op 10 november 2002 @ 15:10:


code:
1
2
3
<cfset session.AdmID = "#AdmID#">
moet zijn:
<cfset session.AdmID = form.AdmID>
ja dit klopt, maar ik heb hiervoor :

PHP:
1
2
3
<cfif IsNumeric(form.AdmNr)>    

<cfif>


#AdminID# is trouwens een resultaat uit de dbase.. vandaar.. :)

traktor scratch!


  • jochemd
  • Registratie: November 2000
  • Laatst online: 28-08 15:41
Dan heb je nog steeds te veel "##" ellende. Daarnaast kan je je maar beter nu aanleren om volledige variabele scopes te gebruiken voordat je bij een upgrade er achter komt dat het allemaal net even w3at anders werkt.

Verwijderd

Jochemd heeft gelijk, bovendien scheelt het in performance om direct de juiste scope te pakken, anders gaat ColdFusion eerst de lijst van de diverse scopes op volgorde af :)

  • Erikie
  • Registratie: September 2000
  • Laatst online: 02:37

Erikie

www.erikie.nl

Topicstarter
ah.. dus als ik het goed begrijp, moet ik de #blaat# zo snel omzetten in een scope.. Ik ben helemaal nog niet zo thuis in cfm, maar ik wil er wel wat ervaring in op doen. (daarom ren ik maandag (morgen!!) effe naar de bookstore). maar om toch nog effe verder te kunnen.. bedoelen jullie zoeits?!

PHP:
1
2
3
            <CFOUTPUT QUERY="user">
                <cfset AdmID="#AdmID#">
            </CFOUTPUT>


en dan (na controle etc of ie goed is of niet )

PHP:
1
        <cfset session.AdmID = AdmID>



tot nu toe vind ik cfm absoluut niet op andere talen lijken zoals perl / php & asp.. Normaal werk ik alleen maar met php / asp, maar dit is effe een hele andere opzet qua code. Zo begrijp ik nog steeds niet wanneer je ("variable") ('variable') (variable) of variable moet gebruiken.. en soms heb je van : <cfif ("jaap") IS NOT ""> etc, en bij het definieeren van je variablen moet je juist wel weer een = teken gebruiken.. 'k vind t zeer verwarrend, maar ach, dr zal wel een goeie reden achter zitten.

traktor scratch!


  • jochemd
  • Registratie: November 2000
  • Laatst online: 28-08 15:41
"variabele" is gelijk aan 'variabele', zowel " als ' zijn string delimiters en het maakt niet uit welke je gebruikt.
<cfif ("jaap") IS NOT ""> is geen logische code. Door de dubbele quotes rondom jaap is jaap een string in plaats van een variabele, en de string jaap is natuurlijk nooit gelijk aan een lege string.

Je zou eens kunnen kijken bij de online documentatie voor een iets uitgebreidere uitleg hierover: http://livedocs.macromedi...ons/firstApp4.jsp#1103714
In elk geval zou ik jouw code voor het controleren van een variabele uit een query en dan naar een session variabele omzetten ongeveer zo schrijven:
code:
1
2
3
4
5
<cfloop query="user">
    <cfif user.name is form.name>
        <cfset session.AdminID = user.AdminID>
    </cfif>
</cfloop>

  • Erikie
  • Registratie: September 2000
  • Laatst online: 02:37

Erikie

www.erikie.nl

Topicstarter
wtf, je hebt gewoon (ongeveer) mijn 40 tellende regels inlog pagina in 5 regels getypt... love u!! (ohnee, je bent wel cflock vergeten maargoe).

traktor scratch!

Pagina: 1