Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2019
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 166
Poder: 13
NEG1414 Va por buen camino
Recibir respuesta de un servidor

Buenas..

Tengo un servidor externo en el que en su carpeta "ftp" hay un listado de nombres. Desde mi aplicación el usuario comprobará si su nombre figura en la lista, este paso lo hago accediendo desde la aplicación a a un archivo php que comprueba si el nombre existe o NO.
Mi intención es que una vez una vez obtenido el resultado (si/no) este sea enviado desde el servidor a la aplicacion (¿es posible?).

Una solución que se me ocurre es guardar el resultado en el servidor, desde la Aplicacion volver a conectar con el servidor despues de un tiempo "prudencial" y obtener el resultado; a esta solución le veo el inconveniente de que accedo al servidor por segunda vez sin saber si el algoritmo PHP ya ha hecho la comprobación.

Gracias.
Responder Con Cita
  #2  
Antiguo 02-05-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 29.259
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es una pregunta muy genérica, danos más detalles.
Responder Con Cita
  #3  
Antiguo 02-05-2019
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.711
Poder: 28
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

En efecto, probablemente, hagan falta más detalles. Tratando de responder a tu pregunta en concreto, cuando tú "llamas" al archivo PHP de tu servidor, este ya te ofrece una respuesta, precisamente, a tu "llamada". Es decir, con un componente "IdHttp", por ejemplo, realizas una petición HTTP al servidor sobre el archivo PHP que necesites. En dicho archivo compruebas si el nombre del usuario está en la lista (este nombre se lo has podido mandar tú desde tu programa al servidor, como un argumento de la petición HTTP, sea GET, sea POST), y, acto seguido, desde el mismo "script" PHP, ya puedes proporcionar una respuesta a la app, que puede ser un texto tal que "existe", o "no-existe", por ejemplo. Tu programa sabrá qué hacer a partir de cualquier de estas respuestas...
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #4  
Antiguo 02-05-2019
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.711
Poder: 28
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola de nuevo a todos,

Aquí lo que podría ser un ejemplo de lo que digo en mi anterior post:

Código Delphi [-]
uses
  // Indy components
  IdURI, IdHttp;

procedure TForm1.Button1Click(Sender: TObject);
var
  Http: TIdHttp;
  URI, Response, User, EncodedUser: string;
begin
  Http := TIdHttp.Create();

  User := 'Nombre de usuario o similar...';

  EncodedUser := TIdURI.URLEncode(User);

  URI := Format('http://www.tu-servidor.com/tu-script.php?usuario=%s',
   [EncodedUser]);

  try
    Response := Http.Get(URI);

    if Response = 'existe' then
    begin
      ShowMessage('El usuario existe, según el servidor');
    end
    else
    begin
      ShowMessage('El usuario NO existe, según el servidor');
    end;

  finally
    Http.Free();
  end;

end;

Creo que más o menos se entiende... al menos eso creo yo.
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #5  
Antiguo 02-05-2019
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 166
Poder: 13
NEG1414 Va por buen camino
Buenas.


Muchas gracias por contestar , efectivamente quiza deberia haber dado mas detalles: la llamada al archivo php la hago de la forma:


Código:
HINTERNET sesion = InternetOpen("agent",INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL,0);
const ::HINTERNET handle = ::InternetOpenUrl(sesion,"http://MiServer.es//ComprobarLista.php",NULL,0, INTERNET_FLAG_RELOAD, 0);
InternetCloseHandle(handle);
InternetCloseHandle(sesion);
realmente no utilizo ningun componente Indy ...


Voy aprobar con los comppnentes indy...


Ahora la duda es cual es la orden que debo de implementar en mi scrip php para que me devuelva el valor "esta" o "no esta"


Gracias Otra Vez.
Responder Con Cita
  #6  
Antiguo 02-05-2019
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.711
Poder: 28
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Ostras... no me dí cuenta de que estábamos hablando de C++ Builder y no de Delphi... pido disculpas. No sé lo que te costaría adaptar el código anterior... supongo que no demasiado, contando además con que los componentes Indy están disponibles, si no me equivoco, en C++ Builder. Aquí parece que pueden ayudarte también a obtener la respuesta del servidor haciendo uso de HINTERNET...

Por otro lado, no sé si se entiende muy bien lo que dices de que no estás seguro del "orden" en el "script" PHP... el "script" será ejecutado cuando realices la petición, y, ya depende del mismo qué respuesta ofrecer, pero, sería tan "sencillo" como esto:

Código PHP:
<?php

if (ComprueboLoQueNecesito()) {

  echo 
'esta';

} else {

  echo 
'no esta';

}

exit;
Lógicamente, en "ComprueboLoQueNecesito" deberás hacer lo que necesites... coger el argumento / nombre enviado en la URL y comprobar si existe o no en el archivo en cuestión, etc. En todo caso la respuesta es tan sencillo como hacer un "echo"... y eso es lo que tú podrás obtener en tu programa: el "echo" del script, en el caso de arriba, o "existe" o "no existe".
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Recibir respuesta del php usando TIEHTTP. bibliotec Internet 4 20-03-2007 11:18:38
Recibir mail borrando la copia del servidor fedelphi Internet 14 06-02-2007 05:05:59
Velocidad de respuesta de servidor nfrfabian Conexión con bases de datos 6 10-01-2007 00:51:46
Respuesta danytorres Varios 2 16-07-2003 20:55:43


La franja horaria es GMT +2. Ahora son las 06:29:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi