Executer le coder php d'une page sans l'ouvrir avec onclick

Résolu
sunev Messages postés 40 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
j'ai une page "infos.php" avec du code php qui inscrit des infos dans le fichier "receuil.txt"


<?php
$filename = 'receuil.txt';$somecontent = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
if (is_writable($filename)) {if (!$handle = fopen($filename, 'a')) { exit;}
$somecontent.= " Videos du Jeudi 2 Fevrier 2017 l le ".date('l d/m/Y')." à ".date('H').":".date('i').":".date('s').""; ?>


Et une page avec une video


<video onclick=" window.open (infos.php)" width="600" height="325" controls poster="">
<source src=""quot;vague_acryl(1).webm" type="video/webm">
</video>


il faudrait qu'avec "onclick" les instructions de la page "infos.php" s’exécutent sans l'ouvrir.
avec window.open tout fonctionne mais l'ouverture de cette fenêtre est inutile et gênante .
Si quelqu'un a une idée, merci de m'en faire part.

3 réponses

  1. Grandasse_ Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   610
     
    Bonjour ?

    Pourquoi ne pas mettre un lien vers infos.php et à la fin de ton info.php tu mets:
    header('Location:index.php');

    C'est invisible pour l'utilisateur puisque tu le rediriges vers là où il est déjà, il a fait un saut vers infos.php sans s'en rendre compte.

    0
  2. sunev Messages postés 40 Statut Membre
     
    Merci Grandasse81

    Mais avec header('Location:index.php');
    une deuxième page s'ouvre et chaque fois que l'on veut mettre la vidéo en pose ou en plein écran on réactualise la page et le film repart du début
    avec une autre page ouverte plus le son en décalé
    de quoi péter un plomb au bout de 4 ou 5 clicks.

    Il faut donc que je trouve l'astuce pour inscrire l'info dans le fichier.txt
    sans ouvrir de page "infos.php."
    Si je met le code dans la page principale ou ce trouve la vidéo, a l'ouverture de cette page principale l'info est inscrite dans "info.txt" mais ça ne dis pas si la video a été regardée, en plus il y a plusieurs vidéos, donc chaque video doit me laisser sa propre info dans "info.txt"

    je ne suis pas assez fort en php ou javascript pour générer le code
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Au risque de me répéter..... tu peux faire ce que tu souhaites en utilisant l'ajax.
      Soit en "pure" javascript via le xmlhttprequest .... soit (plus simple) en utilisant jquery.

      => https://api.jquery.com/jQuery.ajax/
      par exemple :
      <script type="text/javascript" src=""quot;//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
          <script language="javascript">
              function cancelClicked() {
                  // function below will run clear.php?h=michael
                  $.ajax({
                      type: "POST",
                      url: "infos.php" ,
                      success: function(data, textStatus, xhr) {
                        //ici tu peux executer (si besoin) du code JS en fonction de la "réponse" de ta page php
                       console.log(xhr.status);               
                      }
                  });
              }
          </script>
      
      0
  3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour

    Pour faire ce que tu veux tu dois utiliser de l'ajax.

    -1