Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: bygdle en Diciembre 06, 2015, 01:32:03 AM

Título: [Solucionado]Recibir valores dados de scripts PHP en GMS
Publicado por: bygdle en Diciembre 06, 2015, 01:32:03 AM
Estoy bien metido en esto de PHP+GML y logré entender bien como enviar toda clase de datos a PHP, pero ahora necesito recibirlos en el GMS. Por ejemplo. Tengo algo sencillo:
<?php
$texto
$_POST['txt'];
echo 
"has escrito ".$texto;
?>


Y envio el dato desde GMS así:
[gml]
texto="hola";
http_post_string("mipagina.com/script.php","txt="+string(texto));
[/gml]

Bueno, eso funciona bien. Pero, quisiera saber cómo hacer que el GMS recibiera, por ejemplo, la cadena que da el echo, o cualquier variable/cadena/cosa X que el PHP haga...
Agradecería eternamente su ayuda...
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: Texic en Diciembre 06, 2015, 01:43:20 AM
NiuWeb, tu post no cumple con el reglamento de la sección, por favor date una pasada y soluciona lo que veas en falta
Saludos!
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: bygdle en Diciembre 06, 2015, 01:56:05 AM
Cita de: Texic en Diciembre 06, 2015, 01:43:20 AM
NiuWeb, tu post no cumple con el reglamento de la sección, por favor date una pasada y soluciona lo que veas en falta
Saludos!
Lo siento mucho, hice el tema de apuro y se me olvidó  :-[
Ya solucioné el problema, era el ícono ¿no?
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: kostra en Diciembre 06, 2015, 01:57:57 AM
https://www.youtube.com/watch?v=6erhvsbBr-o
me sirvióp
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: bygdle en Diciembre 06, 2015, 02:07:43 AM
Antes de aprender a usar arrays entendí ese video...xD
Lo que necesito no es leer archivos. Es leer resultados de operaciones realizadas en PHP. Ese video no sirve para eso  :-[
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: jmbs19 en Diciembre 06, 2015, 02:20:07 AM
niuweb ya se a respondido ese tema bastante con el tema de kostra.

para obtener el retorno de una operacion http_get_string/http_get usas dentro del evento async http :
[gml]
variable=ds_map_find_value(async_load,"result");
[/gml]
cada vez que tu realizas una consulta http y esta da un resultado cualquiera, se crea un ds_map que se llama async_load, dentro de este ds_map se encuentran:
id:id de envio
status:estatus de la operacion. mayor a 0 es que se esta descargando, menor a 0 dio error, y 0 es completado
result:es el texto, por decirlo asi, que retorna la pagina, esto seria todo lo que tengas dentro de la pagina, como echo. el result es una cadena de string.
url:la url pedida
estos son los mas utiles. hay mas y si buscas en el manual los encontraras todos.
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: bygdle en Diciembre 06, 2015, 02:36:18 AM
Cita de: jmbs19 en Diciembre 06, 2015, 02:20:07 AM
niuweb ya se a respondido ese tema bastante con el tema de kostra.
Bueno, no entiendo por qué...xD

Entonces, necesito agregar al PHP la función return ¿no?
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: jmbs19 en Diciembre 06, 2015, 03:56:55 AM
Cita de: NiuWeb en Diciembre 06, 2015, 02:36:18 AM
Cita de: jmbs19 en Diciembre 06, 2015, 02:20:07 AM
niuweb ya se a respondido ese tema bastante con el tema de kostra.
Bueno, no entiendo por qué...xD

Entonces, necesito agregar al PHP la función return ¿no?
no. solo tienes que hacer lo que te dije. en el evento async http pon

[gml]variable=ds_map_find_value(async_load,"result");[/gml]

donde "variable" es tu variable donde almacenaras el string retornado, la pagina es retornada como string, toda la pagina, te saldra en forma de string la pagina como si tu hubieras abierto la pagina por codigo fuente.
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: bygdle en Diciembre 06, 2015, 04:18:33 AM
Entiendo. Pero tengo un problema con el HTTP, pareciera que va como atrasado, es decir:
el script recibe una variable TXT, si esta variable es igual a 0, echo "bien"; si es 1, echo "mal"; si es dos, echo "Tal vez"; Pero al hacerlo en GMS, me envia el resultado retrasado, es decir. Si primero (al comenzar a probar) pongo 0, me devuelve una string vacía. Si despues del 0 pongo, por ejemplo, 2, me devuelve "bien". Si despues pongo 1 , me devuelve "Tal vez", si vuelvo a poner 2, me devuelve "mal". Y todo lo devuelve como lo que debió devolver en la consulta anterior. ¿Cómo soluciono este horrendo error?
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: jmbs19 en Diciembre 06, 2015, 04:30:01 AM
para eso esta
id:id de envio
status:estatus de la operacion. mayor a 0 es que se esta descargando, menor a 0 dio error, y 0 es completado
result:es el texto, por decirlo asi, que retorna la pagina, esto seria todo lo que tengas dentro de la pagina, como echo. el result es una cadena de string.
url:la url pedida
y ademas tienes que recordar que no sera algo instantaneo la respuesta, estas abriendo una pagina. en este momento no te puedo responder completamente, pero si buscas el tema que kostra creo hay veras que se explica y se aplica el como tener un resultado por id y solo si su estatus es 0.
Título: Re:Recibir valores dados de scripts PHP en GMS
Publicado por: bygdle en Diciembre 06, 2015, 04:45:53 AM
Ah como no lo pensé, qué idiota...xD
Ya lo he solucionado leyendo los datos en una alarma y condicionando el status ==0
Gracias jmbs19, eres un dios, un maldito dios  :D