Fout?!?!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
$online_check_sql = "SELECT * FROM online WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
$online_check_res = mysql_query($online_check_sql);
$online_check = mysql_num_rows($online_check_res);
if($online_check == 0)
{
$online_add_sql = "INSERT INTO online SET ip = '" . $_SERVER['REMOTE_ADDR'] . "', tijd = '" . time() . "'";
$online_add_res = mysql_query($online_add_sql);
}
else
{
$online_change_sql = "UPDATE online SET tijd = '" . time() . "' WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
$online_change_res = mysql_query($online_change_sql);
$online_offline_sql = "DELETE FROM online WHERE tijd < '" . time() . " - 300'";
$online_offline_res = mysql_query($online_offline_sql);
}
$online_sql = "SELECT * FROM online";
$online_res = mysql_query($online_sql);
$online = mysql_num_rows($online_res);
?>
$online_check_sql = "SELECT * FROM online WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
$online_check_res = mysql_query($online_check_sql);
$online_check = mysql_num_rows($online_check_res);
if($online_check == 0)
{
$online_add_sql = "INSERT INTO online SET ip = '" . $_SERVER['REMOTE_ADDR'] . "', tijd = '" . time() . "'";
$online_add_res = mysql_query($online_add_sql);
}
else
{
$online_change_sql = "UPDATE online SET tijd = '" . time() . "' WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
$online_change_res = mysql_query($online_change_sql);
$online_offline_sql = "DELETE FROM online WHERE tijd < '" . time() . " - 300'";
$online_offline_res = mysql_query($online_offline_sql);
}
$online_sql = "SELECT * FROM online";
$online_res = mysql_query($online_sql);
$online = mysql_num_rows($online_res);
?>
<li>Online : </li>
Lijkt goed te zijn. Waarom werkt ie niet? (En doet toch eens wat aan je eeuwige klootviool met aanhalingstekens zeg.)
De tabel is:
CREATE TABLE online (
ip varchar(20) NOT NULL,
id int(11) auto_increment primary key,
tijd int(30) NOT NULL
);
En je moet toch netjes programmeren? Vars buiten de quotes enzo :)
Gewijzigd op 14/04/2004 19:58:00 door Mitch X
ik zie zo snel ook geen fout :/
misschien kun je wel hier iets aan doen..
if($online_check == 0)
kun je ook meteen doen van:
if (mysql_num_rows($online_check_res) == 0)
maar ik heb ff kwartier dat script doorgelezen maar zie echt niets fout, ben ik blind :/ ?
de code is prima hoor mitch, maar Arend gebruikt liever pear en dat moet jij dus ook gebruiken van hem ;)
Waarom lijkt het dan niet te werken :S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
include("connect.php");
$online_check_res = mysql_query("SELECT * FROM online WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_check = mysql_num_rows($online_check_res);
if($online_check == 0)
{
$online_add_res = mysql_query("INSERT INTO online SET ip = '" . $_SERVER['REMOTE_ADDR'] . "', tijd = '" . time() . "'");
}
else
{
$online_change_res = mysql_query("UPDATE online SET tijd = '" . time() . "' WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_offline_res = mysql_query("DELETE FROM online WHERE tijd < '" . time() . " - 300'");
}
$online_res = mysql_query("SELECT * FROM online");
$online = mysql_num_rows($online_res);
echo "<li>Online: $online</li>";
?>
include("connect.php");
$online_check_res = mysql_query("SELECT * FROM online WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_check = mysql_num_rows($online_check_res);
if($online_check == 0)
{
$online_add_res = mysql_query("INSERT INTO online SET ip = '" . $_SERVER['REMOTE_ADDR'] . "', tijd = '" . time() . "'");
}
else
{
$online_change_res = mysql_query("UPDATE online SET tijd = '" . time() . "' WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_offline_res = mysql_query("DELETE FROM online WHERE tijd < '" . time() . " - 300'");
}
$online_res = mysql_query("SELECT * FROM online");
$online = mysql_num_rows($online_res);
echo "<li>Online: $online</li>";
?>
denk er ook ff aan dat je connectie heb met de database include("connect.php"); en check of, als de ander de site bezoekt, jij niet over je limiet van 5 min bent. Verder zie ik geen oplossing.
en als t niet wil dan ligt t niet aan het script want hij doet t ook bij mij!!!!!
arnoldxp
Via connect.php (:P) ergens bovenaan de page na session_start();
En jou script is hetzelfde als mijne dus neem ik aan dat ie werkt... maar ik zal um proberen :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$online_check_res = mysql_query("SELECT * FROM online WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_check = mysql_num_rows($online_check_res);
if($online_check == 0)
{
$online_add_res = mysql_query("INSERT INTO online SET ip = '" . $_SERVER['REMOTE_ADDR'] . "', tijd = '" . time() . "'");
}
else
{
$time = time() - 300;
$online_change_res = mysql_query("UPDATE online SET tijd = '" . time() . "' WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_offline_res = mysql_query("DELETE FROM online2 WHERE tijd < '$time'");
}
$online_res = mysql_query("SELECT * FROM online");
$online = mysql_num_rows($online_res);
echo "<li>Online: $online</li>";
?>
$online_check_res = mysql_query("SELECT * FROM online WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_check = mysql_num_rows($online_check_res);
if($online_check == 0)
{
$online_add_res = mysql_query("INSERT INTO online SET ip = '" . $_SERVER['REMOTE_ADDR'] . "', tijd = '" . time() . "'");
}
else
{
$time = time() - 300;
$online_change_res = mysql_query("UPDATE online SET tijd = '" . time() . "' WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'");
$online_offline_res = mysql_query("DELETE FROM online2 WHERE tijd < '$time'");
}
$online_res = mysql_query("SELECT * FROM online");
$online = mysql_num_rows($online_res);
echo "<li>Online: $online</li>";
?>
waarschijnlijk is mysql niet slim genoeg om een rekensom als time() -300 in een string goed te berekenen. dus in php een var dat laten doen.
Gewijzigd op 14/04/2004 21:48:00 door arnoldxp
Iemand die dit kan bevestigen voordat ik het in 10 pages ofsow moet veranderen?
waarom heb je het niet laten includen??????
Op de mainpage-plaats maak ik dan de paginaspecifieke (oid :P) inhoud :)
dat slaat echt nergens op, gewoon includes gebruiken