Mit javascipt php code ausführen

tom0248

Grünschnabel
Ich habe folgenden code erstellt zum testen:
(ich weiß schon, dass dieser noch wenig sinn macht... ist nur zum testen.
Ziel soll sein, dann nach einem Timeout, der PHP Code erneut ausgeführt wird)

PHP:
<?php
$a = "test" ;
?>

<script type="text/JavaScript">

setTimeout (function(){
   "<?php echo $a ?>";
    }, 5000);

</script>

Doch hier wird kein echo ausgeben. Mache ich einen Grundsätzlichen Fehler?
 
Mache ich einen Grundsätzlichen Fehler?
Ich vermute allerdings, dass es sich um einen grundsätzlichen Verständnisfehler handelt: Du kannst nicht ohne weiteres von Javascript aus PHP-Code ausführen, das geht nur mit weiterführenden Techniken (Ajax). PHP wird auf dem Server ausgeführt, bevor die Seite an den Browser und an Javascript gelangt. Sieh dir mal den Quellcode der Seite im Browser an, nicht im Editor: Dort wird er so aussehen:
Code:
setTimeout (function(){
   test;
   }, 5000);
</script>
So wie Du es erwartest, dass das PHP nach Timeout ausgeführt wird, funktioniert es nicht.
 
Ich würde in o. g. Fall bei PHP bleiben und nicht versuchen es zu vermischen, zumal es nicht so ohne weiteres geht, wie Sembervivum bereits ausgeführt hat.

Pack den PHP Code in eine Funktion und rufe diese später per sleep() auf (http://php.net/manual/de/function.sleep.php).

PHP:
<?php
function test() {
     $a = "Dies ist ein Test.";
     echo $a;
}
sleep(10);
test();

Obwohl, wo ich gerade darüber nachdenke...:
PHP:
<?php
function test() {
     $a = "Dies ist ein Test.";
     echo $a;
}
?>
Der Teil bleibt erhalten und danach wird folgendes JavaScript eingefügt:
Code:
<script type="text/JavaScript">
    document.write("<?php test();?>");
</script>

Alternativ könntest Du damit auch die Variable a aus Deinem Beispiel direkt aufrufen:
Code:
<script type="text/JavaScript">
    document.write("<?php echo $a;?>");
</script>
Die Verzögerung kannst Du ja auch noch mit implementieren. Somit rufst Du per JavaSript eine PHP Funktion auf Vielleicht hilft es Dir weiter... ;)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück