URL: https://www.overclockers.at/coding-stuff/nicht_alltaeglich_touchscreen_184317/page_1 - zur Vollversion wechseln!
Guten Morgen miteinander!
..ich brauch Hilfe 
Folgende Problemstellung:
Vor mir liegt eine Art Terminal, hier wird automatisch ein Firefox Fenster geöffnet und ein Touchscreen ist für das Klicken auf Buttons zuständig. Als Tastatursignal ist ein Kartenleser angeschlossen der die Kundennummer per Tastaturschnittstelle und send abschickt wenn sie eingeschoben wird.
Der Kartenleser hat innen eine Kartennummer eingeklebt die beim herausziehen der Karte gescannt und somit das Timeout erzeugt wird.
Webserver: Apache - Scriptsprache: PHP - DB: MySQL
es ist prinzipiel alles fertig, mein Problem besteht nur im "Session Management".
Aktuell habe ich es so gelöst, dass die Seite alle 5 Sek. aktualisiert wird und den Focus immer wieder auf ein Hidden Field setzt, sodass ein Login/Logout möglich wird (Sollte der User mal nicht auf den Button klicken sondern in ein leeres Feld verliert das hiddenfield den Fokus).
Nur die Aktualisierung ist im Prinzip sicherlich keine Lösung.
Ich brauch dringenst ein Erfolgserlebnis 
Dank euch!
Chris
kannst du die frage nochmal kurz zusammengefasst formulieren? irgendwie seh ich die in deinem post nicht 
ich kenn mich auch nicht aus nach 3 mal lesen was du willst 
ok is ein bissal kompliziert deswegen gg
also folgendes:
es ist eine Art Kundenterminal auf dem es Möglich ist für Benutzer durch einschieben einer Karte in ein Portal zu kommen wo er seine Punktestand kontrollieren kann.
Dieses Terminal hat einen Cardreader der an der Tastaturschnittstelle angeschlossen ist. Beim Einschub der Karte schickt diese die ausgelesene Kundennummer per POST ab.
Wenn die Karte herausgezogen wird, wird im Cardreader eine fix eingeklebte Nummer abgelesen, die dann eben das sogenannte Timeout schickt.
das ganze muss für mich jetzt mit einem INPUT Feld realisiert werden -> auf dem der Fokus sitzt. Mein Problem ist jetzt, sollte der Benutzer am Touchscreen in einen leeren Bereich "drücken", verliert mein schönes Feld den Fokus und somit gibts auch kein Timeout mehr.
Dieses Problem hab ich als Befriedigung einfach kurz durch einen 5 Sek. refresh (immer auf jeder Seite) behoben, dass einfach bei diesem Refresh immer der Focus erneut gesetzt wird.
Ist natürlich keine Lösung, ich weis auch ned ob wirklich irgendwer mit PHP für das Problem eine Lösung parat hätte?
Falls ja, wäre das ein HIT 
--> wie würdet ihr das Problem lösen?
Dankeschön.
mit javascript aufs onblur horchen und den focus neu requesten?
wie greifst du auf den kartenleser zu?
das mit dem onblur schau ich mir nach der Mittagspause an, danke.
der Kartenleser schickt beim korrekten lesen der Karte den Inhalt (Zahlencode) über die Tastaturschnittstelle. (deswegen der Fokus)
ein "schöne" js-lösung fällt mir nicht ein, aber besteht die möglichkeit einen kleinen c++ client zu schreiben um den inhalt der tastatur abzufangen und zB in ein file zu schreiben? technisch wäre das simpel, wenn es nicht für multiplattform geschrieben werden müsste.
kommt mir bekannt vor 
hab an meiner schule auch ein terminal mit touchsreen für die schüler gemacht.
unsere lösung war, (mit motorisiertem Kartenleser,ASE ES MT Motorized Smart Card Reader ), wie folgt:
ActiveX plugin, dass Javascript-Functions für diverse karten-transaktionen bietet (zB ob sich eine karte im reader befindet, PIN, creditstand usw.)
onLoad wird nun die funtion checkCard() aufgerufen, die bei 'true' zur pinabfrage weiterleitet oder sich bei 'false' mit verzögerung selbst aufruft.
also mehr oder weniger eine endlosschleife, solange sich keine karte im reader befindet.
hth & stehe gerne für rückfragen zur verfügung
hab gestern ziemlich lange gegrübelt..
@mat das problem ist, dass auf dem "kasterl" eine abgespeckte linux distri. läuft die wirklich nur für eine Art "surf" station vorgesehen ist. (sie lädt nur das Firefox Plugin)
@lizzardking wärst du bereit mir einen einblick in dieses applet zu geben? gg
wär super!
Dank euch!
Chris
dann wäre das activex-plugin ohnehin belanglos, da es nur auf win+ie läuft.
wo liegt allerdings das problem bei einem abgespeckten linux? gibts keinen zugriff drauf? sollte technisch problemlos möglich sein und als service eingebunden werden können.
tja, da ist der haken an der sache 
da's nicht selbst geschrieben wurde, steht keine source zur verfügung, bzw. das ganze funktioniert überhaupt nur mit einem usb-dongle.
was ich sicher sagen kann, ist, dass das Applet mit >99% aller kartenleser kompatibel ist, wenn PC/SC treiber für den reader vorhanden sind.
//
das kommt dann natürlich auch noch dazu.Zitatdann wäre das activex-plugin ohnehin belanglos, da es nur auf win+ie läuft.
mein gott, der rest funzt eh schon bei dir - nicht wahr? - dann verwend wie von DKCH vorgeschlagen den onBlur event... quasi im input:
Code:<input type="text" onBlur="this.focus();"/>
ich werd´s probieren. danke 
das ist die frage. wenn der focus weg ist, dann wird man garantiert bei der eingabe über die screen-tastatur behindert. das müsste man auf alle fälle mit den projektvorgaben übereinstimmen.Zitat von murcielagomein gott, der rest funzt eh schon bei dir - nicht wahr? - dann verwend wie von DKCH vorgeschlagen den onBlur event... quasi im input:Code:<input type="text" onBlur="this.focus();"/>
so in etwa müsste das gehn. ist die sauberste lösung. und funzt "immer".
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025