Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

pagina verversen bij nieuw bezoek

Anoniem
.:ToBee:.
13 antwoorden
  • Goede morgen,

    Ik zoek naar een methode om mijn webpagina's "automatisch" te laten verversen.
    ik heb een site onderdeel gemaakt waarop elke dag de meest actuele informatie nodig is gedurende de maand december
    Site: http://tapaspakket.tapasthuis.nu De site is een subdomein van mijn site en wordt tijdelijk weergegeven gedurende november en december.

    Als ik nu wijzigingen doorvoer en deze online wil controleren moet ik eerst handmatig op "refresh" klikken voordat ik de actuele informatie krijg. Ik neem aan dat dit bij terugkerende bezoekers dus ook zo is?

    is er een code die zorgt dat de pagina bij het laden meteen even een refresh uitvoert?

    Alvast bedankt voor het meedenken.
  • is een kwestie van instellen van je browser.
    bij ie gaat dat:
    - menu extra - intenetopties - tabblad algemeen - rubriek tijdelijke internetbestanden - knop instellingen - zet een bolletje voor ´bij elk bezoek aan een pagina´ - klik ok - klik ok
  • Ik ben niet zo'n Javascript held, maar kan het niet met javascript location.reload() ?
  • Je kunt in de headers van de pagina instellen dat de pagina niet wordt gecached en dus bij elk bezoek opnieuw moet worden opgehaald. Bedoel dus niet de metatags in de head, maar bijv. m.b.v. php-headers.
  • oef, dacht gewoon even wat code te plaatsen en hup…
    Javascript is niet mijn sterkste kant en php al helemaal niet!

    Ik heb net met moeite een formulier in php weten te produceren, dwz geplaatst want het is middels een wizard online in elkaar gesleuteld.

    NoCache heeft natuurlijk ook nadelen.. hm, eigenlijk zou ik voor dit soort dingen de hele site in php moeten bouwen dus?

    Ik wacht nog even op andere reacties, alvast bedankt zover!
  • Ik heb in PHP ook nog nooit iets anders met de headers gedaan dan URL's versturen, maar als ik op PHP.net kijk zie ik dit
    [code:1:b10eaf693c]
    <?php
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
    ?>
    [/code:1:b10eaf693c]

    Ik denk dat je deze code helemaal bovenin je (html) document moet zetten. Als eerste dus, omdat de headers als eerste worden verstuurd.
    Vervolgens hernoem je je document van .htm of .html naar .php
    That should do the job (lijkt me).
    Als je server PHP ondersteund tenminste ;-)
  • Je kunt het ook met html alleen doen. Zet deze beide in de HEAD sectie van de pagina.

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
  • [quote:43e609b7e8]Using the Expires meta tag sounds like a good approach, but two problems are associated with it:

    * The browser first has to download the page in order to read the meta tags. If a tag wasn't present when the page was first requested by a browser, the browser will remain blissfully ignorant and keep its cached copy of the original.
    * Proxy servers that cache web pages, such as those common to ISPs, generally won't read the HTML documents themselves. A web browser might know that it shouldn't cache the page, but the proxy server between the browser and the web server probably doesn't–it will continue to deliver the same out-of-date page to the client.

    On the other hand, using the HTTP protocol to prevent page caching essentially guarantees that no web browser or intervening proxy server will cache the page, so visitors will always receive the latest content. In fact, the first header should accomplish this on its own; this is the best way to ensure a page is not cached.[/quote:43e609b7e8]
    Bron: www.sitepoint.com/article/caching-php-performance (over caching met php)
  • Lijkt me een drogredenering. Als de pagina niet in de cache zit, wordt ie vers opgebouwd en gedownload. Dus is ie up to date.
  • Het idee is denk ik dat áls je al ooit eens bent geweest op de oude pagina zonder metatags dan zou je misschien de eerstkomende tijd de oude versie krijgen, hoewel de nieuwe versie met metatags reeds online staat. Verder kan je of je provider of de gebruikte proxy je verouderde content voorschotelen.

    Persoonlijk denk ik ook dat het wel meevalt, maar het punt is meer dat je met php er zekerder van bent dat ze de nieuwste versie krijgen.
  • Hartelijk dank voor de laatste 2 tips! ik ga ze beide eens proberen.

    En als de bestaande bezoekers dan een out of date versie krijgen zit ik dus voor hen met nog steeds hetzelfde probleem maar met nieuwe bezoekers is het probleem voor altijd opgelost :P
    Een geleidelijke oplossing dus!

    Nog twee vraagjes;
    Dat stukje php code, kan ik dat inderdaad gewoon tussen de html in de header plaatsen en dan werkt het?! (nogmaals ->php newbie!)

    Die nocache code, is die nadelig voor cachen door zoekmachines of gaan deze alleen af op robots.txt voor wat ze wel en niet mogen?
  • Over de eerste vraag: PHP code kan overal staan waar het maar nodig is. In dit geval zou ik hem als allereerste, helemaal bovenaan zetten. Dus nog voor de eerste regel html code. Dit omdat hij met de headers bezig gaat en die worden als allereerste verstuurd.
    In tegenstelling tot html bevat php instructies voor de webserver. En als het goed is wordt die code dus op de webserver uitgevoerd, en niet naar de bezoeker gestuurd. (Je vind hem dus niet terug in de broncode als je de pagina aan het bekijken bent) Gebeurt dit toch dan is je PHP code niet uitgevoerd en heb je een fout in je code, of een server die geen php ondersteund :-)

    Door je document van .HTML naar .PHP te hernoemen laat je de webserver weten dat er PHP code in het document zit die hij moet uitvoeren. (Dus ook als je het document niet hernoemt naar .PHP, zal de php code gewoon naar de bezoeker worden gestuurd en niet worden uitgevoerd) Hij kijkt dan dus of er PHP code in zit die uit te voeren is, en doet dan vervolgens ook. Al de overige inhoud die geen PHP is (de HTML dus) stuurt hij alsnog gewoon naar de bezoeker toe. Dus met die HTML komt het toch vanzelf goed ;-)
  • [quote:aed89920a5="gerben"]Je kunt het ook met html alleen doen. Zet deze beide in de HEAD sectie van de pagina.

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">[/quote:aed89920a5]
    Wat hij zegt.
    De meest schone en snelle manier.
    Moet erbij zeggen dat ik de laatste niet ken, maar het klinkt erg logisch en ga zo ff bij de meta defenities kijken.

    O, en gerben, zo valt c/p wel erg op he, caps, geen caps enzo. ;)

    Overigens zijn meta tags HEADER tags, worden dus als eerste geinterpreteerd, waarmee het dus weinig tot niets uitmaakt kwa snelheid.
    Sterker nog, ik kan het andersom ook zeggen: PHP files moeten eerst [helemaal] door de PHP interpreter worden getrokken alvorens het naar de browser wordt gestuurd, dus ook dat request kost tijd.
    En sterretje twee van boelieboelie komt op hetzelfde neer [headers worden altijd gelezen].

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.