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