FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
POST indirecto
Hola, tengo esta situación:
Un usuario entra a una página y manda cierta información que recibo en un script, la proceso haciendo unas consultas y con ello obtengo unos datos que debo enviar a un sitio externo para su verificación. Estos datos deben enviarse forzosamente via POST. ¿Cómo lo hago? Hasta ahora se me ocurre que en el formulario donde el usuario mete su información, en lugar de mandarlo como siempre, use ajax para hacer las consultas, obtener los datos y colocarlos en un segundo formulario con campos ocultos y hacer el submit de ese formulario con javascript. Pero me gustaría saber si hay alguna manera de hacer un POST directamente con PHP para no depender de ajax ni javascript o si se les ocurre otra forma de hacer esto. // Saludos |
#2
|
||||
|
||||
Hola,
Tal vez una posible solución pasara por utilizar un cliente HTTP. Existen varios, como sabrás. Uno muy utilizado (WordPress hace uso de él) es Snoopy. Personalmente hago uso del HttpClient de Incutio. Seguro que hay más, pero, para empezar ya está bien. Cita:
|
#3
|
||||
|
||||
Gracias. Pensé que sería una de esas clases gigantezcas pero ya veo que esta bastante decente el código. Voy a ver si puedo hacerme uso de él.
// Saludos |
#4
|
||||
|
||||
Hola,
Sí; ciertamente, son relativamente sencillas de utilizar ambas clases que te he propuesto. No sé en qué se diferenciarán una de otra, esa es la verdad. De hecho uso la clase de Incutio porque también hago uso de otra de sus clases con buenos resultados. En ambos casos, la verdad, obtengo buenos resultados. De todos modos, al tratarse de código abierto... ya sabes que siempre puedes echarle un vistazo y adaptarlo a tus necesidades. |
#5
|
|||
|
|||
Realmente no es necesario usar clases externas para hacer posts y cosas de ese estilo, php ya incluye una libreria "de serie" para ello bastate facil de usar:
Ejemplo que aparece en la ayuda de php sobre la libreria curl: Código:
TO POST TO A PAGE USING values and fields: $url="http://anything"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, "fieldname=fieldvalue&fieldname=fieldvalue&"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $content = curl_exec ($ch); # This returns HTML curl_close ($ch); |
#6
|
||||
|
||||
Hola,
Lo que dices está muy bien Mick, empero, la librería a que te refieres no parece estar disponible "de serie". Yo, por ejemplo, en mi servidor local de pruebas no cuento con dicha librería. Más información en el manual de PHP: XVIII. Funciones CURL (Client URL Library). PD. Acabo de probar en el Servidor que alberga cierta página Web que me traigo entre manos y tampoco parece estar disponible la librería que nos ocupa. Última edición por dec fecha: 15-12-2006 a las 21:41:16. |
#7
|
||||
|
||||
Cierto, había olvidado que existía curl hasta que lo mencionó Mick. Pero tiene el "problema" que menciona dec. La clase de incutio usa sockets que son intrínsecos a PHP. Por el momento usaré esta, que es para algo muy sencillo y es bastante decente.
Gracias a ambos // Saludos |
#8
|
|||
|
|||
Para variar estoy bastante perdida, Mick ha dicho cómo se usa la librería pero ¿cual es el archivo que tengo que incluir en mi código? me he bajado el paquete pero sólo hay archivos .h y .c, no se si es que me he bajado el paquete erróneo.
mmm, me he bajado ahora otro paquete, en este caso es un instalador, no sé si con eso ya basta :S Saludos. Última edición por halizia fecha: 21-12-2006 a las 09:32:13. |
#9
|
||||
|
||||
Hola,
En mi opinión acaso te conviniera centrarte más en las clases que se han mencionado en este Hilo y que permiten hacer peticiones "HTTP POST" que no en cómo utilizar la librería CURL. Ojo, que siempre puedes echar un vistazo a lo que dice el manual de PHP sobre la librería CURL. Pero, ya digo, no olvides que cuentas con Incutio HttpClient y que en su página Web encuentras ejemplos de uso, "demos", su manual, etc. |
#10
|
|||
|
|||
^^ No habia visto lo de Incutio por lo visto sólo tengo que copiar esta librería (http://scripts.incutio.com/httpclien...ient.class.php), añadirla en mis includes y ya ta, no?
Bueno pues me da el siguiente error: Notice: Undefined index: host in C:\Archivos de programa....\incutio.php on line 314 tengo que darle yo el valor a $host?? he puesto $host='localhost' al principio de la clase, pero me da error en la linea en la que pone: $host = $bits['host']; Muchas Gracias!!! Última edición por halizia fecha: 21-12-2006 a las 10:22:50. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cancelar Post | Acker | Conexión con bases de datos | 4 | 22-05-2006 13:18:20 |
IBDatase Insert Post Edit Post | ariefez | Firebird e Interbase | 4 | 12-10-2005 01:53:04 |
After Post en interbase | jgutti | Firebird e Interbase | 2 | 09-03-2005 06:00:12 |
Post con ODBC | urush30 | Oracle | 0 | 20-09-2004 12:28:06 |
cancelar post?? | ebeltete | SQL | 9 | 17-06-2004 22:46:19 |
|