Allo!
Ik weet niet of het je al opgevallen was, maar intussen is de "laatste update" op de pagina's niet goed meer.
- Die staat nu altijd op het moment van openen van de pagina! (zie hier)
- Dat kan je ook mooi zien door even later de pagina te refreshen: het "laatste update-moment" verandert!.
De oorzaak is dat we er nu een php-pagina van gemaakt hebben, die wordt samengesteld uit verschillende onderdelen. Die samenstelling vindt altijd plaats op het moment van openen van de pagina: dan gaat de php-machien op de server aan de slag om de includes er in te plakken.
Het javascript dat de datum en het tijdstip van maken ophaalt, pakt altijd het moment van aanmaken van de pagina als geheel: het opvraag-moment!
De oplossing is om niet javascript maar php de last update-gegevens te laten ophalen. Met php kan je namelijk alleen de update van het content-deel (de "echte pagina") er uit halen.
- NB: heel veel php-sites doen dat niet, en dan kan je ook niet via de pagina-eigenschappen in de browser achterhalen wanneer de pagina aangemaakt of voor het laatst bijgewerkt is.
Dit gaat als volgt:
Stap 1 (we blijven stappen!

)
De datum-ophaal/bewerk functie moet uit het javascript
perro-scripts.js gehaald worden.
Dat is makkelijk: het hele blokje onder punt
// 2. ========== datering ========== kan verwijderd worden, behalve de regels om het copyright-jaartal op te hoesten:
[JS]// 2. ========== datering ==========
if (document.getElementById('huidigJaar')){
document.getElementById('huidigJaar').innerHTML=new Date().getFullYear();
}[/JS]
Dan wordt het dus
dit script.
Stap 2
We openen het
perro-eindfragment.htm (* zie voetnoot!)
Van de regels:
HTML:
<div id="update">
<!-- datum en tijd ingevuld met javascript -->
</div>
maken we:
HTML:
<div id="update">
<?php
echo "Laatste update: " . date ("d-m-Y ", getlastmod()) . " om " . date ("H:i", getlastmod());
?>
</div>
- De dag en de maand worden nu als getal en niet als naam gepresenteerd, maar dat lijkt me geen bezwaar (anders moet er weer een bewerking komen om de standaard EN namen van php om te zetten in het NL).
Stap 3
Uploaden naar de server, en daar hernoemen tot
perro-eindfragment.php (anders werkt het php-ophalen van de datum niet).
Stap 4
Dezelfde stappen 2 en 3 moeten natuurlijk gebeuren met het
perro-eindfragment-eng.htm.
==========
Nu is het in principe in orde, meteen voor alle pagina's: dat is het grote voordeel van modulair werken met php! :love:
Er volgen alleen nog:
Stap 5 t/m 5712
Op alle pagina's moet de aanroep van het eindfragment niet meer zijn:
HTML:
<?php include("includes/perro-eindfragment.htm"); ?>
maar worden:
HTML:
<?php include("includes/perro-eindfragment.php"); ?>
En voor de EN pagina's idem dito.
==========
En dan is hier het resultaat:
- Test: avar_foto-nw-2.php
- (Deze pagina werd op mijn server gezet op 11-08-2012 om 18:09)
- (Het veranderde javascript en eindfragment zijn van een ander tijdstip, dus het gaat goed)
Dat was het update-probleem.
Er komen nog wat andere dingetjes, maar daar wacht ik maar even mee tot dit is verwerkt.
Met vriendelijke groet,
CSShunter
_______________
*)
Hé-poppelepé! Jouw
perro-eindfragment.htm is anders dan mijn
perro-eindfragment.htm!
- De jouwe bestaat alleen uit het menu, en mist het hele <div id="footer"> gedeelte en de 3 javascript-aanroepen!
- Die staan bij jou kennelijk nog op de pagina zelf (dat kan je van buitenaf niet zien vanwege het php-timmerwerk).
- Dit is ook zo in de EN versie.
Maar de footer en de script-aanroepen horen er wel bij (en niet op de pagina zelf), anders gaat het feestje van hierboven niet door.