Use of ezhttp with session variables

Author Message

Emmanuel Bosatelli

Tuesday 30 May 2006 9:45:35 am

Hi all,

I have a problem with setting a session variable in a php script and then retrieving it in a template. It seems easy, and maybe it is, but I've struggled for several hours...

In my pagelayout.tpl I've included the following code :

<p>My variable : {ezhttp('myvar','session')}</p>
<form method="post" action="/updateSession.php">

<input id="module_result_uri" type="hidden" name="module_result_uri" value="{$module_result.uri}" />

....
</form>

The file updateSession.php looks like :

<?php
$redirect_uri = $_POST['module_result_uri'];

include_once( "lib/ezutils/classes/ezhttptool.php" );
$http =& eZHTTPTool::instance();
$http -> setSessionVariable('myvar','value');

header("location:$redirect_uri");

//print($http->sessionVariable('myvar'));print("<br/>");
//print($http->sessionId());
?>

The principle is that when the form is submitted, the php script sets some session variables (normally with submitted values) and then the original page is displayed and session-saved variables should be available for later operations.

The problem is that when the original page is displayed again, the line {ezhttp('myvar','session')} does not display any value.

I'm not sure I have well understood how eZ publish sessions work (is there a configuration to do to access session variables in a template?), but finding information about it is rather hard...

Any help or advice is really really welcome !
Thanks.
Emmanuel

Emmanuel Bosatelli

Wednesday 31 May 2006 9:36:38 am

I've solved my problem by using an alternative solution : I moved the code from the file updateSession.php into a template operator, and then it works, I can set and retrieve session variables.

Nevertheless, I'm still interessed to know why my first solution does not work, if anybody can explain it to me.
emmanuel

ola adigun

Monday 08 January 2007 2:23:09 pm

Do you care sharing more info on how this was accomplished?

Kristof Coomans

Monday 08 January 2007 11:17:23 pm

@Emmanuel

Your updateSession.php script does not initialize your eZ environment, and doesn't initialize the eZ session handler (db storage of session vars).

It's better to create a module/view for this, then the eZ environment gets initialized by the front controller (index.php).

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 18:18:36
Script start
Timing: Jan 18 2025 18:18:36
Module start 'layout'
Timing: Jan 18 2025 18:18:36
Module start 'content'
Timing: Jan 18 2025 18:18:36
Module end 'content'
Timing: Jan 18 2025 18:18:36
Script end

Main resources:

Total runtime0.0177 sec
Peak memory usage2,048.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0074 587.9375152.6250
Module start 'layout' 0.00740.0029 740.562539.4453
Module start 'content' 0.01020.0055 780.007893.3359
Module end 'content' 0.01580.0019 873.343834.3047
Script end 0.0177  907.6484 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002715.2478140.0002
Check MTime0.00116.1436140.0001
Mysql Total
Database connection0.00158.436410.0015
Mysqli_queries0.002313.066730.0008
Looping result0.00000.079410.0000
Template Total0.00168.910.0016
Template load0.00094.907610.0009
Template processing0.00073.993410.0007
Override
Cache load0.00063.240710.0006
General
dbfile0.00021.334380.0000
String conversion0.00000.044440.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs