luiggi: JS Werte an PHP

Hallo,
ich weiss, dass das schon oft gefragt wurde.
Aber ich sitze hier jetzt schon lange und komme trotz einiger Fundestellen nicht weiter.
Ich will per JS die Auflösung des user herausfinden und das in eine DB eintragen (MySql). Dazu müsste ich die Werte aber erstmal in PHP bekommen, und da scheitere ich kläglich.
In meiner Index.php will ich die webbug.php aufrufen, in der ein Bild ist. An das Bild hänge ich die Daten aus JS dran.
Problem: das bild wird nicht angezeigt, aber die Werte sind übergeben worden (Eigenschaften des Bildes: [pfad]/webbug.php?x=1280&h=1024).
Das das Bild nicht angezeigt wird, stört mich ja weniger, aber die Daten kommen eben auch nicht in PHP an.

Meine Dateien:
Index.php:
<script language="javascript">
document.writeln("<img src='webbug.php?x=" + screen.width + "&h=" + screen.height + "' height='111' width='111'>");
</script>
<? include("webbug.php");
$x == $_get["x"];
echo "x: ", $x, "<br>";
?>
[Ich rufe die index.php mehrmals auf, das ich die Werte erst mit einen neuen Aufruf übergeben muss, ist mir bewusst)

webbug.php:
<img src="prev.gif" height="120" width="120">

Wo mache ich was falsch? Die Daten hängen dran,baer ich kroiege die nicht in PHP, zum .....

