Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Form Questions

Retrieving Session data


Reply

3 Posts   649 Views

Avatar
Chilli-D

26 March 2012 at 11:07pm Community Member, 5 Posts

I have a simple form which I need the user to enter a postcode and that information then display on a specific template page.

My form looks like this:

// Directions Form
   function DirectionsForm() {
// Create fields
$fields = new FieldSet(
new TextField('Postcode', 'Enter Postcode')
);
      
// Create actions
$actions = new FieldSet(
new FormAction('doDirections', 'Submit')
);
      
$form = new Form($this, 'DirectionsForm', $fields, $actions);
      
      return $form;
}
   
   
   function doDirections($data, $form) {
      Session::set('StartPoint', $data->$postcode);
      Director::redirect('get-directions/');
}

The template I wish to display my postcode on, then looks like this:

function Postcode() {
      Session::get('StartPoint');
   }

And finally, the action to display the value is:

<% control Postcode %>
<h2>My Postcode is: $data('StartPoint')   </h2>
<% end_control %>

I know I'm missing something fundamentally basic here, but my brain has blanked - can anyone point me in the right direction please?

Avatar
novaweb

27 March 2012 at 2:32pm Community Member, 115 Posts

Hey Chilli-D,

Multiple things are wrong here, hopefully this should work for you:

Code:

function DirectionsForm() {
$fields = new FieldSet(
new TextField('Postcode', 'Enter Postcode')
);

$actions = new FieldSet(
new FormAction('doDirections', 'Submit')
);

$form = new Form($this, 'DirectionsForm', $fields, $actions);
return $form;
}

function doDirections($data, $form) {
Session::set('StartPoint', $data['Postcode']);
Director::redirect('get-directions/');
}

function Postcode() {
Session::get('StartPoint');
}

Template:

<% control Postcode %>
   <h2>My Postcode is: $Postcode</h2>
<% end_control %>

Avatar
Chilli-D

27 March 2012 at 9:36pm Community Member, 5 Posts

Thanks novaweb!

I worked this out late last night - however, you have been a little more efficient than me, so I will probably use this!

Chilli