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