Avatar billede flashback83 Nybegynder
22. april 2003 - 12:16 Der er 17 kommentarer og
1 løsning

Problem med last modified script

Jeg har en side, hvor jeg bruger php til at hente oplysninger fra en database. På siden har jeg et JavaScript, som skal angive sidens sidste opdatering. Dette ser sådan ud: <script>document.write(document.lastModified);</script>

Problemet er at det den ændrer dato/tid bare man refresher siden og ikke kun, når den er opdateret.

Kan det have noget at gøre med at siden henter oplysninger i databasen hver gang man refresher?

Kan man lave det på en anden måde?
Håber nogen kan hjælpe.
Rasmus
Avatar billede erikjacobsen Ekspert
22. april 2003 - 12:20 #1
Du skal selv skrive en HTTP-header i PHP med det du mener er
lastmodifed datoen.
Avatar billede flashback83 Nybegynder
22. april 2003 - 12:22 #2
Det forstod jeg ikke - Jeg er helt ny i PHP, så du Det skal skæres lidt mere ud i pap... :-/
Avatar billede erikjacobsen Ekspert
22. april 2003 - 12:24 #3
Ok  - en ting af gangen. Hvordan vil du bestemme hvad der er din
lastmodified dato?
Avatar billede flashback83 Nybegynder
22. april 2003 - 12:26 #4
Det var det jeg har brugt lastModified til - Hvis du mener hvordan jeg definerer sidst opdateret, så er det sidste gang siden er gemt af administratoren.
Avatar billede erikjacobsen Ekspert
22. april 2003 - 12:28 #5
Tidspunktet PHP-filen er gemt? Men den henter oplysninger fra databasen - er
det ikke de oplysninger der bestemmer lastmodified?
Avatar billede flashback83 Nybegynder
22. april 2003 - 12:30 #6
Ja netop. Jeg må indrømme at jeg ikke ved præcis hvad der bestemmer lastmodified. Jeg arbejder normalt med html-sider og der virker det fint.
Avatar billede erikjacobsen Ekspert
22. april 2003 - 12:32 #7
Det er derfor scripts (PHP osv) ikke af sig selv sender en lastmodified med.
Prøv at finde ud af om det giver mening for dig at sætte sådan et
tidspunkt, og hvordan det i givet fald skal beregnes, for så kan det jo
sagtens gøres.
Avatar billede jakoba Nybegynder
22. april 2003 - 12:34 #8
når php genererer en side til brovseren er det reelt en helt ny side den skriver, så som defaul vil 'last modified' for en phpside altid være 'for et øjeblik siden'.

det du ønsker er formodentlig datoen for sidste rettelse i dit php-script. Den må du så selv sætte ind som erikjacobsen siger. noget med
    header ("Last-Modified: Tue, 19 Jan 2003 03:14:07 GMT" );

du kan sikkert også hente datoen fra filsystemet på en eller anden måde
Avatar billede erikjacobsen Ekspert
22. april 2003 - 12:36 #9
Formodentlig, jakoba? Er det ikke uinteressant at PHP-scripten blev ændret
i 1998, når der vises nyheder på siden fra april 2003 ?
Avatar billede flashback83 Nybegynder
22. april 2003 - 12:39 #10
Jeg er ikke helt sikker på hvad du mener med om det giver mening.
Jeg skal altså finde en måde i php at få den til at generere en værdi for det tidspunkt, hvor siden sidst er gemt?
Avatar billede flashback83 Nybegynder
22. april 2003 - 12:41 #11
jakoba > Så det er ikke umiddelbart muligt at sætte en kode ind, der selv vil generere tallet? Så må jeg vel droppe det, eller gøre det på den hårde måde :-)
Avatar billede jakoba Nybegynder
22. april 2003 - 12:42 #12
Ja og Nej.
Som programmør vil jeg nok være mest interreseret i hvornår programlogikken sidst blev ændret.
For brugeren er den information vist under alle omstændigheder irellevant, De artikler der vises er formodentlig individuelt dateret med det tidspunkt de blev lagt i databasen og det er også det brugeren har brug for at vide.

mvh JakobA
Avatar billede flashback83 Nybegynder
22. april 2003 - 12:44 #13
Okay mange tak for hjælpen begge to.
Det bliver JakobA, der får pointene ... Hvis ellers jeg kunne komme til at acceptere svaret
Avatar billede erikjacobsen Ekspert
22. april 2003 - 12:47 #14
Fair nok.

Endelig kan man jo droppe javascript og header(...) og bare lade PHP-scriptet
selv skrive en dato et passende sted. Hvis der er en fornuftig dato :)

Lad endelig være med at skrive programmørinteressante ting på en side som
ses af almindelige brugere. Det er kun med til at forvirre.
Avatar billede jakoba Nybegynder
22. april 2003 - 12:59 #15
på siden http://dk.php.net/manual/en/function.getlastmod.php
finder du:

<?php
    // outputs e.g. 'Last modified: March 04 1998 20:43:59.'
echo "Last modified: " . date ("F d Y H:i:s.", getlastmod());
?>

men jeg vil give erikjacobsen ret i at det er svært at se hvad nytte brugeren kan have af den information.
Avatar billede flashback83 Nybegynder
22. april 2003 - 13:40 #16
Tusind tak! Hmmm, jeg kan ikke acceptere svaret. Ikke fordi jeg ikke er tilfreds, men fordi jeg ikke har muligheden.... Plejer man ikke at kunne acceptere svaret, så den der har svaret får pointene?
Avatar billede erikjacobsen Ekspert
22. april 2003 - 13:45 #17
Jo, hvis man svarer. Jeg skal nu ikke have point - samler ikke på dem.
Avatar billede jakoba Nybegynder
22. april 2003 - 14:04 #18
så får du et svar. ( altid grådig :-))
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