PHP Code nach 30 Sekunden neu laden lassen?

4 Antworten

Zuerst ein Kommentar zu deinem Markup: Der center-Tag gehört schon seit Jahrzehnten nicht mehr zum HTML-Standard. Wenn du Text zentrieren möchtest, nutze das text-align-Property von CSS.

Bezüglich deines Problems:

Mit der JavaScript-Funktion setInterval kannst du in periodischen Abständen eine Aktion durchführen lassen. Beispielsweise einen AJAX-Request an ein separates PHP-Skript, welches deinen Code-Part ausführt.

JavaScript (ungetestet):

<script>
  const playerDisplay = document.getElementById("player-display");
  const request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      playerDisplay.innerHTML = this.responseText;
    }
  };
  request.open("GET", "url-to-your-php-script", true);

  setInterval(function() { request.send(); }, 30000);
</script>

Im Markup fügst du an der Stelle, an der du den Songnamen ausgeben lassen möchtest, ein Element ein (bspw. ein p-Tag) und kennzeichnest dieses bspw. mit einem id-Attribut.

<p id="player-display"></p>

Das PHP-Skript selbst müsste in jedem Fall einen String zurückgeben, der bestenfalls die neuen Informationen enthält.

<?php
  // some logic stuff ...
  print "your information / result for client ...";
Luk729277789 
Fragesteller
 17.11.2019, 12:56

Kann ich dir meinen Code per Email senden und du baust es ein? :D

0

Nur mit Php ist das meines Wissens nach leider nicht möglich, da php eine Server basierte Sprache ist, sie aktualisiert sich also nur wenn ein Austausch von Client (z. B einem PC) und den Server auf dem die Php-Datei gespeichert ist statt findet. Ich denke du brauchst dafür ein paar Zeilen Java Script. Das ist eine Client basierte Sprache, damit kann man dann auch zählen.

Leider bin ich aus der Web-Entwicklung schon ein bisschen draußen und kann dir deshalb keinen Code schicken. Vielleicht hat ja noch jemand eine Idee.

LG Jesaja

Woher ich das weiß:Hobby

Du könntest die Seite neu laden, dann wird dein PHP-Code erneut ausgeführt

z.B.:

<meta http-equiv="refresh"  content="30" > 

in eine schleife packen und nach "sleep()" die funktion weiterlaufen lassen, bzw. erneut aufrufen.

Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)
regex9  17.11.2019, 11:01

Und wie lange soll der Client auf den ersten Response warten?

1