Looking for more detailed information on how Session Variables work.

Options
I've been working on building out a registration process for our TeamRaiser events that relies heavily on Session Variables to minimize the manual updating of information on landing pages and emails. Great in theory until I began to use too many of them and ran into issues.


It was only then that I discovered this post from 2012 that some other people had similar ideas/challenges. 


This post mentions variables can't be overwritten, but I am able to get one variable to overwrite what was set earlier in the session, but it's only that one specific variable and only can get it to change once, not to change back. 


Is there any additional information on how these work? Specifically:
  • How can session variables be updated? What makes it work in some instances but not others when the code is exactly the same? 
  • Aside from logging out is there a way to clear session variables?
  • Is there a way to see all active session variables to know how close we are to the 50 variable limit? 


 
Tagged:

Comments

  • Hi Jon,


    May probably be able to answer some of your Qs -- these are general perspective instead of addressing your case/need specifically with regards of Registration flows


    Convio Session Variable -- you can initiate / declare a session variable either through "s_" prepended URL parameter  &s_variableName=value or through the use of U0 tag  in syntax fashion like this below:
    [[U0:myVariable=value]]      (declaring/initiation)
    [[S80:myVariable]]                 (retrieving post declaration -- once declared, the value could be retrieved either in the same page, or subsequent page through the use of that S80 tag)


    Feel free to change "myVariable" to your actual variable name, and "value" to any value you want it to hold, you can have as many different variables you have and to overwrite the initial value, you will probably need to change the value in a page refresh mechanism (or going to another new page) through that "s_" prepended URL parameter with the same variable name (case sensitive) and the desired updated value.  If you call another page, you can also update your session variable through the use of U0 tag, just have the tag with the same variable name and updated value as alternative to passing it through URL parameter.

    Convio session variable are usually destroyed when you close the browser instance  (it's never retained eventhough the login session still active when you reopen another browser instance)


    I dont' think there are any limits on how many custom session variables you wish to have -- but also you can tap into assigning the value temporarily to a javascript variables and reuse instead of declaring new variables all the time. You can probably also think about breaking the value of a session variable into Javascript array (all kind of out of the box ideas). Read the ADD ON note


    regards,

    Daniel


    ADD ON Note:
    • Session variables are always initiated first because they are on server-side levels.
    • You can pass the initial value of a session variable to a Javascript variable  

      i.e. var myJSvar="[[S80:mySessionVar]]";  

      and you can further modify/update the Javascript value while being on the same page BUT if you want the session variable to hold the updated value, you will have to need to do it through the page refresh with that aforementiond URL parameter approach (or hidden iframe with src refresh containing the updated and appended "s_" URL parameter)  because the client-end technologies like Javascript can't communicate back with a server-side technologies once the page is loaded / initiated.  Note: always good practice to assign that value as string value in Javascript initially -- you can then convert the string to integer etc if needed using the JS built in function.
    • Alternatively, you can also use Javascript Cookies in lieu of Session variable (thus no hassle on porting back and forth the value in between the two types of variables -- in same manner, JS cookies normally get destroyed by default at the closing of your browser instance) 

     

    Jonathan Cass:

    I've been working on building out a registration process for our TeamRaiser events that relies heavily on Session Variables to minimize the manual updating of information on landing pages and emails. Great in theory until I began to use too many of them and ran into issues.


    It was only then that I discovered this post from 2012 that some other people had similar ideas/challenges. 


    This post mentions variables can't be overwritten, but I am able to get one variable to overwrite what was set earlier in the session, but it's only that one specific variable and only can get it to change once, not to change back. 


    Is there any additional information on how these work? Specifically:

    • How can session variables be updated? What makes it work in some instances but not others when the code is exactly the same? 
    • Aside from logging out is there a way to clear session variables?
    • Is there a way to see all active session variables to know how close we are to the 50 variable limit? 


     

     

     

Categories