Foros del Web » Programando para Internet » PHP »

envio de variables con POST pero sin FORM

Estas en el tema de envio de variables con POST pero sin FORM en el foro de PHP en Foros del Web. Hola esto que suena un poco raro es la pagina 1 envia a la pagina 2 por sibmit determinados campos (POST) la pagina2.php recibe, realiza ...
  #1 (permalink)  
Antiguo 26/04/2005, 13:38
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 14 años, 4 meses
Puntos: 0
envio de variables con POST pero sin FORM

Hola esto que suena un poco raro es

la pagina 1 envia a la pagina 2 por sibmit determinados campos (POST)
la pagina2.php recibe, realiza la validacion y retorna los resultados a pagina1.php
el tema es que los campos en pagina1.php deben ser rellenados con el valor anterior(antes de ser enviados).

tengo 3 formas de hacer esto:
1) con variables de session es decir una variable por cada campo y enviar un header location
2) con Get concatenando cada una de las variables a pagina1.php?var1=$var1
3) es con POST y esta aqui mi opcion y mi problema por lo que sé (lo cual es muy poco) para poder realizar una envio por POST tengo crear un Form con sus campos (es decir tengo que enviar la pagina al cliente), la ideal es que la pagina se redireccione directamente en el server
Es decir enviar los campos por metodo POST pero sin crear el html
es esto posible?, la verdad no tengo bien en claro como trabaja el metodo post y a que se refiere

la explicacion con respecto a que uno muestra las variables en la barra de direcciones y otra no, no creo qeu sea la unica diferencia entre estos metodo
Gracias
  #2 (permalink)  
Antiguo 26/04/2005, 14:12
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
De acuerdo Ok aqui una opcion.

Si lo que quieres es enviar por post en ves de get a otra pagina la forma adecuada es con form ya que saldras del archivo 2 e iras al archivo 1.

Pero si lo quieres automatico entonces accionalo con javascript asi:

<?php
#aqui va todo tu proceso y a la hora de ir a la pagina 1 pones asi.
echo "<form name=form action=pagina1.php method=post>"
echo "<input type=text name=valor value=hola>"
echo "</form>"
echo "<script language=javascript>document.form.submit();</script>"
?>

Esto es un formulario hecho que manda en post pero nunca se ve, ya que es parte del codigo php y se activa el envio con el javascript y te manda a la pagina1.php
  #3 (permalink)  
Antiguo 26/04/2005, 15:48
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Sino, si te supera no poder poner un form, podes usar xmlhttp del lado del servidor, y hacer el envio por post.
Buscate en google algo como xmlhttp + php;)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 26/04/2005, 16:38
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 14 años, 4 meses
Puntos: 0
Una buena solucion y muy inteligente que me han propuesto es realizar un include de la pagina 1 al final de la pagina 2
es decir

pagina2.php

include('pagina1.php');
  #5 (permalink)  
Antiguo 26/04/2005, 18:01
 
Fecha de Ingreso: septiembre-2002
Ubicación: México
Mensajes: 356
Antigüedad: 15 años, 3 meses
Puntos: 0
el método de dwaks es el que yo utilizo y me funciona muy bien!

Saludos!
  #6 (permalink)  
Antiguo 26/04/2005, 23:19
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Cita:
Iniciado por halconhalcon
(...)Es decir enviar los campos por metodo POST pero sin crear el html
es esto posible?(...)
Sí existen alternativas para simular el método POST sin que se envíe desde un formulario. ESto se hace utilizando la función fsockopen() y similares.
Pero también existen scripts y clases ya implementadas que simplifican dicha tarea.
Puedes ver en este post sobre la Clase "Snoopy" y un pequeño ejemplo de uso.
http://www.forosdelweb.com/f18/enviar-informacio-datos-dos-destinos-diferentes-259188/

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:42.