Esm: eine JS-Variable in PHP-Code übernehmen

Hi Leute,

ich möchte mit JS die Bildschirmauflösung herausfinden, diese in eine Variable speichern und in eine php-Variable umwandeln. So hab ich angefangen:

<?php

echo "<SCRIPT LANGUAGE="JavaScript">";
echo "var auf;";
echo "auf = (screen.width + " x " + screen.height);";
echo "</script>";

$phpvar = //<-- dort soll nun der Inhalt der JS-Variable "auf" rein.

?>

Wie mach ich das?

  1. Hallo

    So wie ich es schon schrieb:
    http://php4-forum.de/forum.php3?nr=134220&site=0

    Grüße

    David

    --
    "Nobody will ever need more than 640k RAM!"
    1981 Bill Gates
    1. Hi David,

      guck mal, so viel hab ich alleine rausgefunden:

      <?php
      ...
      $herkunft = $_SERVER["HTTP_REFERER"];
      $aufloesung = ???

      $sqlInsert = "INSERT INTO counter VALUES ('$counter', '$ip', '$timenow', NOW(''), '$herkunft', '$aufloesung', '$browsertyp', '$browserver', '$platform');";
      $result = mysql_query($sqlInsert);

      ?>

      Ich weiss wirklich nicht, wie ich das machen sollte, hab mir auch die von dir vorgeschlagenen Seiten angeguckt, weiss aber wirklich nicht weiter!!!

      PLEASE HELP ME!!!

      1. Hallo Esm,

        $herkunft = $_SERVER["HTTP_REFERER"];

        da wirst du bei mir schlechte Karten haben - mein Opera spuckt nämlich überhaupt keinen referer aus :-)

        $aufloesung = ???

        das geht mit php nicht.

        für ip und browser oder sowas dürfte dir das was phpinfo() ausspuckt helfen.

        PLEASE HELP ME!!!

        ganz ruhig :-)

        Grüße aus Nürnberg
        Tobias

      2. Hallo

        Nun, noch einmal alles was schon gesagt wurde:
        Nur durch das Script kommst du nicht an die Auflösung. Es ist dem Server reichlich ganz egal ob du nun 800x600, 1024x756 oder 10x33 hast. Er wird immer das gleiche machen.
        Also muss du dem Script _zuvor_ mitteilen, welche Auflösung der Client hat. Das geht nur über JS[1] und wie du schon erkannt hast per screen.width und screen.height.
        Einem Script kannst du Parameter per get-Methode übermitteln, also einfach an die URL anhängen. Mit der genannten Site aus SelfHTML und meinem Beispiel weißt du, wie man eine Seite mit JS aufruft.
        Also muss dein JS lauten (und beim Betreten der Seite aufgerufen werden):
        window.location.href = 'seincript.php3?aufloesung=' + screen.width + 'x' + screen.height;
        In deinem PHP-Script kommst du an den Wert nun per $_GET["aufloesung"] [2]und er hat dann die Auflösung in dem oben stehenden Format. Dann kannst du damit weiterarbeiten wie du willst :)

        [1] Was machst du wenn der User JS deaktiviert hat?
        [2] Da du wohl ein Neuling bist: $_GET[], $_POST[] usw sind notwendig, da register_globals nun stndardmäßig auf off steht in der php.ini. Dazu suche einfach mal hier im Forum oder google ein wenig, da  findest du was es damit auf sich hat.

        Grüße

        David

        --
        "Nobody will ever need more than 640k RAM!"
        1981 Bill Gates
  2. Hallo Esm,

    echo "<SCRIPT LANGUAGE="JavaScript">";

    hier fehlt ein type="text/javascript"

    echo "var auf;";
    echo "auf = (screen.width + " x " + screen.height);";

    und was bringt dir die Bildschirmgröße?

    $phpvar = //<-- dort soll nun der Inhalt der JS-Variable "auf" rein.

    du weißt, dass php Serverseitig abläuft, und js Clientseitig? Du kannst javascriptvariablen bestenfalls durch übergeben z.B. mittels eines Links übergeben.

    Grüße aus Nürnberg
    Tobias

    1. Muss ich also erst in einer "normalen" html-Seite die Auflösung mit JS ermittlen und diese dann mit
      window.location.href = 'meinscript.php3?varname=' + jsvar;
      an meine .php schicken???

      1. Hallo Esm,

        window.location.href = 'meinscript.php3?varname=' + jsvar;
        an meine .php schicken???

        ja, wenn es unbedingt sein soll, ja.

        Grüße aus Nürnberg
        Tobias