O'Reilly

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.

O'Reilly Velocity Conference
Save 20% with discount code AFF20

Recent Features

Incredible Demos

  • MooTools Font-Size Scroller with Cookie Save

    Providing users as many preferences as possible always puts a smile on the user's face. One of those important preferences is font size. I can see fine but the next guy may have difficulty with the font size I choose. That's why...

  • Duplicate the jQuery Homepage Tooltips Using Dojo

    The jQuery homepage has a pretty suave tooltip-like effect as seen below: Here's how to accomplish this same effect using Dojo. The XHTML The above HTML was taken directly from the jQuery homepage -- no changes. The CSS The above CSS has been slightly modified to match the CSS rules already...

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

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

Recently on David Walsh Blog

  • Preventing Side Effects in JavaScript

    JavaScript is very dynamic these days but I still see a lot of legacy code, whether it be for optimal backward compatibility or simply that the code hasn't been maintained.  One of the practices that makes me cringe is coding that creates unwanted side effects.  What's a side...

  • Access Mac Camera by Command Line

    With all of my recent command line tutorials, I've really gotten excited about the shell's simplicity and realized the true power of using the underlying technology of pretty UIs.  Since I work from home, I spend a lot of time on video calls, so when...

  • Open Files from Command Line on OS X

    I'm as much of a fan of application UIs as anyone else but I'm finding myself working more and more from the command line lately.  Much of that is becoming obsessed with media manipulation but I'm forcing myself to use less UIs so that I...

  • Get Stock Quotes From Command Line

    When I conned my way into my first professional programming gig, I didn't really think much about money -- just that I was getting my foot in the door.  But as my career has gone on, I've been more aware of money, investing, and retirement.  I've recently...

  • Geolocation API

    One interesting aspect of web development is geolocation; where is your user viewing your website from? You can base your language locale on that data or show certain products in your store based on the user's location. Let's examine how you can...