個々のユーザーがオンラインかどうかを確認するコードを作成します。PHP/AJAXが最後にオンラインになっていることを確認しています
私は、ユーザーがオンラインの場合に緑色のオンラインサークルを表示できる素敵なスタイルを持っています。私はPHPのために、この機能を行うためのコードを持っていますが、私は、さわやかなページなし(リアルタイムでそれを利用できるように、彼らはオフライン時のために灰色の円にユーザーのアイコンを変更したりしたい
オンライン時の緑色の円)がAJAXを使用している可能性があります。私が言ったように、私はサークルを表示するクラスを持っているので、スタイリングは必要ありません。ちょうどAJAXは彼らがリフレッシュせずにオンラインになっているかどうかをチェックする。
また、リフレッシュせずにオンラインになっているクライアントの数を確認して作業するコードもありますが、個々のクライアントの時間を取得する方法についてはわかりません。私は以下の両方のコードを掲載します。
私のPHPが動作しますがAJAXコードなし(ユーザステータスが変化するため、ページの読み込みが必要です):
<?php
$user_grab = mysqli_query($con, "SELECT * FROM users");
while($users_ = mysqli_fetch_array($user_grab)) {
$last_online = strtotime($users_['lastonline']);
if(time() - $last_online < user_session_timeout()) {
echo '
<div class="chat-list-item -available" style="background: rgba(255,255,255,0.1);">
<img class="chat-list-avatar" src="'.$users_['profile_picture'].'"/><i class="fa fa-circle chat-list-status"> </i>
<div class="chat-list-user">'.$users_['username'].' (<font size="2">'.get_users_level_all($users_['userLevel']).'</font>)</div>
<div class="chat-list-excerpt">Online</div>
</div>
';
} else {
echo '
<div class="chat-list-item -offline" style="background: rgba(255,255,255,0.1); padding: 5px;">
<img class="chat-list-avatar" src="'.$users_['profile_picture'].'"/><i class="fa fa-circle chat-list-status"> </i>
<div class="chat-list-user">'.$users_['username'].' (<font size="2">'.get_users_level_all($users_['userLevel']).'</font>)</div>
<div class="chat-list-excerpt">Offline</div>
</div>
';
}
}
?>
`
私は(それが現在のオンラインユーザーを取得します)作品、いくつかのPHPコードを持っていますが、私はどのように各ユーザーのオンライン状態をチェックし、オンラインまたはオフラインであれば別のクラスを表示する方法を知らない。
コード:
$session = session_id();
$time = time();
$time_check = $time - 300; //We Have Set Time 5 Minutes
$sql = "SELECT * FROM online_users WHERE session = '$session'";
$result = mysqli_query($con, $sql);
$count = mysqli_num_rows($result);
//If count is 0 , then enter the values
if($count == "0") {
$sql1 = "INSERT INTO online_users(session, time) VALUES ('$session', '$time')";
$result1 = mysqli_query($con, $sql1);
}
// else update the values
else {
$sql2 = "UPDATE online_users SET time = '$time' WHERE session = '$session'";
$result2 = mysqli_query($con, $sql2);
}
$sql3 = "SELECT * FROM online_users";
$result3 = mysqli_query($con, $sql3);
$count_user_online = mysqli_num_rows($result3);
echo "<b>Users Online : </b> $count_user_online ";
// after 5 minutes, session will be deleted
$sql4 = "DELETE FROM online_users WHERE time < $time_check";
$result4 = mysqli_query($con, $sql4);
私は今だけのためのオンラインユーザーを取得するためにAJAXを持っています。
<script>
function fetchOnline() {
$.ajax({
url: "includes/get_dash_settings.php",
context: document.body,
success: function(value){
var data = value.split(",");
$('#totalUsers').html(data[0]);
$('#totalOnline').html(data[1]);
$('#freeModeStatus').html(data[2]);
$('#bypassesStatus').html(data[3]);
},
complete:function(){
setTimeout(fetchOnline,5000);
}
})
}
$(document).ready(function() { setInterval(fetchOnline,5000); });
</script>
:取得オンラインのクライアントのため
私のAJAX: は、私は、各ユーザーのオンライン状態を確認し、私はこの質問のトップセクションのコードで使用するさまざまなオンライン/オフラインのクラスが表示されますAJAXコードの一部をしたいです
よく、彼らがオンラインであればどのようにあなたが知っているだろうか?通常、ウェブサイトは接続後の時間に基づいて推測します。 –
@ GarrGodfrey投稿した2番目のコードは完全に動作します。私のテーブルのonline_clientsというフィールドを更新、挿入、削除します。私はちょうどそれが各クライアントのオンライン状態を個別に読む方法をいくつか必要があります。 – Benza
あなたが使用しようとしているAJAXコードを投稿できますか? – Difster