PHP dans du javascript ne s'éxécute que la première fois...
Résolu
bernier111
Messages postés
123
Date d'inscription
Statut
Membre
Dernière intervention
-
bernier111 Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
bernier111 Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
Bonjour, depuis peu je programme un site web. K'utilise l'api google pour lire des vidéo youtube. Voici le bout de code en question:
--------------------------------------------------------------
Le problème est que je fait un appel au 10 secondes à la fonction horloge, qui elle contient du code php. Le tout s'exécute bien la première fois, mais en revanche les fois suivantes le php ne s'exécute pas bien car la video_id ne change jamais. J'ai effectuer plusieurs test avec des alert et des print_r et echo var_dump, mais rien ne m'a aidé. J'aimerais savoir ce qui cause ce problème et comment le résoudre. Merci
EDIT : Ajout des balises de code.
Merci d'y penser les prochaines fois...
<div class="col-xs-12 video" id="ytplayer"> <script> var tag = document.createElement('script'); tag.src = "[https://www.youtube.com/player_api]"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('ytplayer', { height: '700', width: '640', videoId: video_id.VIDEO_ID, }); } function Horloge() //A chaque fois le le temps à été écoulé, on passe par cette fonction qui va chercher un nouveau id de video et qui la fait jouer. { <?php $video_id = $repository->get_random_video($video_id);?> var video_id = <?php echo json_encode($video_id);?>; player.clearVideo(); player.loadVideoById(video_id.VIDEO_ID, 5, "large") var dt=new Date(); window.status=dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds(); //calacul du temps du video.... timer = window.setTimeout('Horloge()', 10000); } var timer = window.setTimeout('Horloge()', 10000); </script> </div>
--------------------------------------------------------------
Le problème est que je fait un appel au 10 secondes à la fonction horloge, qui elle contient du code php. Le tout s'exécute bien la première fois, mais en revanche les fois suivantes le php ne s'exécute pas bien car la video_id ne change jamais. J'ai effectuer plusieurs test avec des alert et des print_r et echo var_dump, mais rien ne m'a aidé. J'aimerais savoir ce qui cause ce problème et comment le résoudre. Merci
EDIT : Ajout des balises de code.
Merci d'y penser les prochaines fois...
A voir également:
- PHP dans du javascript ne s'éxécute que la première fois...
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Telecharger adobe premiere pro gratuit windows 10 - Télécharger - Montage & Édition
- Paiement 4 fois cdiscount impossible - Forum Consommation & Internet
- Je suis une chose que les garçons utilisent 2 fois par jour et les filles une fois dans leur vie - Forum Loisirs / Divertissements
1 réponse
Normal, du PHP c'est du langage serveur, donc exécuté que par le serveur, et le JS du langage client donc gérer par le navigateur, mais les deux ne peuvent pas être exécuter sur le serveur de l'autre.
Mais pour les lier il existe l'AJAX par exemple.
Mais pour les lier il existe l'AJAX par exemple.
bernier111
Messages postés
123
Date d'inscription
Statut
Membre
Dernière intervention
1
Pourquoi sa fonctionne quand je passe pour la première fois dans la fonction alors?
Utilisateur anonyme
Car la page est traité par le serveur avant d'être envoyé. Le PHP exécuté retourne de lHTML.
bernier111
Messages postés
123
Date d'inscription
Statut
Membre
Dernière intervention
1
Merci, j'ai réussi, j'ai fait du ajax et tout va super bien.