PHP redirection

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
sa177ir
Forum Newbie
Posts: 4
Joined: Sat Nov 11, 2006 5:00 pm

PHP redirection

Post by sa177ir »

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


I am trying to do some redirection within my PHP script, but have been unsuccessful.

I have the following snippet of code - depending on which branch is taken, I would like to redirect to a certain page.  I'm checking the variable hostName to make sure that it contains only alphanumerica characters.  If it has characters other than alphanumeric, redirect the script to page X.  If it's clean, redirect to page Y

Code: Select all

$validateString = '^[a-zA-Z0-9._-]+$';
if (!ereg($validateString, $hostName))
{
   //redirect to page X

}
else
{
   //redirect to page Y
}
I have attempted to user headers, but I get the following error:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/apache2-default/coen285/validateLogin.php:8) in /var/www/apache2-default/coen285/validateLogin.php on line 47

Does anyone have any ideas or suggestions to fix the problem? Any help would be appreciated.

Thanks!


feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
User avatar
dibyendrah
Forum Contributor
Posts: 491
Joined: Wed Oct 19, 2005 5:14 am
Location: Nepal
Contact:

Post by dibyendrah »

When you use header function to redirect and if there is some browser output before that redirecion it will displays that kind of errors. Try to fix the errors or don't print the output from the file "validateLogin.php" before header("location:somefile");

Hope that works.

Good luck and regards,
Dibyendra
sa177ir
Forum Newbie
Posts: 4
Joined: Sat Nov 11, 2006 5:00 pm

Post by sa177ir »

Dibyendrah...that worked! Oh, man...oh, man, do I owe you! Thank you so much for that. I don't think there would have been any way that I figured it out. Forums are awesome!

Thanks again!
User avatar
dibyendrah
Forum Contributor
Posts: 491
Joined: Wed Oct 19, 2005 5:14 am
Location: Nepal
Contact:

Post by dibyendrah »

header_sent() will be useful if you want to know if there are any headers already sent to the browser.

Code: Select all

if (headers_sent()) {
    exit("Headers already sent. Can not redirect to $url_to_redirect");
}else{
    header("location:$url_to_redirect");
}
Hope you will find this useful too.
Post Reply