I need to be able to capture a variable on a redirect
The code works like this:
if user is logged in send user to page review?id=1234 (this works as expected)
other wise they are sent to the login page main.php with the code below:
else{
header('Location: main.php');
}
Then on main.php when the user logs in they are returned back to the page that they were previously on based on the
$_SERVER['HTTP_REFERER'] rather than review?id=1234
For some reason because I am using the header function to redirect it doesn't count the page that it was trying to access as the referrer page it counts the page that the user was previously on.
What I need to be able to do is capture the page the user would have accessed if they were logged in so I can redirect them there after they login. The ID in the URL references a unique product ID that provides information on the product based on that ID.
PHPMySQL Server
Last Comment
neilsav
8/22/2022 - Mon
Kyle Hamilton
You could use javascript to capture the query (review?id=1234) as a variable (link) and POST it to your script in main.php. Then, instead of using REFERER, use the variable ($link = _POST[link])
(To give you exact code, I would need to see your scripts and page source.)
You might use sessions to store the pagename of the current page then you can get the last value of the session on any page, after that you can change the session value after getting the pagename with the current one
Can you supply the code to store the page name in a session?
Will this have any effect on the session I create when a user logs in? Can you run multiple sessions at once?
Ray Paseur
Will this have any effect on the session I create when a user logs in? Can you run multiple sessions at once? Based on these questions I am going to recommend a good book for you to get started in PHP. http://www.sitepoint.com/books/phpmysql4/
In PHP the "session" is an array. You can store lots of things in an array. It can contain scalar variables, arrays (yes, an array of arrays) and objects. About the only things you cannot put into the session are the resources that are unique to the instant request, such as the data base connections.
In the article I mentioned above, look for the use of the array key "entry_uri" and you will have your answer. It is set in the first line of the access_control() function:
// REMEMBER HOW WE GOT HERE $_SESSION["entry_uri"] = $_SERVER["REQUEST_URI"];
If you search the rest of the article for "entry_uri" you will understand what it contains and how it is used to store the page name in the $_SESSION array.
Best of luck with your PHP adventures, ~Ray
neilsav
ASKER
The problem is I use phpbb as my login system so I don't have access to the session nor do I want to mess with the session that they have configured. So I am concerned about the impact on creating a new session.
Here is what I would do. Write a script that requires the login through PHPBB. Inside that script put this statement:
var_dump($_SESSION);
Read the output from var_dump(). From that you can probably infer what keys in the $_SESSION array are used by PHPBB. Choose a key that will not collide with the PHPBB keys. Put the session data you want in that key.
(To give you exact code, I would need to see your scripts and page source.)