Avatar billede webcreator Nybegynder
09. september 2003 - 12:10 Der er 16 kommentarer og
1 løsning

Side opdateres ikke. Muligvis pga. data lagret i cache

Hej.

Jeg har netop udarbejdet et site, som henter data ud fra en DB. Men af en eller anden grund, skal jeg opdatere hver side, hver gang jeg går ind på den, for at se, om der er kommet flere poster. Hvordan kan det være ? Har aldrig oplevet det problem med mine andre websites før.

Tænkte på en løsning med et metatag, som fortæller, at siden skal opdateres hver gang. Men er der ikke noget der tyder på en programmeringsfejl fra min side ?
Avatar billede ztyxx Nybegynder
09. september 2003 - 12:11 #1
sæt dette i toppen af dit script, det gør at siden ikke caches
<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

// HTTP/1.0
header("Pragma: no-cache");
?>
Avatar billede webcreator Nybegynder
09. september 2003 - 12:25 #2
Jamen er det muligt, at jeg har lavet en fejl?
Avatar billede webcreator Nybegynder
09. september 2003 - 15:09 #3
Nej, det er ikke en fejl jeg har lavet. Men løsningen kunne bruges. Takker.
Avatar billede webcreator Nybegynder
09. september 2003 - 15:18 #4
Hm, noget er der altså galt.
Laver jeg flg :
echo gmdate("D, d M Y H:i:s");

Viser den kun den nyeste dato, hvis jeg opdatere siden. Kan det passe ? Burde den ikke generere den nyeste tid, hver gang jeg går ind på siden ?
Avatar billede webcreator Nybegynder
09. september 2003 - 15:29 #5
I øvrigt virker din løsning ikke ztyxx.
Avatar billede ztyxx Nybegynder
09. september 2003 - 16:12 #6
ifølge manualen er det en løsning på ikke at cache sider, men kan det tænkes at din rækkefølge i scriptets afvikling kan være grunden til at den skal opdateres
Avatar billede webcreator Nybegynder
09. september 2003 - 16:16 #7
Muligvis. Men noget så simpelt som forsiden giver probs :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Test @ Bla</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="thestyle.css">
</head>

<body>

<center><img src="images/logoet.jpg" width="500" border="1" alt=""></center>

<table class="tab" cellpadding="0" cellspacing="0" align="center">
<tr>
  <?php include("menu.php"); ?>
</tr>
<tr>
  <td class="maintd">
  <div class="a1">Overskrift</div><br>
  <div class="a2">Bla bla bla<br><br>
  </div>
  </td>
</tr>
</table>

</body>
</html>
Avatar billede webcreator Nybegynder
09. september 2003 - 16:20 #8
Det virker nu. StyleSheetet måtte ikke ligge i roden ved de andre filer. Ret mærkeligt.
Avatar billede webcreator Nybegynder
09. september 2003 - 16:21 #9
Men smid et svar alligevel - du skal ikke gå tomhændet herfra, når du nu har forsøgt at hjælpe mig :)
Avatar billede ztyxx Nybegynder
09. september 2003 - 20:51 #10
underligt, for uanset hvor et stylesheet lægges, burde det køre uden probs, forstår ikke hvorfor headerløsning ikke ville virke, hvad hvis du gør sådan:

<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

// HTTP/1.0
header("Pragma: no-cache");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Test @ Bla</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="thestyle.css">
</head>

<body>

<center><img src="images/logoet.jpg" width="500" border="1" alt=""></center>

<table class="tab" cellpadding="0" cellspacing="0" align="center">
<tr>
  <?php include("menu.php"); ?>
</tr>
<tr>
  <td class="maintd">
  <div class="a1">Overskrift</div><br>
  <div class="a2">Bla bla bla<br><br>
  </div>
  </td>
</tr>
</table>

</body>
</html>
Avatar billede webcreator Nybegynder
09. september 2003 - 20:54 #11
Prøver jeg lige :)
Avatar billede ztyxx Nybegynder
09. september 2003 - 20:58 #12
headerne skal altid stå som det første overhovedet i scripts
Avatar billede webcreator Nybegynder
09. september 2003 - 21:05 #13
Virker ikke. Men hos en af mine venner, opdateres siden fint. Selv uden din kode. Så noget siger mig, at jeg har fundet endnu en bug i IE.

Godt man også har Mozilla. IE er ski en gang møg :)
Avatar billede webcreator Nybegynder
09. september 2003 - 21:05 #14
Smid et svar, Ztyxx :)
Avatar billede ztyxx Nybegynder
09. september 2003 - 21:06 #15
oki ;-)
Avatar billede ztyxx Nybegynder
09. september 2003 - 21:09 #16
takker pænt ;-)
Avatar billede webcreator Nybegynder
09. september 2003 - 21:12 #17
Det' mig der takker ^_^
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester