PHP Redirect Function

By  on  

After form submission or a page redirect is triggered, it's commonplace to redirect the user to a different page or to the same page, formatted in a different way. Usually, you'd complete this by coding:

header('Location:  destination.php');
exit();

This is a completely acceptable way to code your pages, but I prefer to use a redirect function instead. Why? It's much more readable, and quite honestly, I'm tired of writing the header('Location: ...'); code.

function redirect($url, $permanent = false) {
	if($permanent) {
		header('HTTP/1.1 301 Moved Permanently');
	}
	header('Location: '.$url);
	exit();
}

This function is incredibly easy to use and saves a lot of code.

Recent Features

  • By
    Responsive Images: The Ultimate Guide

    Chances are that any Web designers using our Ghostlab browser testing app, which allows seamless testing across all devices simultaneously, will have worked with responsive design in some shape or form. And as today's websites and devices become ever more varied, a plethora of responsive images...

  • By
    Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in...

Incredible Demos

  • By
    Create a Simple Slideshow Using MooTools

    One excellent way to add dynamism to any website is to implement a slideshow featuring images or sliding content. Of course there are numerous slideshow plugins available but many of them can be overkill if you want to do simple slideshow without controls or events.

  • By
    Link Nudging with CSS3 Animations

    One of the more popular and simple effects I've featured on this blog over the past year has been linking nudging.  I've created this effect with three flavors of JavaScript:  MooTools, jQuery, and even the Dojo Toolkit.  Luckily CSS3 (almost) allows us to ditch...

Discussion

  1. Do you use a plugin to highlight and format your php code?

  2. Shawn’s correct — you can go to the URL above to download the javascript and CSS files. I’m not using a WordPress plugin though — it’s easy to install on your own.

  3. Cool, I like the features it has over my current solution that I am using.

    Thanks.

  4. Ahm… As you’re already talking about the syntaxhighlighter… Why is the little “copy code”-snippet copying code AFTER it says “the code is in your clipboard now”!? Wouldn’t it make sense to copy it before the JS alert?
    Well, anyway – nice website Dave! I like it – and all the little code snippets are really nice. So simple, but helping a lot. Sometimes it’s harder to create them “the easy way”, so this really comes in handy. Thanks!

  5. Nice and thanx

  6. Mike Vysocka

    You can use highlight_string() in PHP to hightligt your code, or highlight_file()…
    http://php.net/manual/en/function.highlight-string.php

  7. eskenfense

    when i use this–>

    it respondes like
    Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\New2\4.php:1) in C:\wamp\www\New2\4.php on line 3

    what shall i do

  8. txongoku
  9. shayan

    hey,thats ok

    how i moust do if i want to run one of may actions in classes

    for example=>
    http://localhost:8007/frontend_dev.php/rmsSetupReservation/create

  10. Nika

    i get this errror message…what is the problem please help me…
    Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\bv\bookinsert.php:1) in C:\wamp\www\bv\bookinsert.php on line 139

  11. If you have problems with header function :

    header("Location:www.google.com");

    you can use this line if you are fans of JavaScript ( client side ):

    echo "location.href='http://www.google.com'";

    OR , use this line if are not ( server side ):

    echo '';

    Sorry for my English :-)

  12. Werner

    You can run into trouble if you redirect using relative URLs. It should also be noted that
    RFC1945 requires a complete absolute URI for redirection, see: http://tools.ietf.org/html/rfc1945

  13. i have problem when i redirect the header location:-
    Warning: Cannot modify header information – headers already sent by (output started at /home/adnanakh/public_html/dcncaclub.org/admin/website_insert_back1.php:3) in /home/adnanakh/public_html/dcncaclub.org/admin/website_insert_back1.php on line 18

  14. Rajnish kumar singh

    What’s problem here. anybody can solve this problem.

    header('Location:list_books.php');
    exit();
    
    
    Warning
    : Cannot modify header information - headers already sent by (output started at D:\xamppp\xampp\htdocs\bootstrap\theme\admin\templete\nav.php:56) in
    D:\xamppp\xampp\htdocs\bootstrap\books\add_book_ctrl.php
    on line
    21
    
  15. It’s still working fine.

    header('Location:  destination.php');
    exit();
    

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!