| |||
No sé cual es la situación de envio de esas variables .. pero en principio desde un script PHP -sin tener- que generar una página HTML para "simular" el proceso, puedes usar sockets implementando el protocolo HTTP para enviar tus datos al script/página/etc que necesites por el método que necesites. Fijate en los ejemplos de: www.php.net/fsockopen (sobre todo en los ejemplos de los comentarios de los usurios). Un saludo, |
| ||||
Cita: Eso esta muy bueno, y ciertamente es la solución... ese tipo de funciones tipo fsockopen, sockets, particularmente lo usaba como para mandar variables a scripts colocados en otros servidores y puedan ser procesados..
Iniciado por Cluster Fijate en los ejemplos de: www.php.net/fsockopen (sobre todo en los ejemplos de los comentarios de los usurios). pero para usarlo de manera interna, y mandar post sin formulario se ve una muy buena alternativa... Yo también pido gracias... |
| ||||
Probado Bueno, ya lo he probado, y lo que he hecho exactamente es dos archivos: envia.php y recibe.php. Como en realidad no redirecciona de envia.php a recibe.php, si no que desde envia.php lee el contenido de recibe.php y lo devuleve, tengo el problema de que al escribirlo, muestra tambien el texto que he necesitado para enviar las variables, es decir, esto:
Código:
¿Que puedo hacer para que no me muestre ese texto?POST $path HTTP/1.1\r\nHost: $host\r\nContent-type:application/x-www-form-urlencoded\r\n${others}User-Agent: Mozilla 4.0\r\nContent-length:".strlen($query)."\r\nConnection: close\r\n\r\n$query Los archivos: ENVIA.PHP: Código PHP: Código PHP:
__________________ Solo hay 10 clases de personas, las que saben binario y las que no. Última edición por Cluster; 08/02/2006 a las 11:04 |
| |||
mm .. pero tu estás enviando datos a "recibe.php" .. no necesitarías hacer un "echo" a tu función "post" por qué realmente no te intresa lo que devuelva que es justamente el protocolo HTTP en sí de la petición (bueno .. si con fines de recoger el mensaje de error/exito que arroja como para controlar si hay problemas de conexión). Si necesitas obtener la respuesta, tendrás que filtrar lo que recibes para quedarte sólo con los "datos" en sí .. (descartando cabeceras). En los comentarios de los usuarios de la función: fsockopen() http://www.php.net/manual/en/function.fsockopen.php Tienes muchas funciones interesantes bastante completas (para enviar y recibir lo que del "socket" abierto transas ...) Un saludo, |
| ||||
Vaya, pues entonces no se si me servira para lo que necesito. Lo quiero utilizar para un formulario de registro. Explico el funcionamiento: Tengo una pagina con un formulario para rellenar datos, el submit los envia a una pagina (que llamare "procesa") que comprueba que los datos son correctos o no (entre otras cosas comprobar si el usuario esta registrado). En caso de que los datos no sean correctos, redirecciona con un header a la pagina del formulario y muestra el error. La idea es que los datos que haya rellenado el usuario, aparezcan rellenadas, para evitar que lo tenga que volver a hacer. Quiero evitar el uso de sesiones. Como puedo adaptar el codigo de los sockets para conseguir lo que quiero? Muchas Gracias.
__________________ Solo hay 10 clases de personas, las que saben binario y las que no. |
| |||
Lo normal es que en ese proceso de "vuelta" de datos hacia el formulario sea por GET . .no en POST. Total . .no son datos "críticos" (pues no son correctos). header ("Location: formulario.php?nombre=".$_POST['nombre']); Y los tomas en tu formulario.php por $_GET que es por donde te llegarán si es que no pasó tus validaciones. No sé por qué no quieres usar sesiones, pero realmente la foma más "transparente" y segura de hacer esto mismo es con sesiones. Almacenas el valor de todo $_POST (array) en una variable de sesión y en tu formulario (previa redirección simple por header() sin variables en el URL) tomas dicha variable de sesión. Por otro lado si estás creando un registro de usuarios .. al final más tarde o temprano terminaras usando o necesitaras usar sesiones (o piensas usar cookies? .. o que piensas usar?). Un saludo, |
| ||||
Por GET esta claro que no lo quiero hacer, porque por mucho que sean datos poco revelantes, son demasiados. Sesiones no quiero usar porque ya las estoy usando con otras variables que ya tienen ese nombre. Y me diras, pues cambiales el nombre! pero no puedo, es una larga historia... jeje Y lo de los usuarios no es para que se conecten a la página, es para madarles boletines al correo, y otras cosas parecidas
__________________ Solo hay 10 clases de personas, las que saben binario y las que no. |
| |||
Cita: Pues creo que deberías repasar tu "historia" y replantearte el tema. Además no sé por qué dices "el mismo nombre" .. No veo ninguna justificación a no usar sesiones. Por supuesto algo de código tendras que cambiar (o es que no tienes acceso a el como para modificarlo?).Sesiones no quiero usar porque ya las estoy usando con otras variables que ya tienen ese nombre. Y me diras, pues cambiales el nombre! pero no puedo, es una larga historia... jeje Se trata de algo tipo: En tu script de proceso del formulario (donde apuntas tu action y lo procesas). Código PHP: Código PHP: Si por ejemplo tienes algo como .. "si entras al formulario por otro lado .. generas otros "value" para esos campos del formulario" siempre se puede hacer condicionales tipo: Código PHP: Un saludo, |
| |||
Hice la misma pregunta en otro tema el cual decía: Me preguntaba si en PHP se podía enviar datos POST a una dirección url sin tener que utilizar un form. Por algún lado oi que hay alguna función para abrir una página en modo POST con PHP, pero la verdad no la he encontrado. De hecho, quería saber cómo podría lograrse. No busco usar sesiones ni cookies. Lo que sucede es que necesito llamar una página para que actualice varias veces la misma información, pero sin tener que enviar los datos desde un formulario. (Hubiera sido más fácil si la página recibiera los datos por GET, pero no lo hace) Última edición por infiniter; 13/02/2006 a las 17:00 |
| |||
Cita: La función que "leistes" (oir?) es:Me preguntaba si en PHP se podía enviar datos POST a una dirección url sin tener que utilizar un form. Por algún lado oi que hay alguna función para abrir una página en modo POST con PHP, pero la verdad no la he encontrado. fsockopen() que te permite abir un "socket" .. de ahí a lo que "hables" por ese canal de comunicación abierto es taréa del protocolo que uses. En tu caso como dices enviar datos a una página en modo POST lo que usarás es el protocolo HTTP. También tienes las extensiones cURL (www.php.net/curl) para facilitar esta taréa. Y .. multitud de funciones o classes para manejarte con el protocolo HTTP desde PHP y así facilitarte la vida (para que no tengas que empaparte del protocolo HTTP). Busacalas en www.phpclasses.org y revisa en los comentarios de los usuarios de la función: fsockopen() www.php.net/fsockopen Un saludo, PD: ... justamente lo comenté unos mensajes arriba de este todo esto. Intenta no duplicar tus preguntas por lo demás. |
| |||
Gracias ya que "leíste" (leistes?) mi mensaje. Oí de ella porque un amigo fue el que me hizo el comentario. Parece que tal extensión puede servirme bien para la tarea (taréa?) que necesito. Muchas gracias. (Disculpas por las correcciones, solo que me pareció apropiado) Un saludo. |