Foros del Web » Programando para Internet » PHP »

Recuperar datos formulario

Estas en el tema de Recuperar datos formulario en el foro de PHP en Foros del Web. Hola, tengo un pequeño problema, necesito que al volver a un formulario recupere los datos que se han introducido con anterioridad. Es decir si la ...
  #1 (permalink)  
Antiguo 17/05/2014, 05:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Recuperar datos formulario

Hola, tengo un pequeño problema, necesito que al volver a un formulario recupere los datos que se han introducido con anterioridad. Es decir si la cosa no ha ido bien que vuelva recuperando los datos. Actualmente tengo lo siguiente

Código PHP:
$conf['url_error'] = $_SERVER['HTTP_REFERER']; 

......
else { 

  
header('Location: '.$conf['url_error']); 

Código HTML:
Ver original
  1. <form accept-charset="utf-8" class="formulario" id="formulario"   action="env.php" enctype="multipart/form-data" method="post"  onSubmit="return validar(this)" >
  2. ....
  3.        <label for="email">Email: </label>
  4.  <input id="email" name="email" class="text"  value="<?php echo (isset($_SESSION['email']))? $_SESSION['email'] : '' ?>"/>
  5. .....

He estado mirando por el foro y por varios sitios y he encontrado que se recupera tal como lo tengo puesto pero a mi no me funciona. Alguien sabe porque puede ser.
  #2 (permalink)  
Antiguo 17/05/2014, 05:30
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Recuperar datos formulario

Puedes probar de crear una variable para asi si algo a ido mal dejar esa variable rellena para seguir mostrando el dato que introducio, ejemplo.

Código PHP:
Ver original
  1. $nombre = ''; // Definimos la variable como vacia por si el campo esta aun vacio
  2.  
  3. if(empty($_POST['nombre'])) { // Comprobamos si el nombre esta vacio
  4.  
  5. echo 'Introduce tu nombre'; // Aqui saltaria el error ya que el campo nombre esta vacio
  6.  
  7. }else {
  8.  
  9. $nombre = $_POST['nombre']; // Le asignamos el valor que introduce en el campo nombre
  10.  
  11. }

Con eso cazarias el valor que introdujo, ahora solo te queda definirlo en tu input, ejemplo:

Código HTML:
Ver original
  1. <input type="text" name="nombre" value="<?= $nombre; ?>" />

Un saludo.
  #3 (permalink)  
Antiguo 17/05/2014, 05:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Recuperar datos formulario

MANUX eso que me comentas seria hacer algo parecido a esto no?

Código HTML:
Ver original
  1. <input id="nombre" name="nombre" value="<?php echo (isset($_POST['nombre']))? $_POST['nombre'] : '' ?>" class="text">


También lo he probado pero no me recoge nada
  #4 (permalink)  
Antiguo 17/05/2014, 06:33
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Recuperar datos formulario

Si también serviria, intenta como te pase haber si así te funciona.

Saludos.
  #5 (permalink)  
Antiguo 17/05/2014, 08:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Recuperar datos formulario

MaNuX0218 no entiendo bien el funcionamiento de lo que me comentas para introducirlo en el formulario.

Código HTML:
Ver original
  1. if(empty($_POST['nombre'])) {
  2. echo 'Introduce tu nombre';

No puedo preguntar que si esta vacio introduzca el nombre porque el usuario ya está introduciendo los datos en el formulario y tengo las validaciones respectivas para no dejar los campos vacíos.

El problema que veo es que $_POST no guarda los datos, pero no se porque.
  #6 (permalink)  
Antiguo 17/05/2014, 09:17
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Recuperar datos formulario

la function javascript que estas usando podrias mostrarla..
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #7 (permalink)  
Antiguo 18/05/2014, 09:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Recuperar datos formulario

Código Javascript:
Ver original
  1. function validarTexto(formulario)
  2. {
  3.     nom=formulario.nombre.value;
  4.     nac=formulario.nacionalidad.value;
  5.     idi=formulario.idiomas.value;
  6.     res=formulario.residencia.value;
  7.     dis=formulario.disponibilidad.value;
  8.  
  9.  
  10.     if (!(/^[a-zñÑ]+$/i.test(nom)))
  11.     {
  12.         Sexy.alert('<h1>Administrador</h1><p>Introduce texto en el campo nombre.', {textBoxBtnOk: 'OK'});
  13.         formulario.nombre.focus();
  14.         return false;
  15.     }
  16. ...




Código Javascript:
Ver original
  1. function validar(formulario)
  2. {
  3.         if (validarTexto(formulario)==false){
  4.         return false;
  5.  
  6.     }
  7.    
  8.     if (validarNumeros(formulario)==false){
  9.         return false;
  10.     }
  11. }
  #8 (permalink)  
Antiguo 18/05/2014, 09:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Recuperar datos formulario

Mi duda es, tengo el formulario en un HTML, valido el captcha en un php si hay error vuelvo al formulario, en teoría siguen estando las variables en $_POST o ya se han perdido? En caso de que se hayan perdido como puedo hacer para pasarselas
  #9 (permalink)  
Antiguo 19/05/2014, 01:27
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 4
Respuesta: Recuperar datos formulario

Buenas, podrias probar

Código PHP:
Ver original
  1. var_dump($_POST);

Para ver si "estan" las variables por post.

Si "salis" de tu formulario (habria que ver como efectuas esta salida) es posible que se pierdan los valores.

Asi que 1 solucion seria enviar estas variables como ocultas y las seguirias teniendo por post.
Otra posible solucion seria trabajarlas como variables de sesion. Pero yo me quedaria con la primera.
  #10 (permalink)  
Antiguo 19/05/2014, 05:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Recuperar datos formulario

He probado lo que me has comentado

de colaborar.php, que es donde esta el formulario sales las variables

Llegan al archivo donde valido el captcha y envio el email con las variables (env.php)

Pero al redireccionar de nuevo a colaborar.php es cuando ya se pierden.

Código PHP:
Ver original
  1. $conf['url_error'] = 'colaborar.php';
  2.  
  3.   header('Location: '.$conf['url_error']);

Como puedo enviar las variables
Gracias
  #11 (permalink)  
Antiguo 19/05/2014, 06:04
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 4
Respuesta: Recuperar datos formulario

Se me ocurren 2 formas para hacerlo.

Por un lado en env.php te podrias crear un formulario, que envie por post todos los datos.

Código HTML:
Ver original
  1. <?php
  2. if(isset($_POST["nombre"])){$nombre = $_POST["nombre"];}else{ $nombre = '';}
  3.  
  4. ?>
  5.  
  6. <form action= 'colaborar.php'>
  7.     <input type="hidden" name="nombre" value="<?= $nombre; ?>" />
  8. </form>

Y aqui para complementar y simular el click en el boton de envio del formulario.

http://www.forosdelweb.com/f45/como-...ulario-439665/


Sino la otra opcion, seria cargar tus variables en la sesion

Código PHP:
Ver original
  1.  
  2. $_SESSION['nombre'] = $nombre;

Etiquetas: formulario
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 02:59.