1,105,380 Community Members

Directory can not access session?

Member Avatar
megachip04
Light Poster
34 posts since Jul 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

I have an approve.php inside an /include directory. I have another file inside the /pop_up directory.

Approve.php

if (!isset($_SESSION['username'])) {
	header("location:log_in.php");
	die();
}

When i run the include('include/approve.php') code in files in the main directory, it works. When I run the include('../include/approve.php') in files in the pop_up/ directory it seems to always find that $_SESSION is not set.

Any suggestions?

Member Avatar
MagicMedia
Junior Poster
148 posts since Jul 2010
Reputation Points: 10 [?]
Q&As Helped to Solve: 35 [?]
Skill Endorsements: 0 [?]
 
0
 

By default, sessions and cookies start at the root path of the file that created it and all lower sub-folders. Either move your session script at least as high as your other scripts that need it or try to change your session location with session_save_path .

Member Avatar
megachip04
Light Poster
34 posts since Jul 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

Is there a way to set it to where they can all access session? I create the session in /include, but I need /include and /pop_up to be able to access it.

Member Avatar
diafol
Where are my eyes?
12,977 posts since Oct 2006
Reputation Points: 1,821 [?]
Q&As Helped to Solve: 1,848 [?]
Skill Endorsements: 92 [?]
Moderator
Featured
Sponsor
 
0
 

ALL files must have a session_start() in them (or in their include files) if session variables can be got at.

I assume the popup files (or the files included in them) do not have a session_start().

//EDIT reading that back I don't know if it makes sense.

Best thing to do perhaps is place session_start() at the top of each main file. You don't need session_start in include files if it's already been declared in the main file.

Member Avatar
megachip04
Light Poster
34 posts since Jul 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

thanks. that would not be the first time I have missed that.

Question Answered as of 2 Years Ago by diafol and MagicMedia
Member Avatar
shah01
Newbie Poster
1 post since Feb 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Thanks "ardav" and "Magic Media" for your valuable suggestion.

You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
View similar articles that have also been tagged: