Toon posts:

Auto refresh voor tijd in php

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Even een heel simpel vraagje zo tussendoor
Ben nu bezig om een realtime klokje te maken in php.
De tijd staat zo op een pagina, maar hoe kan ik deze om de bv. 1 sec. laten refreshen.
Ik wil dit doen in PHP.
Ik heb nu en java script waarin dit wel werkt, maar dit script is een stuk groter als in php, nu wil ik dit dus ook in php.


Alvast bedankt

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

zoek eens op "refresh" met http enzo, eg:

[google=refresh+http+header]

Probeer dit dan toe te passen in PHP, eg:

http://www.php.net/manual/en/function.header.php

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Php kan niet voor die reload zorgen, omdat dit een serverside taal is. Het reloaden zal altijd met javascript, metatag of iets anders clientsides moeten gebeuren.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

erm... waarom zou je dat níet door javascript op laten lossen?

javascript handelt alles netjes aan de client side af.
op jouw manier moet je dus elke seconde een verbinding maken naar je server (denk aan de tijd die je pakketje erover doet == afwijking), dan je script uitvoeren, en die weer terugsturen!

Beetje een onzin-methode als je het mij vraagt :P

Stop uploading passwords to Github!


  • Snow_King
  • Registratie: April 2001
  • Laatst online: 09:26

Snow_King

Konijn is stoer!

je hebt ook een real-time klok in java-script, zoek maar eens op www.hotscripts.com

Verwijderd

Verwijderd schreef op 16 augustus 2002 @ 10:42:
...Ik heb nu en java script waarin dit wel werkt...
Snow_King schreef op 16 augustus 2002 @ 10:53:
je hebt ook een real-time klok in java-script, zoek maar eens op www.hotscripts.com
Dusss... Lees de draad voor je blaat zou ik willen zeggen...

maargoed, even ontopic, javascript is hier ECHT de betere oplossing, PHP is gewoon niet voor dit soort dingen bedoeld

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 09:26

Snow_King

Konijn is stoer!

Verwijderd schreef op 16 augustus 2002 @ 12:58:
[...]


[...]


Dusss... Lees de draad voor je blaat zou ik willen zeggen...

maargoed, even ontopic, javascript is hier ECHT de betere oplossing, PHP is gewoon niet voor dit soort dingen bedoeld
sorry, miste even een stukje, kan toch gebeuren?

Maar ik ben het met jou eens dat je hier geen PHP voor moet gebruiken.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Verwijderd schreef op 16 augustus 2002 @ 10:42:
om de bv. 1 sec. laten refreshen.
Je kan dan net zogoed om de seconde een seconde bij de tijd optellen :)

  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?
$hour = date ("H");
$minute = date ("i");
$seconde = date ("s");
$background = "white";
$textcolor = "black";
?>
<SCRIPT LANGUAGE="Javascript1.2">

var currentsec=<? echo "$seconde"; ?>;

var currentmin=<? echo "$minute"; ?>;

var currenthour=<? echo "$hour"; ?>;

var keepgoin=true;

function timer()

   {

     if(keepgoin)

      {

          currentsec+=1;

          if (currentsec==60){currentsec=0;currentmin+=1;}

          if (currentmin==60){currentmin=0;currenthour+=1;}

          if (currenthour==24){currenthour=0;}

          Strsec=""+currentsec;

          Strmin=""+currentmin;

          Strhour=""+currenthour;

          if (Strsec.length!=2){Strsec="0"+currentsec;}

          if (Strmin.length!=2){Strmin="0"+currentmin;}

          document.display.seconds.value=Strsec;

          document.display.minutes.value=Strmin;

          document.display.hours.value=Strhour;

          setTimeout("timer()", 1000);

      }

   }

</SCRIPT>
<BODY BGCOLOR="<?echo"$background";?>" onload="keepgoin=true;timer()">

<FORM NAME="display">

<INPUT TYPE="text" NAME="hours" VALUE="00" SIZE=1 STYLE="border:0;color:<?echo"$textcolor";?>;background:<?echo"$background";?>">:<INPUT TYPE="text" NAME="minutes" VALUE="00" SIZE=1 STYLE="border:0;color:<?echo"$textcolor";?>;background:<?echo"$background";?>">:<INPUT TYPE="text" NAME="seconds" VALUE="00" SIZE=1 STYLE="border:0;color:<?echo"$textcolor";?>;background:<?echo"$background";?>">

</FORM>


javascript en php samen gecombineerd.de klok telt en werkt perfect

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

AcIDeR schreef op 17 augustus 2002 @ 11:44:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?
$hour = date ("H");
$minute = date ("i");
$seconde = date ("s");
$background = "white";
$textcolor = "black";
?>
<SCRIPT LANGUAGE="Javascript1.2">

var currentsec=<? echo "$seconde"; ?>;

var currentmin=<? echo "$minute"; ?>;

var currenthour=<? echo "$hour"; ?>;

var keepgoin=true;

function timer()

   {

     if(keepgoin)

      {

          currentsec+=1;

          if (currentsec==60){currentsec=0;currentmin+=1;}

          if (currentmin==60){currentmin=0;currenthour+=1;}

          if (currenthour==24){currenthour=0;}

          Strsec=""+currentsec;

          Strmin=""+currentmin;

          Strhour=""+currenthour;

          if (Strsec.length!=2){Strsec="0"+currentsec;}

          if (Strmin.length!=2){Strmin="0"+currentmin;}

          document.display.seconds.value=Strsec;

          document.display.minutes.value=Strmin;

          document.display.hours.value=Strhour;

          setTimeout("timer()", 1000);

      }

   }

