Php refreshen

Status
Niet open voor verdere reacties.

JakkoTFV

Gebruiker
Lid geworden
7 jan 2009
Berichten
7
Hoi,

Voor mijn studie moet ik een website bouwen die om de paar minuten recente weerinformatie uit een .txt bestand haalt. Ik ben een behoorlijke leek op het gebied van php, html en javascript. Ik wil om de paar minuten de pagina laten refreshen, maar dus ook opnieuw alle php laten uitvoeren. Hoe ik ook zoek, ik kan niet vinden hoe dit zou moeten, terwijl het volgens mij niet moeilijk zou moeten zijn. Mijn site laadt netjes opnieuw, maar verwerkt niet opnieuw de php tags.
Een site waar ik veel van heb afgekeken lijkt het met meta refresh te doen, maar dit lukt mij dus ook niet.

Hieronder heb ik een testscriptje gemaakt, wat doe ik fout?

HTML:
<html>

<head>
<title>refresh Test</title>
<meta http-equiv="refresh" content="3;url='refreshtest.php'" />
</head>

<body>
tijd is: <?php echo date("s"); ?><br/><br/>
</body>
</html>

Als iemand denkt dat ik mijn site op een heel andere manier moet aanpakken, dan hoor ik graag suggesties. Ben niet te beroerd om Ajax te leren o.i.d.

Alvast bedankt!
Jakko
 
Waarom niet een datumweergave met JavaScript? Die werkt clientside.

Je zou ook via JavaScript een functie kunnen bouwen welke om de zoveel minuten/seconden de data weer opvraagt uit dat tekstbestand.

Vervolgens die data toevoegen via een andere functie aan je body, voordeel is dat je dan geen pagina refresh hebt.

Zo werkt macrumorslive.com volgens mij.
 
devil,

ja, wat tijd betreft wel.
Dit was alleen maar een testscriptje om het principe van meta refresh te testen. Wat op mijn site moet gebeuren is dat er actuele temperaturen uit een textbestand gehaald worden en op de site weergegeven worden.

Ik kan daar volgens jou dus het best javascript voor gebruiken. Op wat voor manier krijg ik dat in mijn body? Ik heb voorbeelden gezien via een form, maar zag er nooit bevredigend uit.:confused:

Puur uit interesse omdat ik er nu uren aan heb zitten sleutelen en zoeken, waarom wordt in mijn refreshtest wel iedere paar seconden refreshtest.php aangeroepen maar voert hij niet opnieuw de php uit?

Jakko
 
PHP wordt bij elke pagina refresh opnieuw uitgevoerd... als de pagina niet veranderd, zou de uitkomst van het script hetzelfde moeten zijn.

Je kunt het testen door ergens op de pagina in de HTML een <?php echo mt_rand ( 1, 1000 ); ?> te zetten; dat zou bij iedere refresh een ander (random) getal moeten geven...


EDIT: Bedenk me net; gebruik je frames? Als je alleen een target frame ergens refresht, dan wordt de PHP op de overige frames niet opnieuw uitgevoerd... dat zou het enige kunnen zijn volgensmij
 
Laatst bewerkt:
Dit:

HTML:
<meta http-equiv="refresh" content="3;url='refreshtest.php'" />
Wil zeggen dat de pagina na drie seconden doorverwijst naar "refreshtest.php".

Om na drie minuten de eigen pagina te vernieuwen geef je dit mee:
HTML:
<meta http-equiv="refresh" content="180" />

Ook die weglatingstekens ( ' ) moeten er sowieso uit. Verder wil ik toch meegeven dat het best kan zijn dat deze oplossing niet genoeg is voor je leerkracht en je inderdaad met AJAX zult moeten werken om de postbacks te vermijden. Maar daar zijn bakken tutorials over op internet, en dat is met een javascript library zoals jquery zo gepiept.
 
Laatst bewerkt:
Jongens, bedankt voor de tips, maar het lukt nog steeds niet.
Ik heb bijvoorbeeld het volgende samengesteld waarvan je zou zeggen dat er weinig fout mee kan gaan:
HTML:
<html>
<head>
<title>refresh Test</title>
<meta http-equiv="refresh" content="3" />
</head>

<body>
<?php echo mt_rand ( 1, 1000 ); ?>
</body>
</html>

....Werkt dus niet. Ik krijg bij iedere refresh gewoon hetzelfde randomgetal terug.
Ook op dat gebied een leek hoor, maar kan het niet liggen aan de cache van mijn browser?

Groeten
Jakko
 
Als je denkt dat het aan je cache ligt, dan test je dat gewoon door volgende regel bij in je head te zwieren:

<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
 
Nope, werkt niet. Tenzij hij 5 keer achter elkaar toevallig 182 als randomgetal heeft uitgezocht :p
 
Werkt perfect hier, zelfs zonder die no-caching. Het zal eerder aan je browser liggen denk ik. :p
 
Werkt het ook niet als je handmatig een paar keer op F5 ramt?
 
Nee, maar ik denk dat ik er achter ben waarom het niet werkt.

Ik probeerde mijn site te bekijken door hem te previewen met XHTML-Kit. Werkt dus niet. Nu probeer ik hem te openen met Firefox, heb als het goed is correct Apache met Php 5 geinstalleerd. Dit deed het echter niet, dus ik heb Apache weer van mijn pc afgehaald.
Hoe zorg ik ervoor dat Firefox mijn Php kan lezen zonder dat ik daar Apache (of een ander serverprogramma) voor hoef te installeren en configureren? Dit is toch wat CGI inhoudt?

Groeten
Jakko

P.S.: Excuses voor het verdoen van jullie tijd :p
 
Apache is wel de bekendste en met de alternatieven ga je meer zooi hebben denk ik persoonlijk.

Ik vind het heel irritant voor je dat op de één of andere manier de server wel rendert, maar altijd hetzelfde rendert. Ik kan me niet voorstellen wat het kan zijn buiten een cache-probleem want als de server eruit zou gaan dan krijg je simpelweg niks meer.

Heb je met ctrl+F5 ook nog dezelfde cijfers? Staat het bestand wel onder htdocs? Ik noem maar wat he.
 
Tis gelukt!
Ik heb eindelijk mijn apache 2.2 lopen en kan mijn php's goed openen.
Bedankt voor de tips.
Waarschijnlijk kom ik morgen weer met een andere vraag, maar voor nu ben ik helemaal tevreden :thumb:

tnx
Jakko
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan