PHP - PHP formulario para pedir datos al usuario sin interrumpir el programa

 
Vista:

PHP formulario para pedir datos al usuario sin interrumpir el programa

Publicado por David (1 intervención) el 17/01/2019 12:24:57
Hola, estoy trabajando con la API de Telegram y necesito pedir datos al usuario mediante formularios sin que estos interrumpan la ejecución del programa.

Para quien no lo sepa, la API de Telegram envía varias "actualizaciones" en función de su estado, y el programa debe manejar estas actualizaciones en orden a medida que se van recibiendo. Aquí un ejemplo del algoritmo:

1
2
3
4
5
6
7
8
9
10
11
void *client = td_json_client_create();
// somehow share the client with other threads, which will be able to send requests via td_json_client_send
const double WAIT_TIMEOUT = 10.0; // seconds
int is_closed = 0;  // should be set to 1, when updateAuthorizationState with authorizationStateClosed is received
while (!is_closed) {
  const char *result = td_json_client_receive(client, WAIT_TIMEOUT);
  if (result) {
    // parse the result as JSON object and process it as an incoming update or an answer to a previously sent request
  }
}
td_json_client_destroy(client);

Bien, en un momento dado el estado de la API es "Esperando número de teléfono" en la que el programa debe solicitar al usuario el número de teléfono para usar la API. Acto seguido el estado de la API es "Esperando código" en la que se debe solicitar al usuario el código que habrá recibido en el número de teléfono obtenido en el paso anterior.

Pues bien, el problema que se me presenta es que los formularios para solicitar el teléfono y luego el código, no se muestran hasta que finaliza el script y claro eso no me sirve porque el script no se debe detener. Debe seguir escuchando actualizaciones.

He probado con 'break' y 'return' según el caso y en ese caso si se muestra el formulario en el punto que yo quiero, pero me finaliza la ejecución del script y tampoco me sirve, porque entonces al enviar el formulario se vuelve a ejecutar el programa desde el principio con las variables reinicializadas.

¿Alguna idea de cómo solucionar este problema?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder