2011-07-07 14 views
-2

私のページに「アクティブなユーザー」のリストがあります。そのユーザーを一時的に切断するためのリンクを作成し、アクセスを再開することは可能ですか? 私はどこかにオンラインそれを見つけた:D 接続しているユーザーの接続を強制終了するためのリンクPHP

<?php 
if(isset($_POST['username']) && isset($_POST['password'])){ 
    $_SESSION['username']=$_POST['username']; 
} 

?> 
      <h1>Currently Active Users</h1><br/> 
      <?php 
      $d=date('c',time()-1800); 
      $q=mysql_query("select username from navigation where time>'$d'"); 
      if(mysql_affected_rows()>0){ 
       print "<ul>"; 
       while($users=mysql_fetch_array($q)){ 
        print "<li>{$users[0]}</li>"; 
       } 
       print "</ul>"; 
      } 
      ?> 
+3

どのようにアクティブであることが検出されていますか? Cookieベースの認証を使用していますか? – Ben

+1

アクティブユーザーと呼ばれるこれらのリストをどのようにリストするかを説明するコードを示します。 –

+0

あなたはそれらをアクティブとみなすかもしれませんが、通常はあなたのWebサーバー(したがってDB)に短時間の接続しかありません。切断するのはむしろ難しいでしょう。 Btwは何から切断しますか? – wonk0

答えて

1

はDBがUID(USER_ID)とkillという名前作成

<?php 
include("db.php"); 
$bans = mysql_query("SELECT * FROM kill WHERE uid = ".$user_id." LIMIT 1"); 
$ban = mysql_fetch_assoc($bans); 
if ($ban) 
{ 
    mysql_query("DELETE FROM kill WHERE id = $ban[id]"); 
    die("Banned"); 
} 
0

HTTPはステートレスなので、 "接続されたユーザ" のようなものはありません。

特定のユーザーのセッションを操作するために、「アクティブユーザー」という概念にPHPセッションとの関連性があると仮定して、セッション管理の実装方法がわからなくても操作できることがあります。しかし、「ナビゲーション」表にどのように情報が入力されたかについての情報は提供していません。

また、ここで紹介したコードはよく書かれていません。

関連する問題