Foros del Web » Programando para Internet » PHP »

Guardar contenido de campos de un formulario

Estas en el tema de Guardar contenido de campos de un formulario en el foro de PHP en Foros del Web. Hola de nuevo. Mi question es: Tengo un formulario inmenso, y ya ayer me dieron una solucion para decir si algun campo estava vacio, ahora ...
  #1 (permalink)  
Antiguo 29/09/2004, 01:59
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Guardar contenido de campos de un formulario

Hola de nuevo. Mi question es:
Tengo un formulario inmenso, y ya ayer me dieron una solucion para decir si algun campo estava vacio, ahora el interrogante es como guardar la informacion de los campos rellenados, cuando en la pantalla que sale el error de la casilla vacia hay un javascript history.back()?
Muchas gracias!
  #2 (permalink)  
Antiguo 29/09/2004, 03:40
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Si alguien tiene una efimera idea del problema lo agradeceria!
Muchas garcias! ;)
  #3 (permalink)  
Antiguo 29/09/2004, 05:54
 
Fecha de Ingreso: agosto-2004
Ubicación: Valencia
Mensajes: 149
Antigüedad: 20 años, 3 meses
Puntos: 0
Puedes hacerlo imprimiendo dentro de los formularios las variables que si se hayan introducido y dejando en blanco las que no. si pones el código te podremos ayudar.
__________________
www.adimensional.info Adimensional
www.cientosderecetas.com Cientos de recetas
  #4 (permalink)  
Antiguo 29/09/2004, 07:32
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
El codigo es muy largo, pero es un formulario donde primero:

Código HTML:
if (!_$POST)
y el formulario donde estan las variables y luego:

donde antes con un foreach compruebo que ningun campo este vacio

Código HTML:
}else{
Código HTML:
$variable=strip_tags($_POST['variable'];
etc... pero al volver tengo que rellenar todo...
  #5 (permalink)  
Antiguo 30/09/2004, 08:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
No hagas un "history.back()" de javascript sino redirecciona pasandole las variables que tomastes desde tu formulario (las que enviastes a tu script de proceso). Ahora, esto se puede simplificar si usas el formualrio y el script de proceso PHP en el mismo.

Si usas diferentes scripts para el formulario y el proceso .. podrías hacer algo tipo:

Al terminar con algún error

(redireccionando automáticamente o por link)
header ("Location: formulario.php?variable1=$_POST['variable1']");

y en tu script del formulario:

<input name="variable1" value="<? echo $_GET['variable1'] ?>">

Más o menos así es la técnica, se puede optimizar usando sesiones y propagando el array entero ($_POST) sobre una sesión con lo cual evitas tener que "montar" el URL con todas las variables que usastes para propagarlas al formulario cuando redirecciones a el.

Un saludo,
  #6 (permalink)  
Antiguo 30/09/2004, 08:39
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchas gracia Cluster! El proceso esta en el mismo script, asi que supongo que redireccionado al mismo script ya me las mantendras, eso espero... xD
En serio muchas gracias. RecuerdoS
  #7 (permalink)  
Antiguo 07/10/2004, 08:54
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Probe tu idea Cluster, ya que tenia el procesamiento de las variables en el mismo formulario pero no me hace nada. No se si es porque a la hora de volver atras no escribo bien la direccion o porque no recojo las variables bien. En el foreach que es el que recorre todos los campos mirando que no esten vacios me dice el primero que esta vacio y luego tengo un break.
  #8 (permalink)  
Antiguo 07/10/2004, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Mejor será que pongas el código completo que usas actualmente.

Un saludo,
  #9 (permalink)  
Antiguo 07/10/2004, 10:15
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Código PHP:
<?php
Código PHP:
if(!$_POST){ 
Código PHP:
echo "<form name=form1 method=post action=index.php?page=Captacio>"
luego viene todo el formulario

Código PHP:
<?php
Código PHP:
}else{ 
Código PHP:
foreach( $_POST as $key => $value ) { 
Código PHP:
if($value == ""){ 
Código PHP:
$key=str_replace("_"," ",$key); 
Código PHP:
?> 
UN pequeño javascriot que hace aparecer una ventanita con el pruimer campo vacio

Código PHP:
<?php
Código PHP:
break; 
Código PHP:

Código PHP:

recogida de todas las variables una a una (unas 70);
Código PHP:
echo "<div align=center><a class=text href=index.php?page=Captacio>Volver</a></div>"
Y al presionar atras no me mantiene las variables.
  #10 (permalink)  
Antiguo 07/10/2004, 10:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. lo que sucede es que no estás propagando tus variables en ese redireccionamiento (link) que haces .. Debes hacerlo tal cual te puse en el ejemplo o bien usas sesiones para faciltar la taréa de propagar muchas variables ..


Un consejo .. NO uses:
if(!$_POST){

usa en su defecto:
if (!isset($_POST)){


(no hace falta que separes cada línea de código PHP con un [php ] ... [/php ] .. se pierde el contexto del código completo ..)

Un saludo,

Un saludo,
  #11 (permalink)  
Antiguo 07/10/2004, 10:38
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 20 años, 1 mes
Puntos: 0
Ya me di cuenta,lo siento mucho para la proxima vez ya se como hacerlo.

Muchas gracias cluster de nuevo!
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 13:09.