Testen ob eine Taste gedrückt wurde in PHP?

4 Antworten

Testen ob eine Taste gedrückt wurde in PHP?

Geht nicht.

Wenn das mit HTML geht bitte auch schreiben

In HTML gibt's das Attribut accesskey. Damit kannst Du direkt ein bestimmtes Element ansprechen:

<!doctype html>
<title>accesskey</title>
<form>
<ul>
<li><input type="radio" name="antwort" value="1" accesskey ="1"> Antwort <u>1</u>
<li><input type="radio" name="antwort" value="2" accesskey ="2"> Antwort <u>2</u>
<li><input type="radio" name="antwort" value="3" accesskey ="3"> Antwort <u>3</u>
<li><input type="radio" name="antwort" value="4" accesskey ="4"> Antwort <u>4</u>
</ul>
<button accesskey="w">aus<u>w</u>ählen</button>
</form>

Im obigen Beispiel wird für jedes input Element ein accesskey definiert. Drückst Du die browserspezifisch variierende, entsprechende Tastenkombination, wird das gewünschte Element ausgewählt. Nehmen wir an, Du entscheidest Dich für Antwort 3 und willst diese abschicken, dann drückst Du

Im Firefox:
[ALT]+[SHIFT]+3 und dann [ALT]+[SHIFT]+w

In IE, Chrome, Safari, Opera:
[ALT]+3 und dann [ALT]+[w]

Da diese Tastenkombinationen seines Browsers aber kaum ein User kennt, ist diese Lösung eher untauglich. Außerdem haben die browserinternen Tastaturkürzel den Vorrang. Wenn du z. B. im Chrome accesskey="f" festlegst, wird bei [ALT]+f trotzdem nicht das entsprechende Element angewählt sondern das Menü geöffnet.

Alex

PHP läuft auf dem Server , JavaScript läuft auf dem Client .

Wenn dein Server das PHP Script abgearbeitet hat wird der Output zum client geschickt, ab da weiss dein server schon nix mehr vom user und killt den prozess.

deswegen brauch man auch session id , sonst wüste der server nicht mal das du das bist der da z.b. eingelogt ist und weitere seiten aufruft.

nennt sich Stateless HTTP Protokoll.

PHP läuft auf dem Server und nicht auf dem Client, daher kann PHP nicht wissen, was auf dem Client gedrückt wird.. Das musst du z.B. mit Javascript lösen.

Nein, das geht nicht. PHP läuft serverside, das kann also keine clientside clicks erkennen.

Das musst du über javascript(oder so etwas wie adobe flashplayer oder unity machen)-