Solved

PHP and sessions

Posted on 2011-09-26
5
291 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 83

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

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
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…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

739 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