How can I redirect a page to another ? For example, if the user is registered he gets to see the members section and if he is not, he is redirected to a 'Register Now' page when he clicks on a members area link.

Also how will it work if he types in the address in the address bar ? For example, he types www.somesite.com/members_area.php. So when this page loads, it checks if the user is logged in. If he is not, it redirects him to a 'Guest' page or something.

The logging in checking can be done by setting a cookie, if I am not mistaken. How can I redirect to a different page or different site ?

I am a newbie at Php, so sorry if this is too trivial.


10 Years
Discussion Span
Last Post by Astegiano

IM interested in PHP.I can solve your question
I think this is a question about "SESSION"
please write out your code


No, it has nothing to do with session. It has everything to do with HTML headers. You can send a header such as refresh using:

header([i]header field[/i]

I haven't looked up the exact syntax (not on my computer with that info at my finger tips) of a redirect, but this'll give you a good place to start.


redirect a page to another
I know three methods
1 : use header()
for example
<? header("location: $url"); ?>
2: use HTML <META>
for example
<meta http-equiv="refresh" content="5";url=<? echo $url; >>
3: use javascript
for example
echo "<!--<script language='javascript'>";
echo "location.href='$url'";
echo "</script>-->";
AT the same time ,I think it is better if you combine this means with SESSION!


The best way to set authorization for each page is to use the sessions. The best way to do it is to set two sessions variable: one that contain the level of authorization (for the normal users 1, for moderators 2, the administrator 3) or if you dont want different level just a boolean, the other one that contain the id number of the user that you will need to retrive from the database the user's personal data.

I wrote a very simple function to check the authorization:

function check_auth($lev, $url){
if (@$_SESSION['auth']<$lev) {
header ("Location: http://".ADDRESS.$url);

This function check if the level of authorization contained in the session variable "auth" is lower than the one inserted when the function is used and if it is it redirect to the url decided.
The costant ADDRESS contain the website domain.
This function can be used like this:

check_auth(1, "/mypage.php");
// To allow any registered user to see this page
check_auth(2, "/mypage.php");
// To allow just user with an authorization level of two

Usinfg cookie for this purpose wouldn't be secure.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.