Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/04/2003, 18:36
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema que tienes no es nuevo ... Les pasa a muchasss aplicaciones que muestran algún mensaje de "exito/error" en el mismo script que hace el proceso de almacenar esos datos donde corresponda.

Esto sucede porque estructuran los "scripts" tipo:

Código PHP:
<?
// capturo datos del formulario
// hago un proceso y termino con un:
echo "sus datos bla bla bla llegaron bien ..";
?>
Cuando, lo que debería hacerse es:


Código PHP:
<?
// le llegan los datos .. 
// hace el proceso
// redireccionas a otra página para darle el mensaje de "OK" o de algun error ..
// El redireccionamiento lo debes hacer automático:
header("location: pagina_mensajes.php");
exit;
?>
La "pagina_mensaje.php" .. no tiene por qué ser una página dedicada a ello .. Puede ser el la misma página que usas para el formulario (en caso de algún error) o esa que tienes que presentas el listado de lo que intrudujo (datos) .. Eso sí, eso se controla con una variable de "control" que la puedes pasar por el URL o en una cookie/session ..

El "redireccionamiento" quedaría (con la variable de control):

Código PHP:
header("location: tuscriptactualquecorresponda.php?control=OK"); 
Y en tuscriptactualquecorresponda.php

Código PHP:
<?
// Donde quieras presentar el mensaje de error/exito ...
if (isset($_GET['control'])){
echo 
"El proceso fué: ".$control;
}

// resto de tu actual script ...

?>
A su vez si quieres en esa página que das el OK (que ya no es la misma que almacenó esos datos en tu BD o donde corresponda) puedes redireccionar via un simple link hacia donde quieras .. ya sea un link, automático a tiempo (cabeceras de refresh) .. etc).

Pero recuerda .. SIEMPRE abandona el script que haga el proceso de gestión de esos datos que le llegan desde un formulario a otra página .. Aunque sea a si mismo . .pero redireccionado automáticamente via por ejemplo cabeceras Header() como te comentá Manoloweb ..

Bueno, no sé si habrá quedado claro lo que expongo .. Pero lo comento por qué no es un erro que te sudeda a ti solo .. Hay muchass aplicaciones rondando por muchos sitios que les sucede lo mismo .. desde simple libros de visitas hasta foros .. En general le sucede a cualquier aplicación que use la estructura que planteé al principio.

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; 26/04/2003 a las 18:40