2012-03-26 9 views
0

私はシンプルなユーザーログをウェブサイトに作りました。クッキーを設定して、ウェブサイトに戻ったときにメインページではなくメンバーエリアに移動するようにしました。クッキーが設定されている場合、ユーザーをメンバーエリアにリダイレクトする機能。リダイレクトするのに適切なPHP cookieですか?

問題私は直面しています:htmlコードの直前のPHPコードは、クッキーが設定されていてもmember.phpページにリダイレクトされません!

注:質問を簡略化するために、コードの一部のみを使用しています。ここ

は私のコードです:

main.php(これはメインページであり、また、ログインフォームがどこにあるかが、フォームにログインが示されていない)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<?php 
    //Checks if there is a login cookie 
    if(isset($_COOKIE["blablabla"])) //if cookie is set 
    { 
     header("Location: www.website.com/member.php"); //redirect to member.php 
    } 
    else 
    { 
     //otherwise, redirect to nocookiefound.php 
     header("Location: www.website.com/nocookiefound.php"); 
    } 
?> 
<html> 
    <body> 
     <?php 
      echo "Welcome " . $_COOKIE["blablabla"] . "!<br />"; 
      //I ran a echo test to see if cookie is still there, and it is. 
     ?> 
    </body> 
</html> 

だから私の質問それは私のリダイレクトの仕組みですか?

クッキーが正しい値をエコーし​​ても、member.phpにリダイレクトしていないので、何か間違っている必要があります。

私がログインした後は、もともとmembers.phpページに入っていたのですが、main.phpに戻ってください。members.phpにリダイレクトする必要がありますが、mainに残ります。 php。誰が何が起こっているのか知っていますか?私が得ることができるすべての助けに感謝します。ありがとう

答えて

0

@Dogbertの言うとおり、リダイレクトは無効です。試してください:

+0

はい、おそらくリダイレ​​クトの "コード"を追加する方が良いはずです。 – DonCallisto

1

リダイレクト "ヘッダー"を送信しているので、PHPコードがページの最初のものになるはずです。 Doctype宣言の前に移動します。

+1

PHPコードの残りの部分はまだ実行されていない "脱出"はありません – AD7six

0

さらに、exit();と答えてください。ヘッダー行の後にヘッダーを無視して誤って他のコードを実行するスクリプトを書くことは可能です。

人々は、気付かないうちに管理領域を保護するためにヘッダーを使用することがよくあります。

関連する問題