</SCRIPT>
<BODY BGCOLOR="<?echo"$background";?>" onload="keepgoin=true;timer()">

<FORM NAME="display">

<INPUT TYPE="text" NAME="hours" VALUE="00" SIZE=1 STYLE="border:0;color:<?echo"$textcolor";?>;background:<?echo"$background";?>">:<INPUT TYPE="text" NAME="minutes" VALUE="00" SIZE=1 STYLE="border:0;color:<?echo"$textcolor";?>;background:<?echo"$background";?>">:<INPUT TYPE="text" NAME="seconds" VALUE="00" SIZE=1 STYLE="border:0;color:<?echo"$textcolor";?>;background:<?echo"$background";?>">

</FORM>


javascript en php samen gecombineerd.de klok telt en werkt perfect
Klopt, maar wat nou als de server z'n tijd zone ergens op timboektoe ingesteld staat?

Stop uploading passwords to Github!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Papa Eend schreef op 17 augustus 2002 @ 11:55:
Klopt, maar wat nou als de server z'n tijd zone ergens op timboektoe ingesteld staat?

Moest je daar die complete lap code voor quoten ??

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 24-08 21:59

Macros

I'm watching...

offtopic:
Beetje aan de sfeer denken ACM. Zoiets kan je beter melden door bv. te zeggen:
Een goede vraag, maar kan u de volgende keer die lap code niet quoten? Dit verstoord namelijk de layout en het overzicht van de thread zonder enige toegevoegde waarde.
Dank u.

"Beauty is the ultimate defence against complexity." David Gelernter


Verwijderd

offtopic:
Macros... Geef jij cusussen didactiek ofzo? Tsss... :+


PHP:
1
2
3
4
5
6
7
$secs = 3; //aantal seconden die hij moet wachten alvorens te refreshen
$url = "http://blaat.schaap.com/mekker/wol.html"; 
/*
url waar het kreng heen moet
kun je natuurlijk ook gewoon $HTTP_REFERER voor gebruiken!
*/
echo "<head><META HTTP-EQUIV=Refresh CONTENT="$secs; URL=$url"></head>";

Verwijderd

Janoz schreef op 16 augustus 2002 @ 10:45:
Php kan niet voor die reload zorgen, omdat dit een serverside taal is. Het reloaden zal altijd met javascript, metatag of iets anders clientsides moeten gebeuren.
dat is niet helemaal waar ;)

het kan wel! alleen zul je dan een loop binnen je script moeten maken van bv 1 secode en dan met een header("location: jouscript.php"); je script weer moeten starten :P

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 09:26

Snow_King

Konijn is stoer!

Verwijderd schreef op 17 augustus 2002 @ 17:31:
[...]


dat is niet helemaal waar ;)

het kan wel! alleen zul je dan een loop binnen je script moeten maken van bv 1 secode en dan met een header("location: jouscript.php"); je script weer moeten starten :P
mierenn**ker...

maar ik snap niet helemaal wat jullie moeilijk aan het doen zijn, het is allang gemeld dat je zoiets beter kan doen met een simpele java-script klok en toch.....

Verwijderd

Snow_King schreef op 17 augustus 2002 @ 18:40:
[...]


mierenn**ker...

maar ik snap niet helemaal wat jullie moeilijk aan het doen zijn, het is allang gemeld dat je zoiets beter kan doen met een simpele java-script klok en toch.....
idd, maar alles kan dus :P

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Verwijderd schreef op 17 augustus 2002 @ 17:31:
[...]


dat is niet helemaal waar ;)

het kan wel! alleen zul je dan een loop binnen je script moeten maken van bv 1 secode en dan met een header("location: jouscript.php"); je script weer moeten starten :P
Errm.. Ik wil je feestje niet verpesten hoor.. maar dat kan niet in het HTTP protocol.. :)

Een HTTP header kan je alleen voor de gewone output (html) sturen. Een normale browser zal deze output bij een 'location: ' header alleen niet eens 'lezen' omdat hij een nieuwe request naar je 'location' doet.

Dus je kan niet iets doen van 'stuur tijd in html/text/whatever -> stuur redirect header -> enz.. '. Het zal altijd de client moeten zijn die de pagina opnieuw opvraagt. En dat kan dus door een Meta-Refresh of dmv Javascript...

On track


Verwijderd

WouZz schreef op 17 augustus 2002 @ 22:21:
[...]


Errm.. Ik wil je feestje niet verpesten hoor.. maar dat kan niet in het HTTP protocol.. :)

Een HTTP header kan je alleen voor de gewone output (html) sturen. Een normale browser zal deze output bij een 'location: ' header alleen niet eens 'lezen' omdat hij een nieuwe request naar je 'location' doet.

Dus je kan niet iets doen van 'stuur tijd in html/text/whatever -> stuur redirect header -> enz.. '. Het zal altijd de client moeten zijn die de pagina opnieuw opvraagt. En dat kan dus door een Meta-Refresh of dmv Javascript...
idd |:( je hebt helemaal gelijk het moet voor de 'output' dus idd meta refresh tag :7
Pagina: 1