[RESOLU] Générer une redirection aléatoire vers vidéo youtube

No Brain
Invité n'ayant pas de compte PHPfrance

27 janv. 2016, 15:10

Bonjour à tous,

Je vous explique mon problème, je souhaiterais, lorsque mes abonnés clique sur un lien, que ça les redirige sur une de mes autres vidéos de façon aléatoire.

Je possède déjà ce code qui marchait au début, mais pour une raison que j'ignore, plus maintenant:

<?php
$videos = array(
'https://www.youtube.com/watch?v=it30tSDQ8Qg',
'https://www.youtube.com/watch?v=yTBic8c9edo',
(etc)
);
$alea = rand(0, (count($videos)-1));
$video = $videos[$alea];
?>


Sauriez-vous pourquoi ça ne marche pas ?
http://nobrainlink.alwaysdata.net/Videoaleatoire


Par avance merci :)

Eléphant du PHP | 385 Messages

27 janv. 2016, 15:21

Bonjour si tu expliquer un peux plus le code cela serait mieux avec un http://php.net/manual/fr/function.header.php cela ne fonctionne pas?

No Brain
Invité n'ayant pas de compte PHPfrance

27 janv. 2016, 15:31

Je ne suis pas très débrouillard en PHP je dois avoué. Que te faudrait-il de plus comme information ?
Car le code que je t'ai envoyé, est le code complet. (hormis le fait qu'il y a 170 lien de vidéo au lieu des 2 ^^)

Mammouth du PHP | 1967 Messages

27 janv. 2016, 15:52

Tu dois forcement faire quelque chose avec ta variable $video sinon il ne se passera rien.

Comme te le suggère Kevin254kl, utilise la fonction header('location:'.$video);
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

No Brain
Invité n'ayant pas de compte PHPfrance

27 janv. 2016, 16:02

Merci de ta réponse;

j'ai mis comme ceci:

<?php
header('location:'.$video
'https://www.youtube.com/watch?v=LXujL29gkyo',
);
$alea = rand(0, (count($videos)-1));
$video = $videos[$alea];
?>


Je suis VRAIMENT une bille en PHP ... Désolé

Mammouth du PHP | 1967 Messages

27 janv. 2016, 16:06

Non pas du tout
<?php
//déclaration de la liste des url des vidéos
$videos = array( 
'https://www.youtube.com/watch?v=it30tSDQ8Qg',
'https://www.youtube.com/watch?v=yTBic8c9edo',
(etc)
);
//sélection d'un index au hasard parmi la liste
$alea = rand(0, (count($videos)-1));
//récupèration de l'url de la vidéo choisie au hasard
$video = $videos[$alea];
//redirection vers l'url choisie
header('location: '.$video);
//arret du script pour éviter tout comportement inattendu 
exit();
?>
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

No Brain
Invité n'ayant pas de compte PHPfrance

27 janv. 2016, 16:12

OH SUPER, pourquoi j'ai jamais appris le PHP, c'est tellement classes de pouvoir lire ces petites ligne comme ci on lisait un livre qu'on comprend.

Ca marche niquel, je te remercie vraiment pour ton temps.

Dernière petite question, saurais-tu s'il y a un nombre maximum de lien supporté par le code ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

27 janv. 2016, 16:18

Bonjour,
Dernière petite question, saurais-tu s'il y a un nombre maximum de lien supporté par le code ?
Un tableau (array() en PHP) n'a pas de limite maximum de taille, c'est seulement la mémoire vive du serveur qui te bloquera au delà de plusieurs millions d'entrées, donc tu as de quoi voir venir ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Mammouth du PHP | 1609 Messages

27 janv. 2016, 16:22

Salut, le nombre maximum d'adresses supportées est le nombre d'adresses qu'il y a dans le tableau $videos étant donné que le rand choisit aléatoirement un nombre entre 0 et le nombre d'adresses dans le tableau (count($videos)-1).

Tu peux donc ajouter autant d'adresses que tu souhaites dans le tableau, le rand s'adaptant en fonction.
Développeur web depuis + de 20 ans

No Brain
Invité n'ayant pas de compte PHPfrance

27 janv. 2016, 16:23

Bonjour,
Dernière petite question, saurais-tu s'il y a un nombre maximum de lien supporté par le code ?
Un tableau (array() en PHP) n'a pas de limite maximum de taille, c'est seulement la mémoire vive du serveur qui te bloquera au delà de plusieurs millions d'entrées, donc tu as de quoi voir venir ;)
Ok c'est niquel alors, merci à toi et à vous tous !!
Je reviendrais surement vous embêtez une autre fois :)

Bonne continuation