[PHP command line] - input via toetsenbord

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
voor een controle script die cijfers inleest het volgende:

als er 13 cijfers worden ingevuld via het toetsenbord wil ik automatisch verder gaan zonder enter. ik gebruik nu de volgende code:

define("STDIN","php://stdin");
echo "geef nummer: ";
$sql = trim(fgets(STDIN,14));

in het bovenstaande geval moet er perse een enter worden meegegeven na het invullen van de cijfers.

het mooiste zou zijn als ik in een while lusje iedere toetsenbord aanslag kan opslaan en na 13 cijfers verder kan gaan zonder enter.

is dit mogelijk in een PHP scripje vanaf de command line?

Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
zie -NME- :+

offtopic:
net geupgrade en nu al betweter ;)

[ Voor 85% gewijzigd door Gonadan op 15-06-2006 13:59 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

fgetc gebruiken?

PHP:
1
2
3
4
5
$string = '';
do {
   $char = fgetc(STDIN);
   $string .= $char;
} while ((strlen($string) < 13) && ($char != "\n"));

Zoiets? :)
Gonadan schreef op donderdag 15 juni 2006 @ 13:57:
offtopic:
net geupgrade en nu al betweter ;)
offtopic:
Altijd al geweest. :*

[ Voor 39% gewijzigd door NMe op 15-06-2006 14:04 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 19-09 14:48
Je kunt het doen met fgetc ipv fgets, dan moet je alleen zelf iets meer checken.
Zijn de getallen altijd even lang? Anders weet je niet wanneer een getal klaar is.

Acties:
  • 0 Henk 'm!

  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
-NMe- schreef op donderdag 15 juni 2006 @ 13:58:
fgetc gebruiken?

PHP:
1
2
3
4
5
$string = '';
do {
   $char = fgetc(STDIN);
   $string .= $char;
} while ((strlen($string) < 13) && ($char != "\n"));

Zoiets? :)

[...]

offtopic:
Altijd al geweest. :*
--------------------------------------------------------------------------------------------------------------------------------------------------

Dit is precies de bedoeling! De cijfers zijn altijd 13 tekens lang.

Echter: Bij het opgeven van 13 of meer cijfers komt hij niet uit de lus! Pas na het geven van een enter!

Acties:
  • 0 Henk 'm!

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 19-09 14:48
Wordt je string wel goed gevuld dan? print hem anders even binnen de lus. Als je de . in .= vergeet dan werkt het niet...
Pagina: 1