Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6557093
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T13:01:49+00:00 2026-05-25T13:01:49+00:00

I’ve got a bit of a dilemma with some PHP code. The site I’m

  • 0

I’ve got a bit of a dilemma with some PHP code. The site I’m working on has a “Back to Previous Page” option and I’d like it to behave much like a browser’s back button. As it stands right now, I’m using a $_SESSION variable to track what the current and previous pages are. I’ve also “refresh-proofed” the variables so that I don’t end up with both the previous and current pages being the same.

So here’s the issue:
With the current implementation, if I go to one page, say “register.php” and then go to “forgot.php”, the previous page will be “register.php” which is fine. However, if I click “Back to Previous Page” I’ll end up back at “register.php” with the previous page being “forgot.php” which now leaves me with a 2-page loop with going back.

I tried implementing SplQueue to help me keep track of variables and I tried using the dequeue() function in my links to get the last page to show up as the link. The problem comes in when the dequeue is actually called and causes the element to disappear so that if I refresh, the element is no longer in the queue and the link changes. I fixed this by “refresh-proofing” the function that calls the dequeue for me and it works as I would like it to. The problem is now forward-linking. If I direct myself to another page, I don’t want the old links to dequeue information.

Ex:
I’m on register.php and my previous page is “forgot.php”. The “Back to Previous Page” link accurately shows that “forgot.php” is the page it will direct to, but now it’s no longer in the queue, so if I go to another page, say “profile.php” and then use the back button to go back to “register.php”, it will no longer show “forgot.php” as the page that you will go to if you hit “Back to Previous Page” again.

So, I guess my question is really how I can make a link call a PHP function without actually calling that function UNTIL the link has been clicked. I’ve tried having the link point to a JavaScript function, but the JS functions tend to tell me that my queue is empty, which is completely wrong.

As a side note, the pages are a mix of HTML and PHP. The HTML is supplied to me and I’ve been adding the PHP in to add functionality to fields and to get data from a database. I have no problem using PHP to echo the HTML links if I have to, and if it can be done in HTML with a small <?php someCode(); ?>, that’s fine too.

I thank you for your time to try and help me out.

EDIT:

So to try and clarify a bit, I have a structure that is currently tracking pages that the user has already been to as they visit them. It creates a mini history of the pages. My issue is that I have code like this:

<a href="somelink">Back To Previous Page</a>

And I don’t know what “somelink” is since it will change depending on your history. I know I can do something like:

<a href="<?php someFunction() ?>">Back To Previous Page</a>

If I do anything like the above, the function is executed as the page is being displayed, so it makes it difficult to use an array_pop() or a dequeue() but again, the PHP will be executed as soon as the page is displayed. What I’m looking for is a way to display the link and then remove it from the history if and only if the “Back to Previous Page” link is clicked. As of right now, I’m storing an array in $_SESSION as was suggested below and since it’s an array, I can show the last element in the array as the link, so the only real problem is to find a way to remove elements from the array when the link is clicked.

EDIT 2:

I’ve been scouring the internet and decided upon using JavaScript with AJAX to call a PHP file. This allows me to us an onClick on the links I have so that I can control when I array_pop from my $_SESSION['links'] variable.

I don’t think my AJAX is actually doing anything sadly, so the code I’m using is below.

<script src="js/jquery-1.4.2.min.js" type="text/javascript">
function dequeue()
{
    $.ajax({
            type: "POST",
            url: "common.php",
            data: {action: "rem"},
            success: function(output) {
                  alert(output);
              }
        });
}
</script>

and the PHP is

switch($_POST['action'])
{
case "rem":
    array_pop($_SESSION['links']);
    break;
default:
    if(isset($_SESSION['current']) && $_SESSION['current'] != $_SERVER['REQUEST_URI'])
    {
        array_push($_SESSION['links'], $_SESSION['current']);
    }

    $_SESSION['current'] = $_SERVER['REQUEST_URI'];
    break;
}

As far as I can tell, this will allow me to add a link to the history in the session variable unless I’m clicking on the “Back to Previous Page” link since that link will have the “rem” code. I’m also a bit suspicious of the $_SESSION['current'] = $_SERVER['REQUEST_URI']; and where it should be placed.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T13:01:50+00:00Added an answer on May 25, 2026 at 1:01 pm

    You can store array in a session and treat the array like a stack (use array_push and array_pop accordingly). When the user hits something but the back button, push the current page to the stack. otherwise, pop it.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've got a string that has curly quotes in it. I'd like to replace
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I want to count how many characters a certain string has in PHP, but
That's pretty much it. I'm using Nokogiri to scrape a web page what has
For some reason, after submitting a string like this Jack’s Spindle from a text
Basically, what I'm trying to create is a page of div tags, each has
I would like to count the length of a string with PHP. The string
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I have some data like this: 1 2 3 4 5 9 2 6
I have just tried to save a simple *.rtf file with some websites and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.