hannes: kann variable nicht verwerten

ich habe folgendes kleines script:

<body>  
<script type="text/javascript">  
var javascript = "1";  
</script>  
<?php  
$javascript = "<script type='text/javascript'>document.write(javascript);</script>";  
  
echo $javascript."<br>";  
  
if($javascript=="1")  
{  
   echo "javascript = on";  
}  
else {  
   echo "javascript = off";  
}  
?>  
 </body>

Wenn javascript auf dem Browser aktiviert ist, zeigt die Variable '$javascript' 1 an; wenn javascript nicht aktiviert ist, wird nichts angezeigt. Dies entspricht meinen Erwartungen.
Die if-Bedingung kann aber nicht ausgewertet werden, das echo heisst immer (so oder so) 'javascript = on'. Ich kann den Fehler nicht finden. Weiss jemand Rat?

  1. Ha! reingelegt. Für ganze 5 Minuten habe ich echt versucht mit intval Funktionen und co den angeblichen String der Variable $javascript in ein Integer umzuwandeln.

    ... was nur beweist, wie schön Deine Frage ist.

    Also, es ist so. Du kennst ja sicherlich den strukturellen Unterschied von php und java, der nämlich, dass java beim User interpretiert wird, php beim Server.

    Du sagst jetzt auf dem Server: $javascript = "<script.....</script";

    $javascript enthält jetzt genau diesen Text.

    Diesen Text gibst per echo an den Browser, der interpretiert ihn und schreibt eine 1 bzw keins!

    Auf dem Server wurde aber natürlich $javascript nicht bestückt, dass heisst es enthält immer noch den Text. Jede Abfrage ist daher wirkungslos.

    Leider arbeite ich nicht so viel mit Java, daher kann ich Dir keine elegante Alternative vorschlagen.

    Guten Abend.
    LSpreee

    1. Leider arbeite ich nicht so viel mit Java, daher kann ich Dir keine elegante Alternative vorschlagen.

      Eine elegante Alternative mit Java? Neeeeeiiiiiiiiiiiiiiiiiin. SCNR

      1. Hi,
        weiß nicht genau, was Du damit meinst.

        Aber das Problem das er hat (möchte mit php wissen, ob Java aktiviert ist oder nicht) ist ja noch nicht behoben.

        Hier ein interessanter Artikel

        Es geht also nicht ohne einen Seitenrefresh. Ist eigentlich ganz klar nachdem man es sich überlegt hat.

        Aber die Lösung ist doch sehr schön, oder?

        1. weiß nicht genau, was Du damit meinst.

          Aber das Problem das er hat (möchte mit php wissen, ob Java aktiviert ist oder nicht) ist ja noch nicht behoben.

          Java? Nö.

          1. Wer nix zu sagen hat, sollte dies häufiger tun (nix sagen).

        2. Hier ein interessanter Artikel

          Vielen Dank LSpreee,
          der Link ist sehr hilfreich (und die Lösung elegant).

          Gruss

  2. Wenn javascript auf dem Browser aktiviert ist, zeigt die Variable '$javascript' 1 an; wenn javascript nicht aktiviert ist, wird nichts angezeigt.

    Ich habe von js so gut wie keine Ahnung aber ich glaube, Du hast das Errorreporting von PHP aus und solltest es erstmal einschalten.

  3. Hi,

    <script type="text/javascript">
    var javascript = "1";

    Das ist eine JavaScript-Variable.

    </script>
    <?php
    $javascript = "<script type='text/javascript'>document.write(javascript);</script>";

    echo $javascript."<br>";

    if($javascript=="1")

    Wie soll denn hier $javascript gleich "1" sein?
    Du hast du gerade darüber dafür gesorgt, dass $javascript den Textstring "<script...</script>" enthält.

    Die if-Bedingung kann aber nicht ausgewertet werden, das echo heisst immer (so oder so) 'javascript = on'. Ich kann den Fehler nicht finden.

    Der Fehler ist ein Denkfehler.
    PHP hat seine Arbeit lägnst fertig verrichtet, wenn dein JavaScript-Code auf dem Client ankommt.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.