thomas kühn: PHP mouse events / grafikprogrammierung

Hallo Leute,

ist es möglich mit PHP eine Anwendung zu programmieren, welche auf ein Mausereignis ( Click ) reagiert und dann zum Beispiel ein "Context"-Menu öffnet bzw. weitere Aktionen ausführt. Zum Beispiel soll dann ein Objekt (Kästchen) im Browserfenster angezeigt werden. ( oder ggf. auch weitere hinzugefügt werden können )

Ist sowas mit PHP zu realisieren oder wäre das eher was für java(script) o.ä. ?

  1. ist es möglich mit PHP eine Anwendung zu programmieren, welche auf ein Mausereignis ( Click ) reagiert und dann zum Beispiel ein "Context"-Menu öffnet bzw. weitere Aktionen ausführt. Zum Beispiel soll dann ein Objekt (Kästchen) im Browserfenster angezeigt werden. ( oder ggf. auch weitere hinzugefügt werden können )

    PHP kann als Serverseitige Sprache nicht auf "Events" reagieren. Ausgerechnet auf "Click" schon, weil man ja einen Link oder einen Button anklicken könnte.
    PHP ist ein Programm, du kannst es aufrufen/ausführen, du kannst ihm auch Parameter mitgeben und du erhältst eine Ausgabe.
    Also man kann realisieren, dass wenn man auf einen Link klickt die Seite neu läd und dann ein Kästchen mehr hat. Ein Context-Menü ist mit PHP nicht möglich.

    Ist sowas mit PHP zu realisieren oder wäre das eher was für java(script) o.ä. ?

    Du scheinst eher eine Client-seitige Sprache zu suchen, JavaScript ist eine, Java (in der Regel) auch.

  2. ist es möglich mit PHP eine Anwendung zu programmieren, welche auf ein Mausereignis ( Click ) reagiert und dann zum Beispiel ein "Context"-Menu öffnet bzw. weitere Aktionen ausführt.

    Möglich vielleicht, aber nicht sinnvoll.
    Einen Vorschlag hätte ich dir, der (fast) kein Javascript benötigt (ist aber total hirnrissig):
    1.per Javascript Breite und Höhe des Clientfensters auslesen (alternativ: feste Größe)
    2.Per PHP ein ganzes Gitter aus Links ausgeben und mit CSS auf 1x1 px formatieren:
    (0|0)(1|0)(2|0)(...
    (1|0)(1|1)(2|1)(...
    (2|0)(...
    (...

    3.URl ist jeweils die gleiche php-Seite mit dem geklickten Link als GET-Parameter
    4.Und nach (fast) keiner Übertragungszeit weiß der Server, wohin du geklickt hast und kann über
    imagecreatefrom...();
    ein neues Bild (fast ohne Datenübertragung) hinter deinem Linkgitter platzieren.

    Ist sowas mit PHP zu realisieren oder wäre das eher was für java(script) o.ä. ?

    Mit Javascript könnte es einfacher gehen, da hast du aber immer Browser, die JS nicht interpretieren (wollen/können).

    mfg,
    OsiriS

    schreib mir bitte eine eMail, alls du meinen Vorschlag tatsächlich umsetzen solltest!?

    1. Hi,

      Einen Vorschlag hätte ich dir, der (fast) kein Javascript benötigt (ist aber total hirnrissig):

      Allerdings :-)

      1.per Javascript Breite und Höhe des Clientfensters auslesen (alternativ: feste Größe)
      2.Per PHP ein ganzes Gitter aus Links ausgeben und mit CSS auf 1x1 px formatieren:
      (0|0)(1|0)(2|0)(...
      (1|0)(1|1)(2|1)(...
      (2|0)(...

      Damit duerftest du so ziemlich jeden Browser "killen" - das waeren schon bei einer Browserfenster-Innengroesse von 800*600 Pixeln 480.000 - in Worten: Vierhundertachtzigtausend!!!1elf - Link-Elemente ...

      3.URl ist jeweils die gleiche php-Seite mit dem geklickten Link als GET-Parameter
      4.Und nach (fast) keiner Übertragungszeit weiß der Server, wohin du geklickt hast und kann über
      imagecreatefrom...();
      ein neues Bild (fast ohne Datenübertragung) hinter deinem Linkgitter platzieren.

      Dann doch lieber ein input type="image" - damit bekommst du die Klick-Koordinaten weitaus weniger aufwendig.

      MfG ChrisB

      1. (1)In der Mathematik gibt es keinen Königsweg.
        (2)Das ganze Leben ist Mathematik.
        (3)Unser leben ist HyperText Markup Language.

        =(3)=(2)=>HTML ist Mathematik (4)
        =(4)=(1)=>Wir haben Handlungsspielraum

        Warum sollte man eine Lösung nicht mal von der kreativen Seite anpacken?
        Klar, Performance ist alles, aber eine Lösung zu finden, die sogar standardkonform ist, ist ein erster Schritt.

        Hier hab ich mich doch mal noch zu ner kleinen Demo aufraffen können:
        http://mw88.mw.funpic.de/home/dateien/hirnrissig.php

        Kommt nur auf etwa 1,33MB bei einem Gitter von 100x100 px.
        Man könnte ja die Feldgröße noch verdoppel oder auf etwa 5px hochsetzen, dazu das CSS als Klasse ...

        mfg, Osiris

        1. Hi,

          Hier hab ich mich doch mal noch zu ner kleinen Demo aufraffen können:
          http://mw88.mw.funpic.de/home/dateien/hirnrissig.php

          Kommt nur auf etwa 1,33MB bei einem Gitter von 100x100 px.

          "Nur" ...?
          So viel Bytes durch die Leitung jagen, um festzustellen, wo in einem 100*100 Pixel-Quadrat jemand hinklickt ...?

          Dann sollte man doch wenigstens die Links dynamisch clientseitig per Javascript erzeugen - dann braucht man nicht zehntausend Mal den gleichen Code ueber die Leitung zu jagen.

          Man könnte ja die Feldgröße noch verdoppel oder auf etwa 5px hochsetzen, dazu das CSS als Klasse ...

          Wie gesagt, mit einem input type=image haette man das ganze auch "billiger" haben koennen.

          MfG ChrisB