2017-05-04 15 views
-3

ユーザが2つの異なるブラウザで同じアカウントで同時にログインすることを禁止する方法を教えてください。ユーザーがログインするたびに更新のログインであれば、これらのフィールドになります ユーザーIDのislogin(デフォルト= 0)logintimeのユーザーエージェントセッションユーザを制限するPHP

で、ログインログの1つの以上のテーブルを作成する必要があります。このため

session_start(); 
// set time-out period (in seconds) 
$inactive = 30; 
if(is_user_logged_in()) { 

if (isset($_SESSION["timeout"])) { 
    // calculate the session's "time to live" 
    $sessionTTL = time() - $_SESSION["timeout"]; 
    if ($sessionTTL > $inactive) { 
     session_destroy(); 
     $redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : '/wordpress'; 
     $location = str_replace('&', '&', wp_logout_url($redirect_to));; 
     header("Location: $location"); 
    } 
    else{ 
     wp_die('<h1>User is login! </h1>', '', array('back_link' => true));  
    } 
} 
} 
+0

を更新します。 – RepeaterCreeper

+2

あなたは自分でコードを書くことができます**。 ** [もっと研究をして](// meta.stackoverflow.com/questions/261592)**あなたが問題を抱えていると、あなたが試みたものを投稿することができます** (** stackoverflow.com/help/mcve)を提供しています。私は良い質問と[完璧な質問]を読むことをお勧めします(http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。また、[ツアー]を取って** [this](// meta.stackoverflow.com/questions/347937/)**を必ず読んでください。 –

+0

ユーザがログに記録されたときにカスタムセッションキーを設定し、ログアウト後に削除するだけです。 –

答えて

0

時間。

ユーザーがログインしようとしている場合、ユーザーislogin = 1とlogintime <セッション時間をチェックする必要があります。その後死ぬ。

あなたは、ワードプレスの私の事

にあなたは、ログイン関数のコードフィルタを追加する必要があることを行う必要があります。 と上のinitの私は、データベースを考えているが、私は単純に本当にこれを解決する他の多くの選択肢があることはほぼ確実だlogintimeに

おかげ

+0

include( "config.inc.php"); $ current_user = wp_get_current_user(); $ id = $ current_user-> ID; if(空(is_user_logged_in())) { \t $ sql = "UPDATE preeduc_users SET LoggedIn = 'いいえ' WHERE ID = $ id '; mysqli_query($ connecDB、$ sql); } else { \t $ sql = "UPDATE preeduc_users SET LoggedIn = 'ログイン' WHERE ID = $ id '; mysqli_query($ connecDB、$ sql); } –

+0

テーブルの "LoggedIn"フィールドを変更するためにこれを行いましたが、ログオフすると何も変わりません –