ohne Benutzername
Neues Mitglied
Welches ist die beste Methode serverseitig herauszufinden ob der Client Javascript eingeschaltet hat, OHNE COOKIES dafür zu nutzen, und ohne die Seite neu zu laden.
Ich habe an eine Lösung gedacht, ein Javascript sollte gleich am Anfang der index.php eine andere Seite inhalt.php laden und dann weiter unten lade ich im <nosript> Bereich noch einmal die inhalt.php Seite für die die kein Javascript eingeschaltet haben.
<a href="https://blabla.de/index.php">
und dann so :
Scheint auf den ersten Blick eine gute Lösung, nur lade ich eigentlich für die , die Javascript eingeschaltet haben die Seite zwei mal, und das kann Probleme zB mit der Datenbank bereiten.
ich habe dann noch gedacht eine Session Variable zu erzeugen und sie anzuhängen, und dann in inhalt.php in eine serverseitige Array $_SESSION['session'] += $_GET['session'] schreibe, die ich dann weiter im Code vergleiche und wenn ich die kenne dann gib ich inhalt.php nicht noch einmal aus.
Scheint auch gut zu sein, aber da besteht die Gefahr dass Javascript nach dem php geladen und durchgeführt wird. Javascript ladet ja vom Browser aus, und der <noscript> Tag vom Server. Ich müsste irgendwie mit dem NoScript Bereich warten bis Javascript geladen hat.
Und da habe ich keinen Schimmer wie ich das machen soll.
Gibt es eine einfache Methode das zweite Laden zu verhindern wenn der Javascript ?
UPDATE.
Nach einigen Stunden googeln habe ich die Funktion pcntl-wait() gefunden, das ist eine heiße Sache da ich damit mein PHPScript anhalten kann. Die meinen da das die Funktion ein pid überwacht und erst weitermacht wenn der pid verschwunden ist. Wie löse ich mit Javascript einen pid am Server aus ?
Ich habe an eine Lösung gedacht, ein Javascript sollte gleich am Anfang der index.php eine andere Seite inhalt.php laden und dann weiter unten lade ich im <nosript> Bereich noch einmal die inhalt.php Seite für die die kein Javascript eingeschaltet haben.
<a href="https://blabla.de/index.php">
und dann so :
PHP:
// index.php
<script>
var x=document.getElementById("body");
x.innerHTML = '<?php include_once "include.php?script=true&session=123456789";?>';
</script>
<noscript>
<?php
include_once("include.php?script=false&session=123456789")
?>
</noscript>
Scheint auf den ersten Blick eine gute Lösung, nur lade ich eigentlich für die , die Javascript eingeschaltet haben die Seite zwei mal, und das kann Probleme zB mit der Datenbank bereiten.
ich habe dann noch gedacht eine Session Variable zu erzeugen und sie anzuhängen, und dann in inhalt.php in eine serverseitige Array $_SESSION['session'] += $_GET['session'] schreibe, die ich dann weiter im Code vergleiche und wenn ich die kenne dann gib ich inhalt.php nicht noch einmal aus.
Scheint auch gut zu sein, aber da besteht die Gefahr dass Javascript nach dem php geladen und durchgeführt wird. Javascript ladet ja vom Browser aus, und der <noscript> Tag vom Server. Ich müsste irgendwie mit dem NoScript Bereich warten bis Javascript geladen hat.
Und da habe ich keinen Schimmer wie ich das machen soll.
Gibt es eine einfache Methode das zweite Laden zu verhindern wenn der Javascript ?
UPDATE.
Nach einigen Stunden googeln habe ich die Funktion pcntl-wait() gefunden, das ist eine heiße Sache da ich damit mein PHPScript anhalten kann. Die meinen da das die Funktion ein pid überwacht und erst weitermacht wenn der pid verschwunden ist. Wie löse ich mit Javascript einen pid am Server aus ?
Zuletzt bearbeitet: