Welkom, Gast. Je bent niet ingelogd.

PHP Tellen

Joris
moderator
Geplaatst op: 05 Apr 2008, 17:23
PimpCoins: 0
💸+
Bewerken Quote

Oi..

is er een functie in PHP die wacht tot het aantal secondes verstreken i s en dan iets echo't?

(niet de functie sleep() want dat gaat over het laden v/d pagina).

greetz

sandr
aka Chuck Norris
Geplaatst op: 05 Apr 2008, 17:27
PimpCoins: 0
💸+
Bewerken Quote

wtf je moet juist wél sleep() hebbe

Joris
moderator
Geplaatst op: 05 Apr 2008, 17:27
PimpCoins: 0
💸+
Bewerken Quote

nee, want die laadt pas de pagina na het aantal seconden wat er in staat. Ik zoek iets dat de pagina gewoon meteen geladen is, en dat er gewoon na een paar seconden iets ge-echo't wordt.
Het mag geen javascript zijn.

Jaapje
Geplaatst op: 05 Apr 2008, 17:34
PimpCoins: 0
💸+
Bewerken Quote

Spoiler 😨 (selecteer om te bekijken)
Jij was toch zo'n php-held?

Klik. met de functie sleep kun je dit gewoon doen hoor?

[Laatst bewerkt door Jaapje op zaterdag 5 april 2008, om 17:34]
Joris
moderator
Geplaatst op: 05 Apr 2008, 17:43
PimpCoins: 0
💸+
Bewerken Quote

? Bij mij doet ie dat niet, ik ga het even uitzoeken

Edit: de verschillende tijden worden allebei pas na 10 sec. weergegeven, wat ik wil is:

- Tijd wordt ge-echo't
- 10 sec laten: De tijd van dan wordt ge-echo't

snappie?

[Laatst bewerkt door Joris op zaterdag 5 april 2008, om 17:48]
Saven
admin
Geplaatst op: 05 Apr 2008, 17:51
PimpCoins: 0
💸+
Bewerken Quote

Kan niet met php zoals jij wilt volgensmij

Joris
moderator
Geplaatst op: 05 Apr 2008, 18:01
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

Kan niet met php zoals jij wilt volgensmij

Dat idee heb ik ook, ik moet het echt zeker weten

Jaapje
Geplaatst op: 05 Apr 2008, 18:06
PimpCoins: 0
💸+
Bewerken Quote

Ik dacht zowiezo dat je in php niet echt kon af tellen, omdat php een server-side taal is.

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 05 Apr 2008, 19:06
PimpCoins: 0
💸+
Bewerken Quote

Er is wel iets dmv de buffer en verschillende functies van flush, maar ik weet niet precies hoe het werkt en ik heb er wel eens wat mee getest, maar het werkte niet naar mijn wensen.

Ik zou t via javascript doen, evntueel icm ajax.

sandr
aka Chuck Norris
Geplaatst op: 05 Apr 2008, 19:06
PimpCoins: 0
💸+
Bewerken Quote

dan zet je het stuk tekst dat je later wilt laten verschijnen in een iframe?

Joris
moderator
Geplaatst op: 05 Apr 2008, 19:09
PimpCoins: 0
💸+
Bewerken Quote

sandr schreef:

dan zet je het stuk tekst dat je later wilt laten verschijnen in een iframe?

Is misschien ook een idee

Sander
Geplaatst op: 05 Apr 2008, 20:00
PimpCoins: 0
💸+
Bewerken Quote

1
2
3
4
5
6
7
8
$i = 0;
while( $i != 5 ) {
    $i++;
    echo $i;
    ob_flush();
    flush();
    sleep(2);
}

Niet getest, maar volgens php.net moet het werken

[Laatst bewerkt door Sander op zaterdag 5 april 2008, om 20:01]
Sh1ver
Geplaatst op: 05 Apr 2008, 20:38
PimpCoins: 0
💸+
Bewerken Quote

Zoals Sander al aangaf kan het wel:
Dit script is in plaats van met die while vlug met een for lus gedaan

Dit script werkt want ik heb het getest op men localhost
Je hebt inderdaad die sleep ook nodig maar die flush zorgt ervoor dat het al naar het scherm word geprint en niet pas nadien.

1
2
3
4
5
6
7
8
9
10
<?php

for($i = 01; $i < 10; $i++)
{
    echo $i . "<br />";
    flush();
    sleep(2);
}

?>

[Laatst bewerkt door Sh1ver op zaterdag 5 april 2008, om 20:39]
Joris
moderator
Geplaatst op: 05 Apr 2008, 21:22
PimpCoins: 0
💸+
Bewerken Quote

Ah stom, dat ik daar niet aan gedacht heb! (flush())
Bedankt!

[Laatst bewerkt door Joris op zondag 20 april 2008, om 12:31]
Suma
heeft gelijk
Geplaatst op: 05 Apr 2008, 22:36
PimpCoins: 0
💸+
Bewerken Quote

Volgens mij is het hierbij handig om AJAX te gebruiken.

DJVG
&#61514;
Geplaatst op: 05 Apr 2008, 22:39
PimpCoins: 0
💸+
Bewerken Quote

Offtopic:
Joris schreef:

Ah stom, dat ik daar niet aan gedacht heb!
Bedankt!

Jij hebt nergens aan gedacht, alleen hoe je dom je bent.
Klein oplichtertje met grootheidswaanzin.

[Laatst bewerkt door DJVG op zaterdag 5 april 2008, om 22:39]
iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 06 Apr 2008, 00:12
PimpCoins: 0
💸+
Bewerken Quote

DJVG schreef:

Offtopic:
[...]
Jij hebt nergens aan gedacht, alleen hoe je dom je bent.
Klein oplichtertje met grootheidswaanzin.


Briljant

Ipv dat je dmv ajax nog een request doet kan je beter je weer te geven inhoud binnen divs zetten en display op none zetten, en dan laten verschijnen na x aantal seconden.

Suma
heeft gelijk
Geplaatst op: 06 Apr 2008, 02:47
PimpCoins: 0
💸+
Bewerken Quote

iisys schreef:

[...]
Briljant

Ipv dat je dmv ajax nog een request doet kan je beter je weer te geven inhoud binnen divs zetten en display op none zetten, en dan laten verschijnen na x aantal seconden.


Maar hoe maak je die counter dan?

en HEIL aan wat DJVG zei

DJVG
&#61514;
Geplaatst op: 06 Apr 2008, 10:39
PimpCoins: 0
💸+
Bewerken Quote

Offtopic:


Nanne
Doe een wens!
Geplaatst op: 06 Apr 2008, 11:52
PimpCoins: 0
💸+
Bewerken Quote

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
<?php
if($_GET['ajax']==true)
{
    echo date('H:i:s', time())."<br />";
    die();
}
?>
<html>
    <head>
        <title>Ajax Voorbeeld</title>
        <script type="text/javascript" language="javascript">
            var http_request = false;
            var DeUrl = 'JeBestand.php?ajax=true';
            function Start()
            {
                AJAX(DeUrl);
            }
            function AJAX(url)
            {
                if (window.XMLHttpRequest)
                {
                    http_request = new XMLHttpRequest(); 
                }
                else if (window.ActiveXObject)
                {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
                } 
                
                http_request.onreadystatechange = Content; 
                http_request.open('GET', url, true); 
                http_request.send(null);
            }
            function Content()
            {
                if(http_request.readyState == 4)
                {
                    if(http_request.status == 200)
                    {
                        //Snel doe een kunstje
                        //http_request.responseText
                        document.getElementById('Divje').innerHTML += http_request.responseText;
                        setTimeout(DeUrl, 10000);
                    }
                    else
                    {
                        //Ja, NIKS!
                        alert("Er zijn problemen met de site!");
                    }
                }
            }
        </script>
    </head>
    <body onload="Start()">
        Tijd:<br />
        <div id="Divje">
        
        </div>
    </body>
</html>

Ajax, om de 10 seconden naar een pagina gaan en dat in een divje zetten.

📫

Nieuw privébericht

🔥

Registreren


Login