Als je wilt dat de linkjes één voor één worden getoond dan ga ik er even van uit dat je dat PER BEZOEKER wilt. Je kunt dan in de sessie onthouden bij welk linkje je gebleven was door de index te onthouden.
<?php
$link = array(
"http://www.google.nl",
"http://www.startpagina.nl",
"http://www.facebook.com"
);
// start php's session service
session_start();
// Bij ons allereerste bezoek zal er nog geen index bewaard zijn in de sessie dus dat controleren we eerst:
if(isset($_SESSION['linkjes_index']) === FALSE)
{
$index = 0; // array's tellen we vanaf nul weet je nog?
}
else // indien er wel een index in de array staat:
{
$index = $_SESSION['linkjes_index'];
}
// het gevaar is nu nog dat de teller bij 4 gaat komen terwijl ik maar 3 linkjes heb in mijn array..
if($index == count($link))
$index = 0;
// nu moeten we de $index nog opslaan voor de volgende keer en we verhogen deze dan met 1.
$_SESSION['linkjes_index'] = $index + 1;
?>
<!DOCTYPE html>
<html>
<head>
<title>Mijn titel</title>
<meta charset="UTF-8">
</head>
<body>
<a href="<?php echo $link[$index]; ?>"><?php echo $link[$index]; ?></a>
</body>
</html>
[size=xsmall]Toevoeging op 22/05/2015 21:25:48:[/size]
Een sessie wordt overigens na een tijdje van inactiviteit gereset. en dan begint de teller weer vanaf 0. Dat moet ik er wel even bij zeggen. Anders kun je inderdaad cookies gebruiken.
> Helaas doet onderstaande code het niet goed want er word elke keer enkel de laatste url gekozen.
Om hier nog even op terug te komen: dat probleem zit in regel 17.
De eerste keer dat je de pagina aanroept, wordt een random getal gegenereerd. Dat wordt in een cookie opgeslagen. Als je daarna terugkomt op de pagina, wordt de waarde uit die cookie gebruikt. Die wordt echter nooit meer veranderd, dus blijf je steeds dezelfde link terugkrijgen.
// Bij ons allereerste bezoek zal er nog geen index bewaard zijn in de sessie dus dat controleren we eerst:
if(isset($_SESSION['linkjes_index']) === FALSE)
{
$index = 0; // array's tellen we vanaf nul weet je nog?
}
else // indien er wel een index in de array staat:
{
$index = $_SESSION['linkjes_index'];
}
// het gevaar is nu nog dat de teller bij 4 gaat komen terwijl ik maar 3 linkjes heb in mijn array..
if($index == count($link))
$index = 0;
// nu moeten we de $index nog opslaan voor de volgende keer en we verhogen deze dan met 1.
$_SESSION['linkjes_index'] = $index + 1;
?>
<!DOCTYPE html>
<html>
<head>
<title>Mijn titel</title>
<meta charset="UTF-8">
</head>
<body>
<a href="<?php echo $link[$index]; ?>"><?php echo $link[$index]; ?></a>
</body>
</html>
Op zich niet zo heel erg moeilijk maar waarschijnlijk onbekend voor jou waardoor je weer even flink aan de slag moet :-)
Misschien kun je beginnen met een database aanmaken in phpMyAdmin en daarin een tabel aanmaken met de naam 'links' of zo. In de tabel maak je drie kolommen aan: