Foros del Web » Programando para Internet » PHP »

problema con actualizacion de paginas

Estas en el tema de problema con actualizacion de paginas en el foro de PHP en Foros del Web. Hola a todos: Tengo el siguiente problema. Estoy trabajando en dos dominios distintos con PHP y bases de datos MySQL y en paginas similares donde ...
  #1 (permalink)  
Antiguo 27/08/2003, 13:36
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 62
Antigüedad: 15 años, 11 meses
Puntos: 1
problema con actualizacion de paginas

Hola a todos:

Tengo el siguiente problema.
Estoy trabajando en dos dominios distintos con PHP y bases de datos MySQL y en paginas similares donde tengo que realizar consultas a la base de datos en una se actualiza automaticamente con ingreso a la pagina y en el otro sitio tengo que clickear el boton refresh para ver los cambios.
Agradeceria si alguien me puede orientar de porque me esta pasando esto. ¿Es algo de la configuracion del explorer o algo de la configuracion de PHP? La verdad es que no entiendo porque por lo poco que sé -que no es mucho- con PHP siempre deberia de actualizarse automaticamente por dirigirse al servidor.

Desde ya muchas gracias.

Saludos.
  #2 (permalink)  
Antiguo 27/08/2003, 15:02
 
Fecha de Ingreso: febrero-2003
Ubicación: Guanare
Mensajes: 90
Antigüedad: 14 años, 10 meses
Puntos: 0
no entiendo coloca codigo asi podremos ayudarte un poco mas ademas colo el error que te genera y sobre todo explicate
  #3 (permalink)  
Antiguo 27/08/2003, 21:19
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 62
Antigüedad: 15 años, 11 meses
Puntos: 1
Explico mas detalladamente lo que me esta pasando.
Tengo un primer script donde leo los registros de una base de datos para borrarlos (‘borr-users.php’) que es el siguiente:

<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD > Usuario</TD>
<TD > Borrar</TD>
</TR>
<?php
include('conex.php');
$result=mysql_query("select * from usuarios",$link);
While($row = mysql_fetch_array($result)) {
?>
<tr>
<td ><? echo $row["user"]; ?></td>
<td >
<a href="borrado.php?ida=<? echo $row["ID"]; ?>&userborr=<? echo $row["user"]; ?>">Borrar</a>
</td>
<?
}
mysql_free_result($result);
mysql_close($link);
?>
</table>

Luego voy a otro script ‘borrado.php’ donde elimino el registro en cuestion y vuelvo a la pagina ppal. Mi problema es que cuando vuelvo a ingresar en la pagina ‘borr-users.php’ para borrar un nuevo registro me sigue apareciendo el que ya borre pero si clickeo el boton de Actualizar del explorador desaparece.

Esto mismo me pasa con otros scritps.
Como les decia algo muy similar lo hice en otro lugar y no tengo estos problemas, estuve analizando las diferencias y solo se diferencian en el include y el mysql_free_result y mysql_close. No se si puede estar ahí el tema.
Si alguien sabe alguna forma, independientemente de esto, para asegurarme que las paginas se actualicen automaticamente cada vez que clickeo el link, le agradeceria me de una mano.

Gracias.
  #4 (permalink)  
Antiguo 28/08/2003, 22:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Y cómo regresas a la página (script) que no se actualiza? ...

Con javascript? ... cabeceras HTTP (header ..) ? otro?

Si haces un "history" hacia atras .. tal vez ese sea el problema (la página estaría en la caché del navegador) .. Usa header("location: pagina.php") para redireccionar.

Si ya usas header() u otro redireccionamiento javascript .. Tendrás que usar cabeceras de "no-cache" (en META o por header() de PHP) para que no se "cacheen" las páginas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 29/08/2003, 10:15
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 62
Antigüedad: 15 años, 11 meses
Puntos: 1
Gracias Cluster por tu respuesta.


Para redireccionar estoy usando header('location: pagina.php').

Cita:
Si ya usas header() u otro redireccionamiento javascript .. Tendrás que usar cabeceras de "no-cache" (en META o por header() de PHP) para que no se "cacheen" las páginas ..
No entiendo que me queres decir con esto (los META los conozco mas o menos). ¿Que es 'cache'?


Saludos.
  #6 (permalink)  
Antiguo 29/08/2003, 12:37
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 62
Antigüedad: 15 años, 11 meses
Puntos: 1
Estuve leyendo algo y por lo que pude entender 'cache' es la memoria del navegador.

Voy a probar con:
<meta http-equiv="expires" content="-1" >

y despues les cuento.

Desde ya gracias a todos por orientarme en donde buscar la solucion porque la verdad no tenia ni la mas remota idea de por donde arrancar.


Saludos.
  #7 (permalink)  
Antiguo 29/08/2003, 17:43
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 62
Antigüedad: 15 años, 11 meses
Puntos: 1
He probado rediccionado a la pagina inicial con esto y no me anda:

header("Location: borr-users.php");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

Y tambien colocando en la pagina 'borr-users.php' estos meta-tags pero tampoco:

<meta http-equiv="expires" content="-1">
<meta http-equiv="Pragma" content="no-cache">


Saludos.
  #8 (permalink)  
Antiguo 30/08/2003, 18:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Las cabeceras HTTP para "no-cache" que estás usando .. debes de ponerlas en la página que según tú no se ha de guardar en la caché del navegador (la que no se actualiza) ..

El uso del "location" y despues esas otras cabeceras .. No tiene sentido .. Osese, estás diciendo "redirecciona y luego esperate que te envio tal cabecera para que no me cachee´s no sé que pagina .." (eso al navegador)

Por supuesto .. si usas esas cabeceras HTTP (del no-caché) y luego tu "location" PHP te va a mandar un error de "cabeceras ya han sido enviadas ...

Las cabeceras HTTP (las de no caché y otras salvo la de redirección) se usan sólo en los scripts que den salida HTML (echo "algo" .. o <html> directo ..)

Usa las cabeceras siguietetes al principio del script que presente esos datos que según tu no se actualizan ..

Código PHP:
<?
  
// No almacenar en el cache del navegador esta página.
        
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // Expira en fecha pasada
        
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");        // Siempre página modificada
        
header("Cache-Control: no-cache, must-revalidate");                   // HTTP/1.1
        
header("Pragma: no-cache");                                           // HTTP/1.0
?>

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 05/09/2003, 08:34
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 62
Antigüedad: 15 años, 11 meses
Puntos: 1
Gracias, Cluster.

Problema solucionado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.