0

正常にログインすると、 というページにリダイレクトされるログイン ページがありますgallery.html。ただし、/gallery.html で URL を入力すると、ログインして保護しようとしているページに移動します。 URL? ページの読み込みを開始する前のチェックのように、

4

8 に答える 8

3

シンプル、sessionログイン時に変数を使用しgallery.html、セッションIDが設定されている場合はユーザーをリダイレクトし、そうでない場合はログインページにリダイレクトします。

if($_SESSION['userid']){
  header( 'Location: gallery.html' ) ;
  exit();
}elseif($_SESSION['userid'] == ''){
  header( 'Location: login.html' ) ;
  exit();
}
于 2012-10-09T04:34:44.877 に答える
2

この種のことを処理する関数を作成するのが好きです:

function loggedin() {
    if ( isset($_SESSION['user_id']) ) {
        return true;
    } else {
        return false;
    }
}

または、三項演算子を使用してより短いもの:

function loggedin() {
    return (isset($_SESSION['user_id'])) ? true : false;
}

チェックを行うには、if ステートメント内で関数を呼び出すだけです。

if ( loggedin() ) {
    // only logged in users can see this
}

また

if ( !logged_in() ) {
    // only users who aren't looged in can see this
}

if (!isset($_SESSION['user_id'])) {毎回のように何かを入力するよりもはるかに簡単です!

于 2012-10-09T07:04:39.000 に答える
1

gallery.html を匿名ユーザーに表示したくない場合は、ページの上部でこのコードを使用します

if(!isset($_SESSION['your_user_login_id']))
{
    //redirect to home page
}

このコードは、匿名ユーザーがこのページを表示できないようにします。

于 2012-10-09T04:34:24.737 に答える
1

$_SESSION が設定されているかどうかを確認するには、gallery.php の $_SESSION 変数を使用します。

ただし、ファイル名を gallery.html から gallery.php に変更する必要があると思います

    <?php
    if (!isset($_SESSION['secret_variable'])
    {
        echo "<br/>Error Message<br/>";
        return;
    }
    ?>

残りのコードを続行します。ユーザーが URL を指定して gallery.php にアクセスすると、Error Message.

$_SESSION['secret_variable']有効なログインを確実にするために、ユーザーが有効なユーザー名とパスワードを持っていることを確認したら、 を設定する必要があります。

ありがとう.. :)

于 2012-10-09T04:37:51.913 に答える
1

セッションでログイン ステータスを設定し、保護するページでセッションを確認する必要があります。

  <?php 
        session_start();
        if (!isset($_SESSION['login_status'])) {
              // Add permission denied message or redirect back to the login page
         }

   ?>

ただし、これは、.html 拡張子を持つページではなく、PHP ページで実行できます (「AddType x-httpd-php .html」ディレクティブで Web サーバー構成を明示的に指定していない場合)。

于 2012-10-09T04:41:18.480 に答える
1

最も簡単な方法は、php を使用することです。gallery.html を gallery.php として保存するか、すべてのコーディングの前に gallery.html ページの上に以下のコードを入力します。次に、SESSION 変数 (ここでは $_SESSION['userID']) を使用して、現在のログインの詳細を保存します。

<?php if(! isset($_SESSION['userID'])){ //userID or something to identify the user header('Location:login.php'); //redirects to the login page }else{ header('Location:gallery.php'); //redirect to the gallery.php for valid login } ?>

于 2012-10-09T04:53:52.377 に答える
0

誰かが URL を入力してページをリクエストするのを防ぐ方法はありません。あなたができる唯一のことは、ページ自体にログインしているかどうかを確認することです.

于 2012-10-09T04:36:16.130 に答える
0

ユーザーがログインしたら、Cookie またはセッションを設定する必要があるため、ユーザーのセッションまたは Cookie を設定します。その特定のURLを入力するたびに、そのページを表示するためにセッションをチェックするか、ログインページにリダイレクトする必要があります

于 2012-10-09T04:37:52.290 に答える