Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2013, 18:50
argjuan85
 
Fecha de Ingreso: abril-2007
Mensajes: 24
Antigüedad: 17 años
Puntos: 0
Variables de sesion para mantener datos en un formulario

Buenas, queria consultar lo siguiente:

Tengo un formulario hecho con html y php, y necesito que luego de validar del lado del servidor (conexion a BD) , cuando esta validación retorne error , vuelva al formulario y los datos cargados anteriormente persistan.

Lo pude lograr con variables de sesion, pero el problema se me presenta a la hora de liberar la variable de sesion con unset, ya que al volver de la validacion directamente no me toma la variable de sesion.

Si comento la linea unset($_SESSION['nombre']); el codigo que pego abajo funciona perfecto , con la excepcion de que si sigo navengado por el sistema y vuelvo a entrar al formulario, éste sigue relleno (lo cual es logico por que no libere previamente la variable de sesion) , aclaro tambien que no uso sesion_destroy por que tengo otras variables que utilizo para otros fines que no quiero perder, es por eso que me interesa liberar esas variables particulares de los campos, a alguno se le ocurre cual puede ser el problema? el codigo es el siguiente:


form.php:

// si la variable de sesion esta seteada la guardo en otra variable (para luego mostrarla en el formulario)

if(isset($_SESSION['nombre'])) {
$nombre = $_SESSION['nombre'];
unset($_SESSION['nombre']); // destruyo la variable para que al volver a ingresar al formulario no me muestre el formulario relleno.

}

// codigo del formulario


<td colspan="3"><input name="nombre" id="nombre" value="<?php if (isset($nombre)){ echo $nombre; } ?>" /></td>

validacion.php

if (isset($_REQUEST['nombre'])) {
$nombre = $_REQUEST['nombre']; $_SESSION['nombre']=$nombre;}



Muchas gracias