Optellen klik's
al vast bedankt.
?pagina=phphulp
en daar zet je bijv.: &count=1
Dan is het ?pagina=phphulp&count=1
en dan heb je nog een los script ergens staan in je index,
en die kijkt of er een actie bestaat die count heet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if(isset($_GET['count']))
{
if($_GET['count'] == "1")
{
$pag = $_GET['pagina'];
$query = "UPDATE pagina SET teller = '+1' WHERE pagina = ".$_GET['pagina']."";
$resultaat = mysql_query($query);
if(!isset($resultaat))
{
echo '<p>Sorry, er ging iets mis bij het updaten van de database!.</p>';
}
}
}
?>
if(isset($_GET['count']))
{
if($_GET['count'] == "1")
{
$pag = $_GET['pagina'];
$query = "UPDATE pagina SET teller = '+1' WHERE pagina = ".$_GET['pagina']."";
$resultaat = mysql_query($query);
if(!isset($resultaat))
{
echo '<p>Sorry, er ging iets mis bij het updaten van de database!.</p>';
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Bart Tuma
Maar mischien heb je geen ervaring met mysql
Hier een klein scriptje:
klik.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
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
if(!empty($_GET['id']) && is_int($_GET['id'])) {
$sql = mysql_query("SELECT link FROM banners WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if($count == 1) {
$res = mysql_fetch_assoc($sql);
mysql_query("UPDATE banners SET kliks = kliks + 1 WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
// geen output hiervoor plaatsen! html tags dus!
header('Refresh: 5; URL='.$res['link']);
} else {
// link bestaat niet
}
} else {
// geen id meegegeven
}
?>
if(!empty($_GET['id']) && is_int($_GET['id'])) {
$sql = mysql_query("SELECT link FROM banners WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if($count == 1) {
$res = mysql_fetch_assoc($sql);
mysql_query("UPDATE banners SET kliks = kliks + 1 WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
// geen output hiervoor plaatsen! html tags dus!
header('Refresh: 5; URL='.$res['link']);
} else {
// link bestaat niet
}
} else {
// geen id meegegeven
}
?>
Zet dit op je pagina neer
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$sql = mysql_query("SELECT id, image FROM banners ORDER BY RAND()") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if($count == 1) {
$res = mysql_fetch_assoc($sql);
echo '<a href="klik.php?id='.$res['id'].'" target="_BLANK"><img src="'.$res['image'].'" border="0"></a>'."\n";
} else {
// er zijn nog geen banners
}
?>
$sql = mysql_query("SELECT id, image FROM banners ORDER BY RAND()") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if($count == 1) {
$res = mysql_fetch_assoc($sql);
echo '<a href="klik.php?id='.$res['id'].'" target="_BLANK"><img src="'.$res['image'].'" border="0"></a>'."\n";
} else {
// er zijn nog geen banners
}
?>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
CREATE TABLE banners (
id int not null auto_increment primary key,
link varchar(255) not null,
image varchar(255) not null,
kliks bigint not null
);
id int not null auto_increment primary key,
link varchar(255) not null,
image varchar(255) not null,
kliks bigint not null
);
Heb het script niet getest ofzo ma als er ergens een fout in zit laat het dan maar weten
GR. mebus
$pag = $_GET['pagina'];
Je kent $_GET['pagina'] net zo goed in de query zetten bij jou
$pag = $_GET['pagina'];
Het word pas nuttig als je hierop mysql_real_escape_string() gaat toepassen en dit zo buiten de query te houden zodat het overzichtelijk blijft dan is dat wel handig
O ja bij jou is dus sql injection mogelijk;)
edit: heb een splaakgeblek mhuwhaha:p
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
in klik.php zit een fout hij teld het niet op in de database
Is er al een record in de tabel banners?
mebus:
Is er al een record in de tabel banners?
nee ik zie gewoon dan een wite pagina en er gebuirt niets en word ook niets opogeteld in database
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
if(!empty($_GET['id']) && is_int($_GET['id'])) {
$sql = mysql_query("SELECT link FROM banners WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if($count == 1) {
$res = mysql_fetch_assoc($sql);
mysql_query("UPDATE banners SET kliks = kliks + 1 WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
// geen output hiervoor plaatsen! html tags dus!
header('Refresh: 5; URL='.$res['link']);
} else {
echo 'Link bestaat niet'."\n";
}
} else {
echo 'geen id opgegeven!'."\n";
}
?>
if(!empty($_GET['id']) && is_int($_GET['id'])) {
$sql = mysql_query("SELECT link FROM banners WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if($count == 1) {
$res = mysql_fetch_assoc($sql);
mysql_query("UPDATE banners SET kliks = kliks + 1 WHERE id = '".$_GET['id']."'") or trigger_error(mysql_error());
// geen output hiervoor plaatsen! html tags dus!
header('Refresh: 5; URL='.$res['link']);
} else {
echo 'Link bestaat niet'."\n";
}
} else {
echo 'geen id opgegeven!'."\n";
}
?>
pagina roep je zo aan: klik.php?id=1
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
oh je had hem weer aangepast ff kijken
Gewijzigd op 01/01/1970 01:00:00 door jordi
ja nog steets geen id opgegeven
if(!empty($_GET['id']) && is_int($_GET['id'])) {
eens naar:
if(isset($_GET['id']) && is_numeric($_GET['id'])) {
je dat werkt wel bedankt :P
Want !empty is hetzelfde eigenlijk als isset
Zo daar het dus niet aangelegen
is_int controleert of het type van de variabele integer is. Variabelen die door GET/POST/REQUEST komen (ook database-uitvoer trouwens) zijn altijd van het type string. preg_match of is_numeric zijn dus de methoden hier. BIj die laatste moet je er wel even rekening mee houden dat '10e3' ook TRUE oplevert.