Vielen Dank für eure Hilfe.
Stefan

  1. hi,

    In meiner Index.php will ich die webbug.php aufrufen, in der ein Bild ist. An das Bild hänge ich die Daten aus JS dran.

    schön, soweit auch eigentlich kein problem. in empfangnehmen der daten dann also mittels $_GET.

    Wo mache ich was falsch? Die Daten hängen dran,baer ich kroiege die nicht in PHP, zum .....

    bisher hast du es ja anscheinen noch nicht einmal versucht, wenn

    webbug.php:
    <img src="prev.gif" height="120" width="120">

    der einzige inhalt deiner webbug.php ist.

    und dass dieser inhalt keine gültige image-ressource darstellt, ist dir doch wohl hoffentlich auch klar?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hallo,

      schön, soweit auch eigentlich kein problem. in empfangnehmen der daten dann also mittels $_GET.

      Soweitt bin ich, ja, habe das get ja auch schon drin, aber über das echo kommt dann nichts.

      bisher hast du es ja anscheinen noch nicht einmal versucht, wenn

      Nunja, doch. Aber eben ohne Erfolg.

      webbug.php:
      <img src="prev.gif" height="120" width="120">
      der einzige inhalt deiner webbug.php ist.
      und dass dieser inhalt keine gültige image-ressource darstellt, ist dir doch wohl hoffentlich auch klar?

      Leider ist mir das nicht bewusst, habe das Bil düber den Editor einfügen lassen, der hat die Zeile generiert.
      Was meinst du mit Image ressource? Und was stimmt hier nicht?

      Stefan

      1. hi,

        Soweitt bin ich, ja, habe das get ja auch schon drin, aber über das echo kommt dann nichts.

        du hast das script mit <img src="..."> eingebunden - was soll der browser an dieser stelle mit irgendwelchen per echo ausgegebenen texten anfangen können?

        Leider ist mir das nicht bewusst, habe das Bil düber den Editor einfügen lassen, der hat die Zeile generiert.
        Was meinst du mit Image ressource? Und was stimmt hier nicht?

        mach dir bitte erst mal klar, dass HTML-code/text und die binären daten eines bildes etwas anderes sind.

        und dann überlege dir, was für daten ein browser wohl erwartet, wenn du etwas mit <img src="blah"> einbindest.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Hallo,
          an dem in JS per <img=..> eingebundenen Wert hänge ich meine Werte dran. Diese werden anscheinendn übergeben, aber nicht das Bild (an stelle des Bildes kommt dieser Platzhalter). Aber über die Eigenschaften des Bildes sehe ich meine Werte.
          Nur, ich kriege diese eben nicht in php.
          Auch wenn ich in webbug.php dies:
               $x == $_get["x"];
               echo "x2: ", $x, "<br>";
          einbinde, kommt bei echo nichts raus. da er anscheinend hier nichts eingelesen bekommt.

          mach dir bitte erst mal klar, dass HTML-code/text und die binären daten eines bildes etwas anderes sind.

          Ich rufe über HTML eben das Bild auf, dass der Browser dann anzeigen soll. Dieses Beispiel habe ich im Netz gefunden, wo es anscheinend funktioniert hat. (habe es leider nicht mehr offen, suche aber danach).
          Ich habe auch das schon probiert:
          <script language="javascript">
           dummy = new Image();
           dummy.src='http:://deinhost.de/getpixel.php?x=' + x + '&y=' + y;
          </script>
          Von [:link http://forum.de.selfhtml.org/archiv/2005/1/t97996/#m597147]
          Aber das hat auch nicht geklappt.
          Schöne Grüsse
          Stefan

          1. hi,

            an dem in JS per <img=..> eingebundenen Wert hänge ich meine Werte dran. Diese werden anscheinendn übergeben, aber nicht das Bild (an stelle des Bildes kommt dieser Platzhalter).

            natürlich kommt der, weil dein script nichts zurückgibt, was ein browser als bild interpretieren könnte.

            Auch wenn ich in webbug.php dies:
                 $x == $_get["x"];
                 echo "x2: ", $x, "<br>";
            einbinde, kommt bei echo nichts raus.

            natürlich kommt da etwas heraus - solltest du gut sehen können, wenn du webbug.php plus parameter mal direkt über die adresszeile deines browsers aufrufst.

            Ich rufe über HTML eben das Bild auf, dass der Browser dann anzeigen soll.

            wenn du in HTML <img src="blah"> einbindest, dann erwartet der browser natürlich auch, dass der server bei einem request auf "blah" _bild_daten zurückgibt - das tust du aber nicht.
            du lieferst stattdessen irgendwelchen ascii-text zurück - damit kann der browser aber selbstverständlich an der stelle nichts anfangen.

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Hallo,
              »(an stelle des Bildes kommt dieser Platzhalter).

              natürlich kommt der, weil dein script nichts zurückgibt, was ein browser als bild interpretieren könnte.

              Okay, das hab eich jetzt kapiert, dass das normal ist.

              Auch wenn ich in webbug.php dies:
                   $x == $_get["x"];
                   echo "x2: ", $x, "<br>";
              einbinde, kommt bei echo nichts raus.

              natürlich kommt da etwas heraus - solltest du gut sehen können, wenn du webbug.php plus parameter mal direkt über die adresszeile deines browsers aufrufst.

              Wenn ich die Datei direkt aufrufe, dann geht es. Befehl stimmen also.

              Aber warum geht das nicht, wenn ich den nicht direkt aufrufe? die Werte sind da, es wird richtig abgefragt. Aber es kommt eben nichts.

              jetzt bin ich aber noch ratloser.
              Die JS Werte werden erzeugt, an das "Bild" angehängt.
              Das "Bild" ist eine php Datei, in der die Werte ankommen sollen, sobald ich eine weitere Seite aufrufe.
              Aber, trotz Aufruf geschieht das nicht.

              Teste ich das mit Direktaufruf in der Browserzeile, geht es (Werte kommen an und werden angezeigt).

              Wie kriege ich das hin, dass das Bidl aufgerufen wird, die Werte übergeben werden, ohne das der User das mitbekommt?
              Sitze jetzt seit 12 Uhr an dem Ding, so langsam bekomme ich einen dicken Kopf....
              Stefan

              1. hi,

                natürlich kommt der, weil dein script nichts zurückgibt, was ein browser als bild interpretieren könnte.
                Okay, das hab eich jetzt kapiert, dass das normal ist.

                Aber warum geht das nicht, wenn ich den nicht direkt aufrufe? die Werte sind da, es wird richtig abgefragt. Aber es kommt eben nichts.

                weil obiges der fall ist, welches du doch jetzt "kapiert" zu haben meinst.

                Das "Bild" ist eine php Datei, in der die Werte ankommen sollen, sobald ich eine weitere Seite aufrufe.
                Aber, trotz Aufruf geschieht das nicht.
                Wie kriege ich das hin, dass das Bidl aufgerufen wird, die Werte übergeben werden, ohne das der User das mitbekommt?

                noch mal: die werte werden bereits übergeben, aber dein script liefert keine _bild_daten zurück.

                sorge also dafür, dass es dies macht.
                dazu hast du mehrere möglichkeiten:

                • nach dem eintragen der übergebenen werte in deine DB per header() eine weiterleitung auf eine tatsächlich existente bildressource machen
                • das script mit den funktionen der GD-lib dynamisch ein bild erzeugen lassen
                • per readfile() o.ä. die daten eines im dateisystem vorhandenen bildes ausgeben lassen

                die beiden vorletzten punkte erfordern natürlich vor der ausgabe der bilddaten auch noch einen passenden Content-type-header.

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. Hallo,

                  noch mal: die werte werden bereits übergeben, aber dein script liefert keine _bild_daten zurück.

                  sorge also dafür, dass es dies macht.
                  dazu hast du mehrere möglichkeiten:

                  • nach dem eintragen der übergebenen werte in deine DB per header() eine weiterleitung auf eine tatsächlich existente bildressource machen

                  Ich frage die Daten ab, übergebe diese an eine Db oder php Variabel,
                  dann gebe ich in der webbug ein Bild an und es geht?
                  Wahrscheinlich nicht mit <img...>.

                  Stefan

                  1. Hallo,
                    Problem nicht gelöst,
                    aber ich gebe auf.

                    Danke für die Hilfe, aber ich kriege das nicht hin.
                    Stefan

                2. Hallo,
                  mein Gott war ich blöd.
                  Habe es heute nochmal in Ruhe angegangen, jetzt hat es dann auch geklappt.
                  Vielen Dank für die Hilfe, auch wenn ich mich zu dämlcih als Hilfeverwerter angestellt hae.
                  Stefan

                  1. hi,

                    Habe es heute nochmal in Ruhe angegangen, jetzt hat es dann auch geklappt.
                    Vielen Dank für die Hilfe, auch wenn ich mich zu dämlcih als Hilfeverwerter angestellt hae.

                    kein problem.
                    besonders freut mich, dass du a) die flinte doch noch nicht so schnell ins korn geworfen hast, und b) auch noch eine positive rückmeldung über deinen letztendlich doch erzielten erfolg gegeben hast.

                    gruß,
                    wahsaga

                    --
                    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."