Comunidad de diseño web y desarrollo en internet online

Problemas con formulario y variables de sesion

Citar            
MensajeEscrito el 27 Mar 2013 01:00 am
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

Por argjuan85

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Abr 2013 02:07 am
Hola,

Y por que no simplemente llamas a la variable $_POST que genera el formulario?

Código PHP :

<?php
$nombre = (isset($_POST['nombre']) && ! empty($_POST['nombre'])  ? htmlentities($_POST['nombre']) : null);
?>

<form name="form" action="" method="post">
    <input type="text" name="nombre" id="nombre" value="<?php echo $nombre; ?>" />
</form>


Pruebalo y me avisas!

Sorry por responderte tan tarde! :(

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 10 Abr 2013 12:17 pm

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.