PHP CLI - Evenement clavier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP CLI - Evenement clavier

par citrouille » 08 juin 2009, 04:58

[...] PHP est un language côté serveur [...] JAVASCRIPT est côté client. Il gère très bien les évènements clavier[...].
En fait je travaille avec PHP-CLI ... Donc pas de JavaScript / ajax .

par Aureusms » 06 juin 2009, 19:20

Si tu veux vraiment faire avec PHP ce n'est pas possible. PHP est un language côté serveur et donc si tu affiche l'heure côté PHP, l'heure côté client sera différente. De plus ce sera l'heure du serveur et pas l'heure du client / visiteur. Diriges toi vers JAVASCRIPT et/ou AJAX cela devrait t'aider.
Le langage JAVASCRIPT est côté client. Il gère très bien les évènements clavier. Pour ce qui est de AJAX, il te permet (en autre) de faire des requêtes serveur dites "asynchrone" i.e. un petit bout de ta page web peut interroger en continue le serveur pour faire ce que tu veux. Ici si une touche est pressée (par exemple "espace"), tu interroges le serveur qui donnera l'heure (du serveur).

par citrouille » 06 juin 2009, 16:53

Merci pour ta réponse geoffroy.
Et moi qui pensait qu'on pouvait tout faire en PHP !
Pour ce qui est du rafraichissement, ce n'est pas ce que je cherche, si le script affiche x fois l'heure (je ne vois pas pourquoi ce devrai être la même) ça me va.

Le problème, mais tu l'avais compris, c'est le
if ( <frappe au clavier = espace> ) {break;} 
Je vais jeter un œil sur PHP-GTK pour voir s'il y a des choses du genre..

Je reste ouvert à tout nouveau commentaire.

De manière plus générale, la question est de savoir si PHP5 sait gérer les évènements clavier(/souris) ...

par geoffroy » 06 juin 2009, 12:14

Bonjour.
Malheureusement il me semble que ce ne soit pas possible.

Ton code est une idée, mais au lieu de rafraîchir l'heure il va seulement écrire
x fois la même heure à la suite.

De plus, il n'existe pas de fonction main() en PHP, même en CLI, qui serait capable de récupérer les sorties claviers.

Il faudrait que tu te tourne vers un autre langage comme Python ou C (ou autre),
qui t'offre cette possibilité.

Tu peux peut-être y arriver avec l'extension PHP-GTK, mais je n'en suis pas totalement sûr.

PHP CLI - Evenement clavier

par citrouille » 06 juin 2009, 05:26

Bonjour,
Voilà pour faire simple je cherche à faire un script PHP qui permette d'afficher l'heure tant que l'opérateur n'appuis pas sur espace, puis de stopper la boucle lors de la frappe de la touche espace.
Un truc du genre :
#!/usr/bin/php
while (1) {
echo time();
if ( <frappe au clavier = espace> ) {break;}
}
Je rappelle que je travaille avec PHP CLI.

Merci