-1

$_SESSION['myusername']が空かどうかを確認し、そうであればにリダイレクトする方法はindex.html?

私は現在使用しています:

<?php
session_start();
/*** begin the session ***/
if(!isset($_SESSION['myusername']))
{
    header('Location:index.html');
}
?>

しかし、それでは許可されていないユーザーが留まることができます。

4

7 に答える 7

2

利用する

 <?php
    session_start();
    /*** begin the session ***/
    if(empty($_SESSION['myusername']))
    {
    header('Location:index.html');;
    }
    ?>
于 2013-09-27T09:10:37.043 に答える
0

私はこれが古いことを知っています。しかし、あなたは完全なコードを共有していませんでした。

私はこれがこのチュートリアルからのものであることを知っています: http://www.phpeasystep.com/phptu/6.html

ログを確認すると、HTML タグの後にヘッダーを設定できないことがわかります。チュートリアルのコードを見ると、上部に 2 つの HTML コメントがあることがわかります。

それらを削除するとPHP、ヘッダーを設定してユーザーをリダイレクトできるようになります。elseそれ以外の場合は、ステートメントでページをロードし、 でログイン フォームを再度提供しますif。お役に立てれば。

また、2年経つと、あなたは年を取り、賢くなっていると確信しています。しかし、これは不十分なログイン プロセスであり、(コードが逐語的に機能しないため) 不十分なチュートリアルです。たとえば、curl http://example.com/protectedpage.phpリダイレクトされないため、ページのコンテンツを引き続き取得でき、ページの残りの部分を提供します。

于 2016-01-12T22:28:52.043 に答える
0

コードをこれに変更します

<?php
session_start();
/*** begin the session ***/
if(!$_SESSION['myusername'])
{
header('Location:index.html');;
}
?>
于 2013-09-27T09:12:31.947 に答える
0

ページへのアクセスを制御するには、RBA システムなど、より強力な方法を使用する必要があるかもしれません...

これを見てください、それは私を大いに助けました

于 2013-09-27T09:12:42.457 に答える