Foros del Web » Programando para Internet » PHP »

simple pregunta de formularios

Estas en el tema de simple pregunta de formularios en el foro de PHP en Foros del Web. Hola! Amigos soy una novata en php y quisiera saber como regresar los valores de un formulario, una vez que el usuario captura los datos, ...
  #1 (permalink)  
Antiguo 26/12/2002, 18:33
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 21 años, 10 meses
Puntos: 0
simple pregunta de formularios

Hola! Amigos soy una novata en php y quisiera saber como regresar los valores de un formulario, una vez que el usuario captura los datos, en otra pagina le presento la información que acaba de capturar si no esta de acuerdo tengo que regresarme al formulario, para que modifique su información.

PD: Si utilizo echo "<a href=javascript:history.back()>VOLVER AL FORMULARIO</a>"; me funciona, pero esto es solo un truco.
  #2 (permalink)  
Antiguo 26/12/2002, 19:14
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 21 años, 10 meses
Puntos: 0
Hola
bueno tu forma de volver atras es perfectamente valida, dejala talcual, ahora, para mostrar los datos que el usuario ingreso en el formulario solo debes hacer un echo para cada variable que sea necesria, sabras que al hacer esto

<input type=text name=nombre>

en la pagina donde lleva el formulario automaticamente se crea la variable
Código PHP:
$nombre 
que contendra lo que el usuario aya ingresado en el campo, es decir, debes fijarte en el nombre que le pusiste a cada imput y en la pagina que muestras los datos le das un echo a cada variable.

facil no

Saludos
  #3 (permalink)  
Antiguo 26/12/2002, 22:33
Avatar de sir_notos  
Fecha de Ingreso: noviembre-2001
Ubicación: Mexicali
Mensajes: 709
Antigüedad: 23 años
Puntos: 1
mira este es un buen ejemplo
Código PHP:
if ($send == null)
{
echo 
"<form method=\"post\" action=\"".$PHP_SELF."\">";
echo 
"<inpu type=\"text\" name=\"nombre\"><br>\n";
echo 
"<input type=\"submit\" name=\"send\" value=\"Enviar\">";
}
elseif (
$send == Enviar)
{
echo 
"El dato que me as enviado es :".$nombre."\n";

__________________
Usuario Registrado de linux #374849
  #4 (permalink)  
Antiguo 27/12/2002, 11:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Creo q se confunden Srs. .. lo que pretende hacer rvargas es devolver los valores enviados del formulario en los correspondientes "value" de los campos <input> (y estados de otros objetos de formulario como checkbox, radio buttons o listas desplegables ..)

Se trata de que en tu formulario tengas una estructura así:

Código PHP:
echo "<form method=\"post\" action=\"".$PHP_SELF."\">";
echo 
"<input type=\"text\" name=\"nombre\" value=\"".$nombre."\"><br>\n";
echo 
"<input type=\"submit\" name=\"send\" value=\"Enviar\">"
donde el value= predefine el valor inicia del campo name= de ese input (en este caso un "text").

El script que procese el formulario .. debe retomar las variables via URL (o sessiones recomendable) para que sean leias por el formulario. Es decir .. al terminar tu proceso harias:

(ante un error de validacion de variables etc ...)

header("location: formulario.php?nombre=$nombre");
exit;

Y así con todas las variables que sean del formulario ...

Lo ideal en estos casos es "jugar" con el array $_POST (o GET) y pasarselo entero como "variables array" y tal vez usa otro array de errores para informar en el formulario que errores ubieron ...

Si a todo esto sumamos "propagar" esas variables via una session .. seria lo ideal . .tan solo guardariamos las variables en una session y hariamos un "location" simple a formulario.php .. Seria algo así:

Código PHP:
session_start(); // inicio sessiones.
$_SESSION['nombre']=$nombre// guardar en sesion $nombre
header("location formulario.php"); // redireccion al formulario
exit; 
y en el formulario:

Código PHP:
<?
session_start
(); // inicio sessiones
$nombre=$_SESSION['nombre']; // asignar $nombre a la variable de session nombre.

session_unregister('nombre'); 
// borramos la variable nombre de la session .. ya no la necesitamos .. 
//a su vez podriamos destruir la session caso de no usar sessiones en el resto del sistio.

// resto del formulario tal cual el ejemplo superior.
Con esto (usando sessiones) .. evitaremos "pasear" esas variables del formulario por el URL. Igual podemos usar arrays en la session y/o usar algunas otras variables o array's para gestionar el mensaje de error ... El caso que el codigo que procese (script) las variables de formulaario haga solo eso .. y no muestre ningun mensaje de error (echo "error tal " .. ) sino que envie una variable de control al formulario .. el cual con un simple condicional "if" evalue si mostrar o no el mensaje de error correspondiente ...

Un saludo,
  #5 (permalink)  
Antiguo 30/12/2002, 11:45
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 21 años, 10 meses
Puntos: 0
Gracias!

Hola preciosos, gracias por su valiosa ayuda.
Moderador tu respuesta fu genial gracias.

Saludos.
  #6 (permalink)  
Antiguo 30/12/2002, 23:13
Avatar de BVis  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 104
Antigüedad: 22 años
Puntos: 0
Hombre, la solución de Cluster es la más "segura", pero si sencillamente quieres volver al formulario:

<a href="#" onClick="javascript:history.go(-1)">Volver</a>

es suficiente. Y mejor que el histoy.back, que algunos navegadores no soportan.

1 Saludo.
__________________
"Yo opino lo mismo que BVis, el de 'forosdelweb' " - Bill Gates
  #7 (permalink)  
Antiguo 31/12/2002, 17:55
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 21 años, 10 meses
Puntos: 0
de nuevo gracias

BVis Gracias , por tu comentario.

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 22:42.