2012-03-08 10 views
-5

ハイパーリンクをクリックした後、別のページに移動する前にユーザーがログインしているかどうかを確認します。例えばハイパーリンクをクリックするとPHPが呼び出されます

if(isset($_POST[...]) 
    foo1(..); 
else 
    foo2(..); 

は、PHPの機能を含むページに投稿するポストを設定する必要がありますあなたに

+2

PHPはサーバ上で動作し、ハイパーリンクはクライアントのブラウザにあります – zerkms

+0

@zerkms私はそれを知っています。 – user1203861

答えて

0

ありがとうございます。これはPHPがクライアントではなくサーバーで動作するためです。他のページで

2

チェック...

例、あなたがアクセスしたい:彼がログインしている場合yoursite.com/restrcited.php

そのページへのリンクとユーザー・アクセス、 チェックを:

session_start(); 
if(isset($_SESSION['is_logged']) and $_SESSION['is_logged'])){ 
/* show the content here*/ 
}else{ 
header('Location: /login.php?err='); 
} 

ユーザーがログインしている場合、彼は...、それ以外、彼がログインするリダイレクトされるコンテンツが表示されます あなたはセキュリティ上の理由から、クライアント側を(使用して別の方法でそれを行うことはできません)

2

何をしたいことはこれですようですね。もしそうなら、彼らは

  • にログインしているかどうかを確認するために

    1. リンクをユーザーがクリックする
    2. PHPをチェックし、それが特定のそれらを指示ページ。 (そうでない場合は、別のページへ?)

    だからリンクはあなたがログインしているかどうかを確認するために必要なものは何でもないPHPのページにそれらを取る必要がありその後:

    if($loggedin) { 
        header(' Location:http://yoursite.net/page_you_requested.html '); 
    } 
    else { 
        header(' Location:http://yoursite.net/login_page.html '); 
    }  
    
  • 0

    あなたが説明するものは、ログインしている状態をチェックし、他のページにリダイレクトするPHPスクリプトがサーバー上に必要です。もう少しうまくいく別の方法を提案します。

    PHPセキュリティスクリプトを作成します。ログインステータスを確認するだけです。ログインしている場合は、実行を続けます。そうでない場合は、die()するか、エラー/ログインページにリダイレクトしてください。

    ログインが必要なすべてのページに、セキュリティスクリプトを含めます。その後、通常どおりこれらのページにリンクします。ユーザーがあなたのリンクにログインしている場合、あなたのリンクは期待どおりに動作し、移動するために余分なトリックは必要ありません。ユーザーにログインページを提供して、サイトをナビゲートする際の操作性を確保してください。

    1

    あなたはjQueryを使ってトリックのいくつかの種類を行うと、簡単なJavaScriptの、見てみることができます...

    は、ユーザーが記録されますと、セッションのために、この変数を定義してください:

    //method that validates user and password from user and returns true or false 
    if(validateUserExample($user, $pwd)){ 
        //if the data of the user is correct (user and password) set the session of user logged 
        session_start(); 
        $_SESSION['user_logged'] = true; 
    } 
    

    1 - "myfile"と呼ばれるPHPファイルを作成します。PHP」:

    <?php 
        session_start(); 
    
        //if there is no user logged redirect to index. 
        if($_SESSION['user_logged'] != true) 
        { 
         header("location: index.php"); 
        } 
    ?> 
    

    2 -

    <input type="button" id="btn" name="btn" value="Click Me" /> 
    

    3あなたの入力ボタンを設定する - あなたの.jsでは、次のファイル:

    $(document).ready(function(){ 
        $('#btn').click(function(){ 
         location.href = 'myfile.php'; 
        }); 
    }); 
    

    あなたはをクリックすると、 "" それはリダイレクトしますBTN myfile.phpには、ユーザーがログインしているかどうかを確認してから、期待していたものがあれば(0120) )

    PS。理解を深めるために、サーバー側とクライアント側を詳しく読んで理解してください。

    関連する問題