Hallo,
ik was weer een was aan het knutselen en hier is het resultaat. Een linkrotator, die unieke links weergeeft, dus een uurlink wordt maar eens per uur getoond aan een IP en een daglink maar eens per dag. (Zelf in te stellen uren) Als hij alle unieke links heeft bekeken krijgt hij een random link te zien.
PS: Opmerkingen/suggesties zijn altijd welkom
MySQL:
PHP:
ik was weer een was aan het knutselen en hier is het resultaat. Een linkrotator, die unieke links weergeeft, dus een uurlink wordt maar eens per uur getoond aan een IP en een daglink maar eens per dag. (Zelf in te stellen uren) Als hij alle unieke links heeft bekeken krijgt hij een random link te zien.
PS: Opmerkingen/suggesties zijn altijd welkom

MySQL:
--
-- Database: `janerik_rotator`
--
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `linkspel_kliks`
--
CREATE TABLE IF NOT EXISTS `linkspel_kliks` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`ip` varchar(30) NOT NULL,
`link_id` int(11) NOT NULL,
`when` datetime NOT NULL,
`checking` int(1) NOT NULL,
PRIMARY KEY (`id`),
KEY `when` (`when`),
KEY `ip` (`ip`,`link_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `linkspel_links`
--
CREATE TABLE IF NOT EXISTS `linkspel_links` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`url` varchar(255) NOT NULL,
`credit` int(13) NOT NULL DEFAULT 0,
`clicked` int(13) NOT NULL DEFAULT 0,
`hours` int(3) NOT NULL,
`priority` int(5) NOT NULL,
PRIMARY KEY (`id`),
KEY `clicked` (`clicked`,`priority`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
--
-- Gegevens worden uitgevoerd voor tabel `linkspel_links`
--
INSERT INTO `linkspel_links` (`id`, `url`, `credit`, `clicked`, `hours`, `priority`) VALUES
(1, http://www.klikkanon.nl/klik.php?user=jenner2006, -1, 1, 24, 27),
(2, http://www.klikkanon.nl/uurklik.php?user=jenner2006, -1, 1, 1, 13),
(4, http://www.crazykliks.nl/72uursklik.php?user=jenner2006, -1, 1, 72, 50),
(5, http://www.crazykliks.nl/klik.php?user=jenner2006, -1, 1, 24, 28),
(6, http://www.crazykliks.nl/uurklik.php?user=jenner2006, -1, 1, 1, 8); PHP:
[COLOR= #0000BB]<?php
$db[/COLOR] [COLOR= #007700]= new[/COLOR] MySQLi[COLOR= #007700]([/COLOR][COLOR= #DD0000]localhost[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]USERNAME[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]PASSWORD[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]DATABASE[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$ip[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REMOTE_ADDR[/COLOR][COLOR= #007700]];[/COLOR]
[COLOR= #FF8000]//SELECTEER DE LINKS DIE AAN DE EISEN VOLDOEN[/COLOR]
[COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]query[COLOR= #007700]([/COLOR][COLOR= #DD0000]SELECT
*,links.id AS id
FROM
linkspel_links AS links
LEFT JOIN
linkspel_kliks AS kliks
ON
kliks.ip = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REMOTE_ADDR[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]" AND
links.id = kliks.link_id AND
kliks.checking = 1
WHERE
(
links.credit > 0 OR
links.credit = -1
) AND
(
DATE_ADD(kliks.when, INTERVAL links.hours HOUR) < NOW() OR
kliks.when IS NULL
)
ORDER BY
links.priority DESC
LIMIT 1
[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]error[COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$link[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$query[/COLOR][COLOR= #007700]->[/COLOR]fetch_object[COLOR= #007700]();[/COLOR]
[COLOR= #FF8000]// Als er geen geldige link is gevonden dan wordt er een random link getoont,
// maar verder niks in het Database gezet.[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$link[/COLOR] [COLOR= #007700]==[/COLOR] null[COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]query[COLOR= #007700]([/COLOR][COLOR= #DD0000]SELECT
*
FROM
linkspel_links
ORDER BY
RAND()
[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]error[COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$link[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$query[/COLOR][COLOR= #007700]->[/COLOR]fetch_object[COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$link[/COLOR] [COLOR= #007700]==[/COLOR] null[COLOR= #007700])[/COLOR]
[URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Er zijn geen links ingevoerd.[/COLOR][COLOR= #007700]);
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
[COLOR= #FF8000]//Zet alle kliks van deze link op checking = 0[/COLOR]
[COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]query[COLOR= #007700]([/COLOR][COLOR= #DD0000]UPDATE
linkspel_kliks
SET
checking = 0
WHERE
ip = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REMOTE_ADDR[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]" AND
link_id = [/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$link[/COLOR][COLOR= #007700]->[/COLOR]id[COLOR= #007700].[/COLOR][COLOR= #DD0000]
[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]error[COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]//Als credit = -1 dan geen credit verlaging[/COLOR]
[COLOR= #0000BB]$set[/COLOR] [COLOR= #007700]= ([/COLOR][COLOR= #0000BB]$link[/COLOR][COLOR= #007700]->[/COLOR]credit [COLOR= #007700]!= -[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #DD0000]credit = credit - 1,[/COLOR] [COLOR= #007700]:[/COLOR] null[COLOR= #007700];[/COLOR]
[COLOR= #FF8000]//Verlaag credit en verhoog clicked[/COLOR]
[COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]query[COLOR= #007700]([/COLOR][COLOR= #DD0000]UPDATE
linkspel_links
SET
[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$set[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]
clicked = clicked + 1
WHERE
id = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$link[/COLOR][COLOR= #007700]->[/COLOR]id[COLOR= #007700].[/COLOR][COLOR= #DD0000]"
[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]error[COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]//Voeg een nieuwe rij in ter bevestiging van het bekijken van de url.[/COLOR]
[COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]query[COLOR= #007700]([/COLOR][COLOR= #DD0000]INSERT INTO
linkspel_kliks
VALUES (
null,
"[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REMOTE_ADDR[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]",
"[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$link[/COLOR][COLOR= #007700]->[/COLOR]id[COLOR= #007700].[/COLOR][COLOR= #DD0000]",
NOW(),
1
)
[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$db[/COLOR][COLOR= #007700]->[/COLOR]error[COLOR= #007700]);
}[/COLOR]
?>
<html>
<head>
<title>Jenners linkrotator</title>
<style type="text/css">
html, body {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<iframe src="[COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$link[/COLOR][COLOR= #007700]->[/COLOR]url[COLOR= #007700];[/COLOR] ?>" style="border: 0; width: 100%; height: 100%" frameborder="0">Your browser doesnt support iFrames.</iframe>
</body>
</html>
Het enige wat aangepast moet worden is de database gegevens en dat is duidelijk volgensmij
.