Je heb bijvoorbeeld:
?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:
<?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>';
}
}
}
?>
Link gekopieerd
Als ik zo in op je profiel kijk zie ik dat je ervaring hebt met
PHP als je ervaring hebt met
PHP ken je makkelijk zelf zoiets maken
Maar mischien heb je geen ervaring met mysql
Hier een klein scriptje:
klik.php
<?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
}
?>
Zet dit op je pagina neer
<?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
}
?>
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
);
Heb het script niet getest ofzo ma als er ergens een fout in zit laat het dan maar weten
GR. mebus
Link gekopieerd
@bart wat is hier het nut van:
$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
Link gekopieerd
in klik.php zit een fout hij teld het niet op in de database
Link gekopieerd
Is er al een record in de tabel banners?
Link gekopieerd
mebus schreef op 24.09.2006 12:28
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
Link gekopieerd
Je meot wel eerst een record in de tabel banners stoppen anders doet ie natuurlijk niks:
<?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";
}
?>
pagina roep je zo aan: klik.php?id=1
Link gekopieerd
ik heb hem nu aan geroepen met klik.php?id=1 dan zegt die geen id meegegeven
oh je had hem weer aangepast ff kijken
Link gekopieerd
ja nog steets geen id opgegeven
Link gekopieerd