Miért nem jó ez a JavaScript+PHP kód együtt?
PASTEBIN/ UqDcyRXD
Itt a header() rész egyből lefut, pedig elvileg nem szabadna, csak akkor, amikor 0-tól 10-ig elszámol a JS...
Úgy viszont remekül megy, (tehát elszámol 10-ig a JS, majd 10-nél megjelenik a KATT IDE link, ha a header() részt egy sima <a href="oldal.php>KATT IDE</a> -ra cserélem).
Tehát miért fut le a PHP kód, vagy hogy kellene átírni, hogy csak akkor fusson le, amikor a JS elszámol 10-ig?
A kódodból
document.getElementById("seconds").innerHTML = "<?php header("Location: oldal.php")?>";
Ez így nem fog menni. A html header már el lett küldve, a js ezért futhat, így ez soha nem fog megvalósulni.
A fenti sort egyszerűen cseréld le:
self.location = "oldal.php";
Ja igen: arról nem is beszélve, hogy a php utasításokat a szerver fordítja a böngészőnek, így nem variálhatod a html tartalmat php utasításokat beszúrva.
Nézz utána az ajax módszernek, ha ilyesmit szeretnél. (jQuery-t javaslom az ajaxhoz, kicsit egyszerűbben hívható mint a natív)
Először tisztázni kell fejben, hogy a PHP kód a szerver oldalon fut, míg a JavaScript a kliens oldalon (most a Node.js-től tekintsünk el).
Egy szóval a PHP kód végrehajtódik és az így generált tartalmat adja át a szerver a böngészőnek, hogy jelenítse meg. Mivel PHP-ban elvégzel egy átirányítást, a szerver szól a böngészőnek, hogy "máshol keresse" a tartalmat és a JavaScript és az egész HTML kód, amely ezután kiküldésre kerülne sosem jut el a böngészőhöz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!