mboost-dp1

php refresh


Gå til bund
Gravatar #1 - simonduun
13. aug. 2008 08:31
Hejsa.

Er der nogen der ved om man kan få en side til at opdatere i loop via php? altså så den bare bliver ved med at opdatere siden i ring! synes ikke at kunne finde noget på nettet omkring dette...

Simon
Gravatar #2 - Anders
13. aug. 2008 08:40
header('Location: dinside.php');


skulle gøre tricket.
Husk at der ikke må være noget html kode inden at header'en bliver sendt. Du må dog gerne have php-kode før.
Gravatar #3 - myplacedk
13. aug. 2008 08:44
header('Refresh: 5');

Burde reloade efter 5 sekunder. Hvis du reloader konstant (som #2 foreslår) får du problemer. Du kan sætte noget delay ind i dit php (fx. "sleep(5);" før header()), men browseren vil stadig se det som et loop, og kan finde på at afbryde.
Gravatar #4 - simonduun
13. aug. 2008 08:50
har jeg sat det rigtigt op, eller er det mig der fejler? :D

<?php

header('Refresh: 5');


$lort = rand(1,3);
echo "<img src='images/random/$lort.gif'>";
?>
Gravatar #5 - myplacedk
13. aug. 2008 08:50
Hvad sker der? Reloader den ikke?
Gravatar #6 - simonduun
13. aug. 2008 08:51
den reloader ikke nej...
Gravatar #7 - myplacedk
13. aug. 2008 08:56
Hmm, refresn-headeren er fjernet i HTTP 1.1, og IE ignorerer den efter et manuelt rerfesh.

Prøv i stedet med HTML:
<meta http-equiv='Refresh' content='10'>

Måske skal der være en url også:
<meta http-equiv='Refresh' content='10; URL=bæ.php'>
Gravatar #8 - simonduun
13. aug. 2008 09:12
Nu virker det :)... Tak for hjælpen myplacedk
Gravatar #9 - Mandalae
13. aug. 2008 09:24
Så vidt jeg ved bliver meta refresh også efterhånden "frowned upon" .. Jeg er ikke sikker dog.

Den mere elegante løsning ville klart være at lave noget js der bare laver en timeoutloop, som skifter source i dit billede :)

Synes jeg :)
Gravatar #10 - fidomuh
13. aug. 2008 10:00
#1

Du kan faa et spark i loegposen ?

#9

Det er "frowned upon", fordi det er ubeskriveligt irriterende at ens browser staar og refresher automatisk.
Vil du have auto-refresh af noget indhold, saa goer man det som paa newz.dk via AJAX / Javascript - og 99% sikkert er det ikke noedvendigt anyway :)
Gravatar #11 - myplacedk
13. aug. 2008 10:17
#9
Enig, det burde faktisk være lavet som script.

Og lige i hans kodeeksempel ville den pæne løsning være noget heeelt andet, men vi aner jo ikke hvad han faktisk skal bruge det til. :)
Gravatar #12 - arne_v
13. aug. 2008 18:22
#3

Den brug af sleep lyder som en rigtig web server killer.
Gravatar #13 - myplacedk
13. aug. 2008 21:45
12 skrev:
Den brug af sleep lyder som en rigtig web server killer.

I forhold til at loope konstant? ;-)

Det er heller ikke min foretrukne metode. Men jeg ville da lige nævne muligheden, da jeg ingen anelse har om hvad det skal bruges til.
Gravatar #14 - Jace
13. aug. 2008 22:35
9 skrev:
Den mere elegante løsning ville klart være at lave noget js der bare laver en timeoutloop, som skifter source i dit billede :)

Må vi prøve at se et kode eksempel på det? (Learn from the best) ;D
Gravatar #15 - Mandalae
13. aug. 2008 23:01

var _timeout = null;
var _timeoutTime = 10000;
if (_timeout){
clearTimeout(_timeout);
}
_timeout = setTimeout('timeLoop()', _timeoutTime);
function timeLoop(){
var imagename = Math.floor(Math.random()*3);
document.getElementById('image').src('images/random/'+imagename+'.jpg');
_timeout = setTimeout('timeLoop()', _timeoutTime);
}


Det burde vel kunne gøre det? :)

Jeg tager forbehold for div fejl, jeg har ikke testet noget som helst og jeg er møgtræt :)
Gravatar #16 - Mandalae
13. aug. 2008 23:02
Hm, der er vist en fejl i code tagget.. Det må jeg kigge på i morgen :)
Gravatar #17 - arne_v
14. aug. 2008 01:43
#13

Næsten lige så slem som loopet.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login