Ajax-Neuling: Java Script Stücke als PHP Variable?

Hi Leute!

Ich versuche mir ein eigenes Kleines Statistik System zu schreiben und hänge grad an diesem hier:

  
<?  
  
$monat = date("n");  
$tag   = date("d");  
$jahr  = date("Y");  
$stunde= date("H");  
$minute= date("i");  
$datumx = $tag.".".$monat.".".$jahr;  
$zeitx = $stunde.":".$minute;  
$widthpx = "script type='text/javascript'>document.write(screen.width)</script>";  
$heightpx = "<script type='text/javascript'>document.write(screen.height)</script>";  
$json = "<script type='text/javascript'>document.write(navigator.javaEnabled());</script>";  
$browser = "<script type='text/javascript'>document.write(navigator.appName);</script>";  
$browser2 = "<script type='text/javascript'>document.write(navigator.appName);</script> <script type='text/javascript'>document.write(navigator.appVersion);</script>";  
$cookieen = "<script type='text/javascript'>document.write(navigator.cookieEnabled);</script>";  
$languages = "<script type='text/javascript'>document.write(navigator.language);</script>";  
$os = "<script type='text/javascript'>document.write(navigator.platform);</script>";  
  
$deinText = "[  
'".$id."', '".$_SERVER['REMOTE_ADDR']."', '".$datumx." - ".$zeitx."', '".$os."', '".$_SERVER['REQUEST_URI']."', '".$_SERVER['HTTP_REFERER']."', '".$_SERVER['REQUEST_URI']."', '".$_SERVER['HTTP_USER_AGENT']."', '".$browser2."', '".$browser."', '".$languages."', '".$widthpx."x".$heightpx."', '".$json."', '".$cookieen."'  
], ";  
$datafile = "log_".$datumx.".stat";  
$fp = fopen($datafile, "a");  
fputs($fp, $deinText);  
fclose($fp);  
  
?>

In der Text File sind aber die <script type='... dinger, und nicht die ausgabe? Was mache ich Falsch?

