hoe kan ik laten regestreeren in de database hoevaak er op een banner word geklikt die ik op mij site heb staan wie heeft daar en code voor!
al vast bedankt.
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>';
}
}
}
?>

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
@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
in klik.php zit een fout hij teld het niet op in de database
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
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
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
ja nog steets geen id opgegeven

Reageren