New Bookstore! Save 20% on books with discount code: LAUNCH
Web Dev + WordPress + Security

Go Back via JavaScript and PHP

This quick tutorial explains how to use HTML, JavaScript, and/or PHP to enable visitors to “go back” to the previous page. You can use either method to add a simple “go back” link or form button to your web pages.

“Go back” link via HTML & JavaScript

Use this simple code as a button that will return users to the previous page:

<form>
	<input type="button" value="Return to previous page" onClick="javascript:history.go(-1)" />
</form>

Here it is as a simple text link:

<p>
	<a href="javascript:history.go(-1)" title="Return to the previous page">&laquo; Go back</a>
</p>

You can customize the text and attributes as desired.

“Go back” link via PHP, HTML, & JavaScript

You can make things easier by serving PHP and printing the link automatically. Here is the button link:

echo '<form><input type="button" value="Return to previous page" onClick="javascript:history.go(-1)"></form>';

And here is the PHP code to print a “Go back” text link:

echo '<p><a href="javascript:history.go(-1)" title="Return to previous page">&laquo; Go back</a></p>';

As before, customize the text and attributes as desired.

Advanced “go back” technique with PHP

Better yet, you can kick the accessibility factor up a notch by using PHP’s global HTTP_REFERER variable to write explicitly the previous URL, thereby eliminating the JavaScript requirement (thanks to Rick Beckman for the idea):

<?php $referer = filter_var($_SERVER['HTTP_REFERER'], FILTER_VALIDATE_URL);
	
	if (!empty($referer)) {
		
		echo '<p><a href="'. $referer .'" title="Return to the previous page">&laquo; Go back</a></p>';
		
	} else {
		
		echo '<p><a href="javascript:history.go(-1)" title="Return to the previous page">&laquo; Go back</a></p>';
		
	}
?>

The previous code will create an explicit “Go back” link when the referring URL is known. In those awkward situations where no referring URL has been recognized, the function writes a “Go back” link via JavaScript. Note that you can refine the sanitizing function, filter_var() to suit your needs by adding various filter flags.

Jeff Starr
About the Author
Jeff Starr = Fullstack Developer. Book Author. Teacher. Human Being.
WP Themes In Depth: Build and sell awesome WordPress themes.

5 responses to “Go Back via JavaScript and PHP”

  1. Rick Beckman 2007/03/12 2:34 pm

    If you are using PHP for it, wouldn’t it be easier to catch the referral URL, if present, and then presenting the link with an actual URL pointer, rather than JavaScript? Accessibility would be helped quite a bit then.

    If no referral URL is set (some users turn it off), a JavaScript-based fallback could be used.

  2. Jeff Starr
    Perishable 2007/03/12 3:08 pm

    Of course, of course … I was just testing you ;)

    Check out the new, improved version of the article to see your idea in action.

    – Thanks for the catch!

  3. Rick Beckman 2007/03/12 3:49 pm

    You’re welcome!

  4. thank you for the info! works fine…

  5. Jeff Starr
    Perishable 2007/09/22 8:59 pm

    Happy to help!

Comments are closed for this post. Something to add? Let me know.
Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
WP Themes In Depth: Build and sell awesome WordPress themes.
Thoughts
LOL @ “weekly” support: “Your request has been received and will be reviewed soon. Neil (your support guy) checks support requests weekly. Rest assured we’ll get to it!” — Gotta be kidding with this.
After several days of work, finally taking a break. If anyone needs me, I'll be in Zora’s Domain, working thru Mah Eliya shrine.
Never ever call the client a useless idiot. Even if it’s true.
Inevitable that Google shuts down Feedburner. Maybe this year? Who knows. Here is a nice summary plus alternatives.
There is no way that Marvel can serve up anything better than what they've already done with Infinity saga/Endgame. Knowhere to go but down, sadly.
I built a new search launchpad to make my life easier. So I can search multiple engines quickly and easily.
Updating all muh plugins for WP 5.5 imminent release! Wut August :)
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.