Changer un lien de façon aléatoire

Petit nouveau ! | 3 Messages

24 janv. 2019, 10:50

Bonjour,

Sur un page simple, en HTML, changeable en PHP, j'ai trois fois le même lien. La variable est le lien, avec deux valeurs : lien1, lien2.

Je souhaite afficher, pour chaque visite, lien1 avec une probabilité de 1/5 (donc lien2 avec une probabilité de 4/5).

L'important est que, pour chaque visite, le lien soit le même aux trois emplacements.

Pour les visiteurs qui retournent sur la page, pas de mémorisation de ce qu'ils ont vu précédemment.

Comment faire ?


Merci.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

24 janv. 2019, 15:38

Bonjour,

Tu peux utiliser la fonction rand() en mettant en paramètre 1,5 ça va te générer un chiffre aléatoire entre 1 et 5.
Si c'est 1 alors tu affiches le lien 1, sinon tu affiches le lien 2.

https://php.net/rand
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

24 janv. 2019, 19:38

<html>
<head>
<title></title>
</head>
<body>

<?php
$value_between_1_and_5 = rand(1, 5);
$link = 'lien2';

if ($value_between_1_and_5 == 1) {
$link = 'lien1';
}
?>

(...)
<a href="<?php echo $link;?>">texte1</a>
(...)
<a href="<?php echo $link;?>">texte2</a>
(...)
<a href="<?php echo $link;?>">texte3</a>
(...)

</body>
</html>

Merci @rthur...


Un avis sur le code ci-dessus SVP ?

Merci.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

24 janv. 2019, 19:44

Moi j'aurai fait un if...else plutôt que de définir une variable avant le if pour la changer ensuite, c'est plus lisible avec un if else je trouve mais c'est pas bien grave, l'essentiel c'est que ça fonctionne
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

24 janv. 2019, 21:54

<?php

$value_between_1_and_5 = rand(1, 5);

if ($value_between_1_and_5 == 1) {
$link = 'lien1';
}

else {
$link = 'lien2';
}

?>