Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/02/2004, 06:51
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
"te blanquea" tus campos cuando usas session_start() por qué por defecto se suelen usar cabeceras de "no caché" .. Estas cabeceras las manda PHP al usar sesiones y las define la directiva: session.cache_limiter (php.ini) ..

El hecho que "por defecto" se usen así las páginas/scripts que usan sesiones se "supone" que es para que no quede rastro de esas variables que envias entre tus formularios ni de la página en sí a ser posible en caché's de navegadores y eviten ese efecto que si bien para ti es útil .. si usases sesiones por qué estás restringiendo el uso de cierta página que contiene un formulario .. si yo abandono tu página y vuelvo hacia atras con el navegador (por su historial) es probable que entrase a tu zona restringida o enviase otra vez esos datos (y tal vez adulterados).

La forma de solventar ese problema .. podría ser (a la rápida) el quitar las direcitvas de no_caché a PHP .. Pero esto no es seguro. Así que se suele resolver guardandote las variables de tu formularios (todas) y las propagas en la misma sesión hacia tu formulario si hay que volver al mismo ..

Algo así:

En tu script/sección de proceso . capturas todo el array $_POST que contiene tus varibles del formulario y lo guardas en una variable de sesión:

Código PHP:
<?
session_start
();
$_SESSION['misvars']=$_POST;

//validas y procesas el formulario como ya lo haces ...
En tu formulario .. verificas la existencia de esa variable de sesión para asignarla a tu variable que usaras para rellenar los campos value= de tus tag <input ...>

Ejemplo

Código PHP:
<?
session_start
();
$vars=$_SESSION['misvars'];
y donde lo requieras .. pre-defines un valor para el campo en concreto .. ejemplo

Código PHP:
<input type="text" name="nose" value="<? echo $vars['nose'?>">
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 30/12/2005 a las 13:51