online.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?
// sessie zelf instellen
if ( isSet ( $_SESSION['user_id'] ) )
{
$iUser_id = $_SESSION['user_id'];
}
else
{
$iUser_id = 0;
}
$rQueryUsernameBepalen = mysql_query ( "SELECT id, username FROM users WHERE id = ".$iUser_id ) or die ( mysql_error() );
$aQueryUsernameBepalen = mysql_fetch_assoc ( $rQueryUsernameBepalen );
$sUsername = $aQueryUsernameBepalen['username'];
/* #### INSTELBARE VARIABELEN #### */
$sIpadres = $_SERVER['REMOTE_ADDR'];
$sHuidigePagina = $_SERVER['HTTP_REFERER'];
$sTime = time()+180; // is 3 minuten
$sQuerySelectOnline = "SELECT count(*) FROM online WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
$rQuerySelectOnline = mysql_query ( $sQuerySelectOnline );
$aQuerySelectOnline = mysql_result ( $rQuerySelectOnline,0 );
// wanneer het ipadres er nog niet instaat
if ( $aQuerySelectOnline == 0 )
{
$rQueryInsert = mysql_query ( "INSERT
INTO online ( ip, locatie, tijd, user_id, username )
VALUES ('" . mysql_real_escape_string($sIpadres) . "','" . mysql_real_escape_string($sHuidigePagina) . "','" . mysql_real_escape_string($sTime) . "', '" . mysql_real_escape_string($iUser_id) . "', '" . mysql_real_escape_string($sUsername) . "' ) " ) or die ( mysql_error() );
}
else // het ipadres staat er dus wel in
{
$rQueryUpdate = mysql_query ( "UPDATE online
SET locatie='" . mysql_real_escape_string($_SERVER['HTTP_REFERER']) . "', tijd = '" . mysql_real_escape_string($sTime) . "', user_id = '" . mysql_real_escape_string($iUser_id) . "', username = '" . mysql_real_escape_string($sUsername) . "'
WHERE ip = '" . mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."'" ) or die ( mysql_error());
}
$iHuidigeTijd = time();
mysql_query("DELETE FROM online WHERE tijd < $iHuidigeTijd");
$sQueryGastenOnline = "SELECT * FROM online WHERE user_id = 0";
$rQueryGastenOnline = mysql_query ( $sQueryGastenOnline );
$iAantalGastenOnline = mysql_num_rows ( $rQueryGastenOnline );
$sQueryLedenOnline = "SELECT * FROM online WHERE user_id <> 0";
$rQueryLedenOnline = mysql_query ( $sQueryLedenOnline );
$iAantalLedenOnline = mysql_num_rows ( $rQueryLedenOnline );
echo "Gasten: ".$iAantalGastenOnline."<br />";
echo "Leden: ".$iAantalLedenOnline."<br />";
while ( $aQueryLedenOnline = mysql_fetch_assoc ( $rQueryLedenOnline ) )
{
echo '<a href=#>'.$aQueryLedenOnline['username'].'</a>,';
}
?>
// sessie zelf instellen
if ( isSet ( $_SESSION['user_id'] ) )
{
$iUser_id = $_SESSION['user_id'];
}
else
{
$iUser_id = 0;
}
$rQueryUsernameBepalen = mysql_query ( "SELECT id, username FROM users WHERE id = ".$iUser_id ) or die ( mysql_error() );
$aQueryUsernameBepalen = mysql_fetch_assoc ( $rQueryUsernameBepalen );
$sUsername = $aQueryUsernameBepalen['username'];
/* #### INSTELBARE VARIABELEN #### */
$sIpadres = $_SERVER['REMOTE_ADDR'];
$sHuidigePagina = $_SERVER['HTTP_REFERER'];
$sTime = time()+180; // is 3 minuten
$sQuerySelectOnline = "SELECT count(*) FROM online WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
$rQuerySelectOnline = mysql_query ( $sQuerySelectOnline );
$aQuerySelectOnline = mysql_result ( $rQuerySelectOnline,0 );
// wanneer het ipadres er nog niet instaat
if ( $aQuerySelectOnline == 0 )
{
$rQueryInsert = mysql_query ( "INSERT
INTO online ( ip, locatie, tijd, user_id, username )
VALUES ('" . mysql_real_escape_string($sIpadres) . "','" . mysql_real_escape_string($sHuidigePagina) . "','" . mysql_real_escape_string($sTime) . "', '" . mysql_real_escape_string($iUser_id) . "', '" . mysql_real_escape_string($sUsername) . "' ) " ) or die ( mysql_error() );
}
else // het ipadres staat er dus wel in
{
$rQueryUpdate = mysql_query ( "UPDATE online
SET locatie='" . mysql_real_escape_string($_SERVER['HTTP_REFERER']) . "', tijd = '" . mysql_real_escape_string($sTime) . "', user_id = '" . mysql_real_escape_string($iUser_id) . "', username = '" . mysql_real_escape_string($sUsername) . "'
WHERE ip = '" . mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."'" ) or die ( mysql_error());
}
$iHuidigeTijd = time();
mysql_query("DELETE FROM online WHERE tijd < $iHuidigeTijd");
$sQueryGastenOnline = "SELECT * FROM online WHERE user_id = 0";
$rQueryGastenOnline = mysql_query ( $sQueryGastenOnline );
$iAantalGastenOnline = mysql_num_rows ( $rQueryGastenOnline );
$sQueryLedenOnline = "SELECT * FROM online WHERE user_id <> 0";
$rQueryLedenOnline = mysql_query ( $sQueryLedenOnline );
$iAantalLedenOnline = mysql_num_rows ( $rQueryLedenOnline );
echo "Gasten: ".$iAantalGastenOnline."<br />";
echo "Leden: ".$iAantalLedenOnline."<br />";
while ( $aQueryLedenOnline = mysql_fetch_assoc ( $rQueryLedenOnline ) )
{
echo '<a href=#>'.$aQueryLedenOnline['username'].'</a>,';
}
?>
maar nu krijg ik deze fout melding
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/partybox4u/domains/partybox4u.com/public_html/online.php on line 12
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/partybox4u/domains/partybox4u.com/public_html/online.php on line 12
Access denied for user 'apache'@'localhost' (using password: NO)
en ik zou niet weten hoe of wat er waar ik iets verkeerd invul,
ik hoop dat iemand mij kan helpen groetjes remon
Heb je wel een tabel aangemaakt?
Als dit zo is, mis je denk ik een verbinding met de mysql-tabel
Gewijzigd op 01/01/1970 01:00:00 door D B
Waar maak je verbinding met je database? De foutmelding komt er in ieder geval op neer dat je nog geen verbinding hebt gemaakt, of dat je verkeerde logingegevens hebt opgegeven...
ja de tabel die erbij vermeld stond.
ja zoiets dacht ik al maar deze script staat hier ergens wacht ik zoek hem even.
maar hier staat die ook precies de zelfde
http://www.sitemasters.be/?pagina=scripts/scripts&cat=23&id=791
Ik het script dat je hierboven hebt staan maak je in ieder geval geen verbinding met een database. Dat zul je dus eerst moeten doen...
ja ok sorry maar ik ben beetje beginner ik zie nergens staan waar ik me datebase gegevens kan invullen en gebruikersnaam, anders had ik dat al gedaan. kan je dan misschien me een beetje op weg helpen wat ik moet aanpassen om dat wel erin te plaatsen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?
ob_start();
$dbname = "database_naam";
$user = "database_user";
$pass = "database_password";
$host = "localhost";
$to = "je_emial";
$subject = "Database-Fout";
$from = "From: Autobot <je_email>";
if (!mysql_select_db($dbname, mysql_connect($host, $user, $pass)))
{
if (!$_SESSION["dberror"])
{
$msg = "============================================\n";
$msg .= "Database connectie mislukt!\n";
$msg .= "============================================\n\n";
$msg .= "De connectie met de database is mislukt!\n\n";
$msg .= "Datum: " . date("d.m.Y") . "\n";
$msg .= "Tijd: " . date("H:i") . "\n";
$msg .= "Ip addr: " . $_SERVER['REMOTE_ADDR'] . "\n\n";
mail($to, $subject, $msg, $from);
$dberror = 1;
session_register(dberror);
}
echo "
<html>
<head>
<title>Verbinding database Mislukt</title>
</head>
<body>
<h1>Verbinding met de DataBase Mislukt.</h1>
<p>Probeer het over enkele minuten opnieuw.</p>
<p>Onze excuses en bedankt voor het begrip.</p>
</body>
</html>";
exit();
}
?>
ob_start();
$dbname = "database_naam";
$user = "database_user";
$pass = "database_password";
$host = "localhost";
$to = "je_emial";
$subject = "Database-Fout";
$from = "From: Autobot <je_email>";
if (!mysql_select_db($dbname, mysql_connect($host, $user, $pass)))
{
if (!$_SESSION["dberror"])
{
$msg = "============================================\n";
$msg .= "Database connectie mislukt!\n";
$msg .= "============================================\n\n";
$msg .= "De connectie met de database is mislukt!\n\n";
$msg .= "Datum: " . date("d.m.Y") . "\n";
$msg .= "Tijd: " . date("H:i") . "\n";
$msg .= "Ip addr: " . $_SERVER['REMOTE_ADDR'] . "\n\n";
mail($to, $subject, $msg, $from);
$dberror = 1;
session_register(dberror);
}
echo "
<html>
<head>
<title>Verbinding database Mislukt</title>
</head>
<body>
<h1>Verbinding met de DataBase Mislukt.</h1>
<p>Probeer het over enkele minuten opnieuw.</p>
<p>Onze excuses en bedankt voor het begrip.</p>
</body>
</html>";
exit();
}
?>
Het beste kun je dit in een apart script zetten en dan zet je in je online.php:
include("database_script.php");
Gewijzigd op 01/01/1970 01:00:00 door D B
ok bedankt ik ga het even uitproberen
Table 'partybox4u_party.users' doesn't exist
maar partybox4u_party is me datebase alleen die .users snap ik niet want die tabel die ik aan moest maken heet online
je moet dus op je webhost een mysql tabel aanmaken... meestal kun je dit via phpmyadmin ofzo doen..
CREATE TABLE `online` (
`ip` varchar(20) NOT NULL default '',
`locatie` varchar(255) NOT NULL default '',
`tijd` varchar(30) NOT NULL default '',
`user_id` int(10) NOT NULL default '0',
`username` varchar(255) NOT NULL default ''
) TYPE=MyISAM;
en die heb ik aangemaakt.
blijkbaar staat er iets anders niet goed maar ik zou niet weten wat.
Echter op regel 12 in het script gebruik je de tabel users. Die moet dus ook bestaan.
Edit:
Opmerking aan het adres van Bierens is alweer achterhaald :)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
kan ik die niet veranderen in leden want zo heet die tabel namelijk ?
remon schreef op 04.12.2006 23:05:
Ja dat kan, dan moet je dat in je script veranderen. Alle queries die dus betrekking hebben op de tabel 'users' moet je dan naar de tabel 'leden' laten verwijzen...kan ik die niet veranderen in leden want zo heet die tabel namelijk ?
Als dat zou is kun je alle FROM users vervangen door FROM leden
hmm volgens mij werkt die nu wel heb users in leden veranderd en usersname in gebruikersnaam
session_register(dberror);
gebruik hiervoor $_SESSION['dberror']=$dberror;
Sorry ik zat er ff langs :)
Ben zelf ook nog steeds maar een beginner :)
@Remon:
Ok dus we zijn klaar hier??