Jump to content

Who's logged in?


treilad

Recommended Posts

That sounds like the better idea, I'm just not sure how to do that.  :-[ But I'll get to work on trying. Here's my login script, if it helps.

[code]<?php

include ('db.php');

if(isset($_COOKIE['ID_my_site']))

{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];

$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());

while($info = mysql_fetch_array( $check ))
{

if ($pass != $info['password'])
{

}

else
{
header("Location: index.php");

}

}

}


if (isset($_POST['submit'])) { // if form has been submitted


if(!$_POST['username'] | !$_POST['pass']) {
die('You did not fill in a required field.');
}

// checks it against the database

if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}

$check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());

$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('That user does not exist in our database. <a href=registration.php>Click Here to Register</a>');
}


while($info = mysql_fetch_array( $check ))
{

$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
$_POST['pass'] = md5($_POST['pass']);


if ($_POST['pass'] != $info['password']) {
die('Incorrect password, please try again.');
}

else
{

$_POST['username'] = stripslashes($_POST['username']);


$hour = time() + 2592000;
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);

header("Location: index.php");
}

}

} else {

?>

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<table border="0">
<tr><td colspan=2><h1>Login</h1></td></tr>
<tr><td>Username:</td><td>
<input type="text" name="username" maxlength="40">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pass" maxlength="50">
</td></tr>
<tr><td colspan="2" align="right">
<input type="submit" name="submit" value="Login">
</td></tr>
</table>
</form>
<?php
}


?>[/code]
Link to comment
https://forums.phpfreaks.com/topic/15816-whos-logged-in/#findComment-64721
Share on other sites

Lol, I encountered this problem earlier, I got passed it by adding:
[code]$query="UPDATE Users SET LastActive=CURRENT_TIMESTAMP(NOW()) WHERE Username='$_SESSION['Username']'";
mysql_query($query);[/code]

to every page, and then:

[code]<?
$query="SELECT * FROM Users WHERE UNIX_TIMESTAMP(LastActive) > UNIX_TIMESTAMP(NOW()) - 300";
$result3=mysql_query($query);

$num3=mysql_numrows($result3);

$i=0;
$rnm2=1;
while ($i <= $num3){

$Username3=mysql_result($result3,$i,"Username");

if($rnm2 < $num3){
echo ''.$Username3.', ';
} elseif($rnm2==$num3){
echo ''.$Username3.'.';
}
$rnm2++;
$i++;
}
?>[/code]

to the place you wanna view who's online. This shows everyone who's been active in the last 5 minutes, which is close enough...
Link to comment
https://forums.phpfreaks.com/topic/15816-whos-logged-in/#findComment-64866
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.