Schonmal ein Grosses Danke!
L.g. Neuling

  1. Liebe(r) Ajax,

    Was mache ich Falsch?

    1.) Du verwendest Short Tags (nimm "<?php" stattdessen!)
    2.) Du sendest dem Browser Müll. Oder wie soll er erkennen, dass das ein HTML-Dokument sein soll? Verwende also mindestends das <http://de.selfhtml.org/html/allgemein/grundgeruest.htm@title=Grundgerüst einer HTML-Datei>, am besten noch mit einem passenden Doctype.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Ahoi,

      »» Was mache ich Falsch?

      1.) Du verwendest Short Tags (nimm "<?php" stattdessen!)

      http://forum.de.selfhtml.org/archiv/2009/2/t183685/#m1216768

      Dank und Gruß,

      frankx

    2. Hi Felix!

      1.) Du verwendest Short Tags (nimm "<?php" stattdessen!)
      2.) Du sendest dem Browser Müll. Oder wie soll er erkennen, dass das ein HTML-Dokument sein soll? Verwende also mindestends das <http://de.selfhtml.org/html/allgemein/grundgeruest.htm@title=Grundgerüst einer HTML-Datei>, am besten noch mit einem passenden Doctype.

      Das wäre dan schon noch gekommen, und Hilft mir auch grade gar nicht bei meinen Problem, trotzdem ein danke!

      l.g.

  2. Ahoi,

    In der Text File sind aber die <script type='... dinger, und nicht die ausgabe? Was mache ich Falsch?

    Du testet vielleicht nicht effizient? Test doch erstmal "irgendwas" darein zu schreiben. Teste doch dann mal die Variable, bevor du sie reinschreibst (var_dump()). Vielleicht ist sie ja leer?

    Deine Stringzusammenbastelei scheint mir auch nicht besonders "effizient".

    s.a.:

      
    <?php ob_start();?>  
    text, zb Javascript <?php echo $phpvar_needed_here?> mehr text.  
    <?php  
    $der_ganze_text = ob_get_clean();  
    //var_dump($der_ganze_text);  
    file_put_contents("file.name",$der_ganze_text);  
    
    

    Dank und Gruß,

    frankx

    1. Salute!

      <?php ob_start();?>  
      <script type='text/javascript'>document.write(screen.width)</script>  
      <script type='text/javascript'>document.write(screen.height)</script>  
      <script type='text/javascript'>document.write(navigator.javaEnabled());</script>  
      <script type='text/javascript'>document.write(navigator.appName);</script>  
      <script type='text/javascript'>document.write(navigator.appName);</script>  
      <script type='text/javascript'>document.write(navigator.appVersion);</script>  
      <script type='text/javascript'>document.write(navigator.cookieEnabled);</script>  
      <script type='text/javascript'>document.write(navigator.language);</script>  
      <script type='text/javascript'>document.write(navigator.platform);</script>  
      <?php  
      $der_ganze_text = ob_get_clean();  
      //var_dump($der_ganze_text);  
      file_put_contents("try.txt",$der_ganze_text);  
      ?>
      

      Danke, aber irgentwie schreibt er mir so /\ auch:
      <script type='text/javascript'>document.write(screen.width)</script>
      statt: z.b. 1600

      l.g.

      1. Ahoi,

        <script type='text/javascript'>document.write(screen.width)</script>
        statt: z.b. 1600

        Naja, was sagt denn der Browser dazu? Erst der interpretiert doch den Quelltext. Wie sieht der Quelltext aus? Erwartest du von PHP, dass es Javascript interpretiert (;-)? Nimm doch mal nur ein alert("hallo"); und schau was rauskommt.

        Wenn ich test.php im Browser aufrufe, und darin steht:

        echo '<script>alert("hallo")</script>'; (nur Beispiel, ansonsten echo vermeiden),  dann kommt im Browser ein hallo-alert. Im text steht aber natürlich der Text.

        Dank und Gruß,

        frankx

  3. Hoi!

    Ok. Du erstellst ein File voller merkwürdigem JS. (wofür sind den die ganzen <javascript> Tags?)

    Was genau ist nun Deine Frage? Warum du Javascript in deinem File hast? Die Antwort ist leicht: Du schreibst es da rein. Was Du falsch machst? Ich weiß ja nichtmal was Du überhaupt machen willst. Aber ich Tipp mal wild drauf los: Alles. Denn wenn Du ein File voller JS erstellst aber das gar nicht haben willst ist doch an Deinem Grundkonzept schon etwas total falsch.

    Was erwartest Du denn?!

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett
    1. Was erwartest Du denn?!

      <script type='text/javascript'>document.write(screen.width)</script>
      gibt eine zahl aus, und die soll da rein! nicht:
      <script type='text/javascript'>document.write(screen.width)</script>

      Und es ist darum so Merkwürdig weil ich es mit einem Framework auslesen mit einem Grid

      l.g.

      1. Hoi!

        <script type='text/javascript'>document.write(screen.width)</script>
        gibt eine zahl aus, und die soll da rein! nicht:
        <script type='text/javascript'>document.write(screen.width)</script>

        Und es ist darum so Merkwürdig weil ich es mit einem Framework auslesen mit einem Grid

        Es ist gar nicht merkwürdig. Nochmal: Du erstellst ein File voller JS. Woher soll denn der Wert von screen.width kommen? Führe dein JS aus und du wirst deine Ergebnisse bekommen.

        KAnn es sein, daß Du grad ein Problem damit hast serverseitigen und clientseitigen Code auseinanderzuhalten? Du erstellst Serverseitg Code für den Client, den er nicht zu Gescith bekommt, wies scheint.

        Ermittle per JS deine Werte und übergib sie dem Server.

        --
        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
              - T. Pratchett
  4. Hi,

    Ich versuche mir ein eigenes Kleines Statistik System zu schreiben und hänge grad an diesem hier:
    $heightpx = "<script type='text/javascript'>document.write(screen.height)</script>";

    Du erwartest jetzt in der PHP-Variablen auf dem Server den Wert, den Javascript nach Ausliefern des PHP-Script-Outputs an den Browser im Client ermittelt?

    Das kann nichts werden - in dem Moment, in dem das Javascript auf dem Client zu werkeln beginnt, ist das PHP-Script auf dem Server schon lange fertig.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.