teller
hoe kan ik een tellertje plaatsen op mijn site, hoevaak elke pagina bezocht is, hij moet dit opslaan in de database.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "UPDATE actie SET bezoekers = bezoekers + 1 WHERE naam_spel";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
$sql = "UPDATE actie SET bezoekers = bezoekers + 1 WHERE naam_spel";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
Ik heb dit gevonden maar, waarom doet ie het niet??
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$deze_pagina = basename ($_SERVER['PHP_SELF']);
$sql = "
UPDATE paginateller
SET
teller = teller + 1
WHERE
titel = '" . $deze_pagina . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO paginateller
(titel, teller)
VALUES
('" . $deze_pagina . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$deze_pagina = basename ($_SERVER['PHP_SELF']);
$sql = "
UPDATE paginateller
SET
teller = teller + 1
WHERE
titel = '" . $deze_pagina . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO paginateller
(titel, teller)
VALUES
('" . $deze_pagina . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
Tabel- en veldnamen aanpassen naar je eigen situatie.
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$naam_spel = basename ($_SERVER['PHP_SELF']);
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$naam_spel = basename ($_SERVER['PHP_SELF']);
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
CREATE TABLE `actie` (
`id` smallint(3) NOT NULL auto_increment,
`naam_spel` varchar(50) NOT NULL default '',
`screenshot` varchar(255) NOT NULL default '',
`html` longtext NOT NULL,
`ip` varchar(255) NOT NULL default '',
`bezoekers` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `naam_spel` (`naam_spel`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
`id` smallint(3) NOT NULL auto_increment,
`naam_spel` varchar(50) NOT NULL default '',
`screenshot` varchar(255) NOT NULL default '',
`html` longtext NOT NULL,
`ip` varchar(255) NOT NULL default '',
`bezoekers` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `naam_spel` (`naam_spel`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$db_host = '*****'; // vul hier je eigen waarden in
$db_user = '*****';
$db_pass = '*****';
$db_name = '*****';
mysql_connect ($db_host, $db_user, $db_pass) or die ('Fout bij het connecten');
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
$naam_spel = basename ($_SERVER['PHP_SELF']);
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$db_host = '*****'; // vul hier je eigen waarden in
$db_user = '*****';
$db_pass = '*****';
$db_name = '*****';
mysql_connect ($db_host, $db_user, $db_pass) or die ('Fout bij het connecten');
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
$naam_spel = basename ($_SERVER['PHP_SELF']);
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
actie.php?spel=naam_spel
In dat geval moet je de waarde van $_GET['naam_spel'] opvragen, controleren en gebruiken.
:) hoe moet ik dat doen??
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$toegestaan = array ('spel1', 'spel2', 'spel3'); // deze zelf aanpassen
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
// hier regel 15 t/m 37 uit mijn vorige voorbeeld
}
?>
$toegestaan = array ('spel1', 'spel2', 'spel3'); // deze zelf aanpassen
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
// hier regel 15 t/m 37 uit mijn vorige voorbeeld
}
?>
is daar geen andere mogelijkheid voor??
alle naam_spel moeten geselecteerd worden
Gewijzigd op 01/01/1970 01:00:00 door giga
Als je die veiligheidscheck weglaat, kunnen mensen nieuwe records in je database inserten door gewoon een willekeurige naam in de adresbalk van de browser in te vullen. Je kunt het probleem ook omdraaien; zet van tevoren alle spellen in een MySQL tabel. Dan kun je het deel met de INSERT query weglaten.
Notice: Undefined variable: naam_spel in /home/gigaspellen.nl/www/actie.php on line 433
Als ik het zo doe:
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$db_host = '******'; // vul hier je eigen waarden in
$db_user = '******';
$db_pass = '******';
$db_name = '******';
mysql_connect ($db_host, $db_user, $db_pass) or die ('Fout bij het connecten');
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
}
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "' // dit is regel 344
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$db_host = '******'; // vul hier je eigen waarden in
$db_user = '******';
$db_pass = '******';
$db_name = '******';
mysql_connect ($db_host, $db_user, $db_pass) or die ('Fout bij het connecten');
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
}
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "' // dit is regel 344
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
?>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$toegestaan = array ('spel1', 'spel2', 'spel3'); // deze zelf aanpassen
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
// hier regel 15 t/m 37 uit mijn vorige voorbeeld
}
?>
$toegestaan = array ('spel1', 'spel2', 'spel3'); // deze zelf aanpassen
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
// hier regel 15 t/m 37 uit mijn vorige voorbeeld
}
?>
maar jij hebt dit gedaan:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$toegestaan = array ('spel1', 'spel2', 'spel3'); // deze zelf aanpassen
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
}
// hier regel 15 t/m 37 uit mijn vorige voorbeeld
?>
$toegestaan = array ('spel1', 'spel2', 'spel3'); // deze zelf aanpassen
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
}
// hier regel 15 t/m 37 uit mijn vorige voorbeeld
?>
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$db_host = '******'; // vul hier je eigen waarden in
$db_user = '******';
$db_pass = '******';
$db_name = '******';
mysql_connect ($db_host, $db_user, $db_pass) or die ('Fout bij het connecten');
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
$db_host = '******'; // vul hier je eigen waarden in
$db_user = '******';
$db_pass = '******';
$db_name = '******';
mysql_connect ($db_host, $db_user, $db_pass) or die ('Fout bij het connecten');
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
if (isset ($_GET['naam_spel'])) {
$naam_spel = mysql_real_escape_string ($_GET['naam_spel']);
$sql = "
UPDATE actie
SET
bezoekers = bezoekers + 1
WHERE
naam_spel = '" . $naam_spel . "'
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
if (mysql_affected_rows () == 0) {
$sql = "
INSERT INTO actie
(naam_spel, bezoekers)
VALUES
('" . $naam_spel . "', 1)
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
}
?>
Dit is de database, als ik ergens een fout gemaakt heb kunnen jullie mij erop aanspreken;)
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
CREATE TABLE `actie` (
`id` smallint(3) NOT NULL auto_increment,
`naam_spel` varchar(50) NOT NULL default '',
`screenshot` varchar(255) NOT NULL default '',
`html` longtext NOT NULL,
`ip` varchar(255) NOT NULL default '',
`bezoekers` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `naam_spel` (`naam_spel`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
`id` smallint(3) NOT NULL auto_increment,
`naam_spel` varchar(50) NOT NULL default '',
`screenshot` varchar(255) NOT NULL default '',
`html` longtext NOT NULL,
`ip` varchar(255) NOT NULL default '',
`bezoekers` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `naam_spel` (`naam_spel`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Gewijzigd op 01/01/1970 01:00:00 door giga
Dit zet bij alle bezoekers van actie + 1. maar + 1 bezoekers moet alleen bij de naam_spel waar het om gaat:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "UPDATE actie SET bezoekers = bezoekers + 1";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
$sql = "UPDATE actie SET bezoekers = bezoekers + 1";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
Meer heb ik er geen verstand van, kan iemand hier verder mee werken??
Ik weet niet, maar ik heb er ook niks aan als ik bij alle spellen +1 bezoekers krijg, ik zou het fijn vinden als iemand mij verder zou kunnen helpen
Heb je opnieuw geregistreerd? Er zijn twee giga's met hetzelfde ip-adres. Eentje met 3 posts, en eentje met 21.
Lang leve UNIQUE
Ja ik heb opnieuw geregistreerd omdat ik niet kon inloggen met die andere
Waarom heb je de wachtwoord kwijt link niet gebruikt, naast het inlogformulier?
Heb ik gedaan maar met die wachtwoord kon ik ook niet inloggen