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
- Dans le document à télécharger : affichez l'ensemble des diapositives à l'écran avec 5 diapositives par ligne. repérez le groupe de 3 diapositives avec une fleur identique alignées verticalement, supprimez la première d'entre elles. un nouveau groupe de 3 diapositives avec une fleur identique alignées verticalement apparaît, supprimez encore la première d'entre elles. déplacez les 3 premières diapositives de la 4e ligne au début de la présentation. quel mot est formé par les lettres de la première colonne ? - Forum Powerpoint
- Imprimer plusieurs fois la même image sur une page ✓ - Forum Logiciels
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.