Pagina 1 di 1

[PHP][Javascript] Intercettare tasto tastiera.

MessaggioInviato: sab mag 21, 2011 9:16 pm
da A R O S
Salve a tutti megalabbari *-* la cosa che vorrei chiedere a voi geni dell'informatica è questa:

Mi interesserebbe intercettare un tasto della tastiera per eseguire un processo tipo.

If tasto_UP viene premuto { $mysql "Update X + 1"; };

Re: [PHP][Javascript] Intercettare tasto tastiera.

MessaggioInviato: dom mag 22, 2011 1:20 pm
da Andy94
La cosa è realizzabile, ma non è di immediata fattura.
PHP e JavaScript, di per sé, possono comunicare con le cosiddette XMLHTTPRequest (AJAX, tanto per capirci). Scrivere il tutto in linguaggio nativo è piuttosto complicato, ragion per cui dovrai integrare framework come MooTools o JQuery nel tuo progetto (ti consiglio il primo, perlomeno perché io lo so usare e posso aiutarti meglio).
Quando l'avrai fatto (si va nel sito, si costruiscono i file necessari, si scaricano e si incorporano nella pagina), potrai integrare del codice JavaScript che ti permetterà di fare ciò che vuoi, ma ancora non sarà completo.
Devi innanzitutto decidere quale elemento della pagina deve essere reattivo alla pressione del tasto (come ad esempio "tutta la pagina", o "solo un elemento"), e iniziare ad associare l'evento (onkeypress, se non mi ricordo male).
Quindi, scriverai la tua richiesta AJAX all'interno dell'evento; la stessa punterà ad una pagina PHP. La pagina PHP eseguirà quindi la query (nel tuo caso) che vuoi venga eseguita. In questo modo, verrà tutto svolto asincronicamente in modo che il resto della web application resti interattivo (o che, perlomeno, non venga cambiata pagina nel mentre).

Se invece, tu vuoi che quando si preme il tasto, la pagina cambi (perché devi comunque fare un redirect alla pagina PHP che esegue la query), allora è tutto molto più semplice. Però, in questo caso, ogni qual volta che l'azione va ripetuta devi tornare indietro (perché non riparti dalla pagina originaria). Il primo approccio è decisamente migliore, ma a prima vista può sembrare complicato.

Questo è tutto, a livello teorico. Se intendi procedere, sarò felice di spiegarti come fare. [^]

[ciao]