Я пытаюсь выяснить, как вы показываете онлайн-пользователей? Как только они войдут в систему, я хочу, чтобы он отображался на моей странице участников, и теперь я получил, сколько у меня пользователей. Я также хочу тайм-аут, если пользователь закрывает браузер или выход из системы не будут показывать любые онлайн-пользователей, это код для полных членов ...Показать онлайн-пользователей
<?
if ($_GET[user] != "") {
$check_query = mysql_query("SELECT * FROM users WHERE username='$lowerusername'");
if (mysql_num_rows($check_query) != "0") {
} else {
header("Location: /usernotfound.php");
}
}
?>
<?
$username = $_SESSION['membersusername'];
$check_query3 = mysql_query("SELECT * FROM users WHERE username='$username'");
while ($display = mysql_fetch_array($check_query3)) {
$bio = $display['bio'];
}
?>
<?
if ($_GET[user] != ""){
$check_query = mysql_query("SELECT * FROM users WHERE username='$lowerusername'");
while ($display = mysql_fetch_array($check_query)) {
$twitter = $display['twitter'];
$facebook = $display['facebook'];
$tinychat = $display['tinychat'];
$vaughnlive= $display['vaughnlive'];
$uploadbanner = $display['uploadbanner'];
$uploadbg= $display['uploadbg'];
$backgroundcolor = $display['backgroundcolor'];
$bgp = $display['bgp'];
$bgr = $display['bgr'];
$bga = $display['bga'];
$btc = $display['btc'];
$image = $display['image'];
$status1 = $display['status'];
$djname2 = ":: $djname2 Profile";
$djname3 = "$djname3";
$djname = "<strong>Name:</strong> $name";
$age = "<strong>DOB:</strong> $age1";
$email = "<strong>E-Mail:</strong> <a href='mailto:$email1'>$email1</a>";
$year = date('d/m/Y');
$totalage = $year-$age1;
}}
?>
<?
if ($_GET[user] != ""){
$check_query = mysql_query("SELECT * FROM profiles WHERE username='$lowerusername'");
while ($display = mysql_fetch_array($check_query)) {
$twitter = $display['twitter'];
$facebook = $display['facebook'];
$tinychat = $display['tinychat'];
$vaughnlive= $display['vaughnlive'];
$uploadbanner = $display['uploadbanner'];
$uploadbg= $display['uploadbg'];
$backgroundcolor = $display['backgroundcolor'];
$bgp = $display['bgp'];
$bgr = $display['bgr'];
$bga = $display['bga'];
$btc = $display['btc'];
$username = $display['username'];
$image = $display['image'];
}}
?>
<? $check_query = mysql_query("SELECT * FROM profiles WHERE username='$_SESSION[membersusername]'");
while ($display = mysql_fetch_array($check_query)) {
$image1 = $display['image'];
if ($image1 == "") {
$image1 = "profile/nophoto.gif";
} else {
$image1 = "profile/$username/$image1";
}}
?>
<?
$check_query_all = mysql_query("SELECT * FROM users WHERE hiddenauth='no' AND auth='yes' ORDER BY id DESC");
while ($display = mysql_fetch_array($check_query_all)) {
$allmembers = $display['name'];
$allusername = $display['username'];
$allbio = $display['bio'];
$allage = $display['age'];
// get more stuff above if u need
$check_query_all2 = mysql_query("SELECT * FROM profiles WHERE username='$allusername'");
while ($display = mysql_fetch_array($check_query_all2)) {
$allimage = $display['image'];
$alllocation = $display['location'];
// Check Album Photo's
$check_amount = mysql_query("SELECT * FROM users WHERE hiddenauth='no' AND auth='yes'");
$num_djs_total = mysql_num_rows($check_amount);
// CHECK IF IMAGE OR NOT
if ($allimage == "") {
$allcheckedimage = "nopic.gif"; }
// CHECK IF IMAGE OR NOT
if ($allimage != "") {
$allcheckedimage = "$allusername/$allimage"; }
// CHECK IF location OR NOT
if ($alllocation == "") {
$allcheckedlocation = "No Idea"; }
// CHECK IF location OR NOT
if ($alllocation != "") {
$allcheckedlocation = "$alllocation"; }
// CHECK IF mini bio OR NOT
if ($allbio == "") {
$allcheckedbio = "Something about your show."; }
// CHECK IF mini bio OR NOT
if ($allbio != "") {
$allcheckedbio = "$allbio"; }
$listalldjs .= "<table class='inlineTable' width='452' border='0'>
<tr>
<td width='20%'><img src='$domain/profile/$allcheckedimage' width='180' height='173'/></td>
<td width='83%'><b>Username:</b> $allusername<br /><b>Location:</b> $allcheckedlocation<br /><b>Show Description:</b><br>$allcheckedbio<div align='right'><a href='$domain/$allusername'/>View Channel</a>
</div> </td>
</tr>
</table>";
}}
?>
Это код Логин ...
<?php session_start(); ?>
<? include "includes/dbconfig.php"; ?>
<? include "includes/loggedin_config.php"; ?>
<?
$lowerusername = strtolower($_POST[username]);
// MEMBERS LOGIN CHECK IF USER EXISTS :D
if ($_GET[action] == "login") {
$check_query = mysql_query("SELECT * FROM users WHERE username='$lowerusername' AND password='$_POST[password]' AND auth='yes'");
if (mysql_num_rows($check_query) != "1") {
$error = "Incorrect details! or You have not authorized your account!";
} else {
$_SESSION[ipaddress] = $_SERVER['REMOTE_ADDR'];
$_SESSION[membersusername] = $lowerusername;
header('Location: main.php');
}
}
?>
Может ли кто-нибудь помочь мне сделать онлайн-скрипт, не являющийся общим членом? Если да, то что мне нужно добавить в таблицу MySQL?
Благодаря
Примечание: ваш запрос SQL-запроса не является безопасным для SQL-инъекций, поскольку похоже, что вы используете входные данные в своем запросе без фильтрации: 'AND password = '$ _ POST [password]''. –
Где я могу добавить это? – MBell86
Любая пользовательская переменная, которую вы хотите использовать в запросе базы данных, должна быть отфильтрована, что означает удаление html и php-тэгов с помощью 'strip_tags()', чтобы предотвратить XSS-атаки и маскирование кавычек с помощью 'addslashes()', чтобы предотвратить SQL-инъекции: '$ username = strip_tags (addslashes ($ username));' Есть более эффективные методы, но это в основном обеспечивает ваши запросы. –