Solved

PHP and sessions

Posted on 2011-09-26
5
286 Views
Last Modified: 2012-06-27
I'm trying to save a url in a session variable so when I go to a new page, that url is available.

Here's what I'm doing. Note that this is an ExpressionEngine template and PHP is allowed and parsed before any javascript is sent to the browser.
Any session storage should take place when the PHP is parsed.

// if I place session_start() here, I get Session already started error
var REGISTER_URL            = '{site_url_https}register/';
function logon_or_signup() {
<?php 
  echo "// setting session info"."\n";
  $_SESSION['returnURL'] = "{site_url_https}/schedule";
  // it echos out perfectly at this point
  echo "//".$_SESSION['returnURL']."\n";
?>
  window.location = REGISTER_URL;
}

Open in new window


Now in the REGISTER_URL page:
<?php 
  session_start(); // don't get Session already started error here.
  echo "//".$_SESSION['returnURL']."\n"; // Getting undefined Index returnURL here
  if(isset($_SESSION['returnURL'])) {          
    echo "         <input type=\"hidden\" name=\"returnURL\" id=\"returnURL\" value=\"".$_SESSION['returnURL']."\" />";
  } else {          
    echo "         <input type=\"hidden\" name=\"returnURL\" id=\"returnURL\" value=\"/\" />";
  }
?>          

Open in new window

It just isn't working between the pages. Session values from phpinfo():
Session Support 		enabled
Registered save handlers 	files user mm
Registered serializer handlers 	php php_binary

Directive			Local Value	Master Value
session.auto_start		Off		Off
session.bug_compat_42		Off		Off
session.bug_compat_warn		On		On
session.cache_expire		180		180
session.cache_limiter		nocache		nocache
session.cookie_domain		no value	no value
session.cookie_httponly		On		On
session.cookie_lifetime		0		0
session.cookie_path		/		/
session.cookie_secure		Off		Off
session.entropy_file		/dev/urandom	/dev/urandom
session.entropy_length		16		16
session.gc_divisor		1000		1000
session.gc_maxlifetime		1440		1440
session.gc_probability		1		1
session.hash_bits_per_character	5		5
session.hash_function		1		1
session.name			PHPSESSID	PHPSESSID
session.referer_check		no value	no value
session.save_handler		files		files
session.save_path		/var/lib/php5	/var/lib/php5
session.serialize_handler	php		php
session.use_cookies		On		On
session.use_only_cookies	On		On
session.use_trans_sid		0		0

Open in new window


Any ideas on how to fix this?
0
Comment
Question by:EddieShipman
  • 2
  • 2
5 Comments
 
LVL 13

Accepted Solution

by:
haloexpertsexchange earned 500 total points
ID: 36601437
see if anything is being written to the cookie in your browser and to the session file under your session.save_path location.
0
 
LVL 26

Author Comment

by:EddieShipman
ID: 36601475
If I am able to check the value when it is written, wouldn't that be enough? I can't tell if anything is being written in the cookie because all it has is the ID. I don't see any changes to the dir in the savepath in the file with the same sessionid.
0
 
LVL 13

Expert Comment

by:haloexpertsexchange
ID: 36601510
That is all that is supposed to be in the cookie, and I was trying to see if anything was getting set up for the session at all.
I would also like to know if you are getting the same session id for both pages or if it is being changed in between pages?
You can use session_id() to figure out what it is.
0
 
LVL 26

Author Closing Comment

by:EddieShipman
ID: 36601558
I got it figure out. I moved the code from the javascript template to the HTML template and it worked perfectly.
It worked before with the code in the javascript template but what the worry? It works now...

Thanks.
0
 
LVL 82

Expert Comment

by:Dave Baldwin
ID: 36601583
"/var/lib/php5" for "session.save_path" implies a Linux or Unix system.  Is that what you running on?
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now