Treehouse

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.

ydkjs-2.png

Recent Features

  • Animating CSS3 Transforms with MooTools Fx

    I recently posted an awesome (if I may say so myself) CSS3 / MooTools tutorials called Create a Photo Stack Effect with Pure CSS Animations or MooTools.  The post presented two ways, a pure CSS method or MooTools-powered class,...

  • Facebook Open Graph META Tags

    It's no secret that Facebook has become a major traffic driver for all types of websites.  Nowadays even large corporations steer consumers toward their Facebook pages instead of the corporate websites directly.  And of course there are Facebook "Like" and...

  • Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube...

Incredible Demos

  • MooTools Image Preloading with Progress Bar

    The idea of image preloading has been around since the dawn of the internet. When we didn't have all the fancy stuff we use now, we were forced to use ugly mouseover images to show dynamism. I don't...

  • Build a Calendar Using PHP, XHTML, and CSS

    One of the website features my customers love to provider their web users is an online dynamic calendar. An online calendar can be used for events, upcoming product specials, memos, and anything else you can think of....

  • Firefox Marketplace Animated Buttons

    The Firefox Marketplace is an incredibly attractive, easy to use hub that promises to make finding and promoting awesome HTML5-powered web applications easy and convenient. While I don't work directly on the Marketplace, I am privy to...

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


    // Nota : Rafael Trindade da Silva : Mantus Deus Etrusco do Inferno
    // Email : rafaeltds at gmail dot com
    function redirect($pURL) {
    if (strlen($pURL) > 0) {
    if (headers_sent()) {
    echo "document.location.href='".$pURL."';\n"; }
    else {
    header("Location: " . $pURL);
    }
    exit();
    }
    }

  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

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

Use Code Editor