PHP dans du javascript ne s'éxécute que la première fois...

Résolu/Fermé
bernier111 Messages postés 123 Date d'inscription mercredi 10 mars 2010 Statut Membre Dernière intervention 12 novembre 2015 - Modifié par jordane45 le 3/08/2015 à 00:00
bernier111 Messages postés 123 Date d'inscription mercredi 10 mars 2010 Statut Membre Dernière intervention 12 novembre 2015 - 3 août 2015 à 04:36
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:
 <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...

1 réponse

Utilisateur anonyme
2 août 2015 à 22:06
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.
1
bernier111 Messages postés 123 Date d'inscription mercredi 10 mars 2010 Statut Membre Dernière intervention 12 novembre 2015 1
2 août 2015 à 22:14
Pourquoi sa fonctionne quand je passe pour la première fois dans la fonction alors?
0
Utilisateur anonyme
2 août 2015 à 22:26
Car la page est traité par le serveur avant d'être envoyé. Le PHP exécuté retourne de lHTML.
0
bernier111 Messages postés 123 Date d'inscription mercredi 10 mars 2010 Statut Membre Dernière intervention 12 novembre 2015 1
3 août 2015 à 04:36
Merci, j'ai réussi, j'ai fait du ajax et tout va super bien.
0