[PHP] Timer met sleep functie?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb de volgende vraag...
Ik ben bezig met een script te schrijven dat na 10 minuten een link op het scherm neer dient te zetten..

Nou heb ik de volgende dingen geprobeerd:
- meta refresh na 600 seconden, maar dat schijnt hij niet echt goed op te pakken zo'n lange tijdsduur
- javascript countdown timer, maar die kunnen mensen omzeilen door hun klok vooruit te zetten

daarna ben ik aan de slag gegaan met de sleep functie van php en die werkt opzich prima met sleep(600); alleen toch niet bij iedereen, want niet iedereen krijgt de link na 10 minuten te zien.. hoorde van sommige mensen dat ze helemaal geen link kregen en van weer andere dat ze hem na 1 minuut al kregen :?

Mijn vraag aan jullie is nu, hoe krijg ik het voor mekaar dat na 10 minuten mijn php script pas een link op het scherm toverd, en wel zo dat het voor iedereen ook echt 10 minuten is ;)

Nog even wat additionele info over hoe ik precies de link op het scherm zet..
ik heb een div tag die hidden is (de link staat dus al op het scherm) en na die 10 minuten laat ik php een javascript line echo'en die ervoor zorgt dat de div tag visible word...

Alvast bedankt voor enige nuttige info :)

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 07:32
Dan kijk je toch gewoon even in de source van die div 8)7

Je kunt beter het volgende doen:
echo alle uitleg e.d.
flush
wacht 10 min met php sleep
echo link
flush

zie ook www.php.net/flush

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op 18 October 2003 @ 15:19:
Dan kijk je toch gewoon even in de source van die div 8)7

Je kunt beter het volgende doen:
echo alle uitleg e.d.
flush
wacht 10 min met php sleep
echo link
flush

zie ook www.php.net/flush
disable right mouse klik en geen menubars, etc ;)
die link krijg je niet zomaar te zien hoor, daar zorg ik wel voor..

alleen het probleem is dus dat die sleep op de een of andere manier niet voor iedereen goed werkt :? Want hier bij mij thuis werkt het prima, alleen bij sommige anderen dus weer niet...

Acties:
  • 0 Henk 'm!

  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

Je kan het nog met Java proberen, eventjes een standaard applet openen en je bent al bijna klaar. Of dat dan bij iedereen werkt weet ik niet zeker, voor zover ik weet moet de php sleep functie namelijk bij iedereen hetzelfde werken. Dat dat niet gebeurt kan ik niet verklaren dus wordt het lastig.

MechWarrior || Monsters Game


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GambitRS schreef op 18 October 2003 @ 15:20:
Je kan het nog met Java proberen, eventjes een standaard applet openen en je bent al bijna klaar. Of dat dan bij iedereen werkt weet ik niet zeker, voor zover ik weet moet de php sleep functie namelijk bij iedereen hetzelfde werken. Dat dat niet gebeurt kan ik niet verklaren dus wordt het lastig.
Heb inderdaad ook even naar een java countdown applet zitten kijken, maar geen ervan die ik vond geven mij de mogelijkheid om na die countdown een link op het scherm te zetten...

Acties:
  • 0 Henk 'm!

Verwijderd

Als je browser een aantal minuten geen informatie ontvangt, dan stopt hij ermee (tenminste IE wel). Je moet dus af en toe wat output sturen, om je pagina 'levend' te houden. Verder denk ik niet dat je server het leuk vind als er allemaal apache-childs 10 minuten lang openstaan (kost als je veel bezoekers heb vrij veel geheugen).

Misschien is een javascript-refresh na 10 minuten iets, waarbij je na die 10 minuten dmv php checkt of de vorige pagina daadwerkelijk 10 minuten geleden is opgevraagd (dmv sessie o.i.d.).

Succes :)

P.S. waarom wil je je bezoekers 10 minuten laten wachten :?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 07:32
De sleep zal altijd 10 minuten duren, dat kan niet per persoon verschillend zijn. Verder is die source vrij eenvoudig hoor: beeld->bron en je hebt het. Als je iets naar de cliënt verstuurd is het te lezen, dat wil je niet en is hier ook totaal overbodig.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op 18 October 2003 @ 15:23:
De sleep zal altijd 10 minuten duren, dat kan niet per persoon verschillend zijn. Verder is die source vrij eenvoudig hoor: beeld->bron en je hebt het. Als je iets naar de cliënt verstuurd is het te lezen, dat wil je niet en is hier ook totaal overbodig.
bron valt niet op te vragen, geen menubars (dus geen beeld->bron) en heb de rechtermuisknop en shift-f10 op disable gezet d.m.v javascript..

Acties:
  • 0 Henk 'm!

  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

Verander de code in de applet dan. Op z'n simpelst kan je de zooi na de timer vervangen door g.drawString("link hier",5,5); (hehehe)

MechWarrior || Monsters Game


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 18 oktober 2003 @ 15:22:
Als je browser een aantal minuten geen informatie ontvangt, dan stopt hij ermee (tenminste IE wel). Je moet dus af en toe wat output sturen, om je pagina 'levend' te houden. Verder denk ik niet dat je server het leuk vind als er allemaal apache-childs 10 minuten lang openstaan (kost als je veel bezoekers heb vrij veel geheugen).

Misschien is een javascript-refresh na 10 minuten iets, waarbij je na die 10 minuten dmv php checkt of de vorige pagina daadwerkelijk 10 minuten geleden is opgevraagd (dmv sessie o.i.d.).

Succes :)

P.S. waarom wil je je bezoekers 10 minuten laten wachten :?
Misschien dat dat idd de fout is, dat IE ermee stopt doordat hij geen info krijgt.. eens kijken wat ik daarmee kan....

ik wil mijn bezoekers 10 minuten laten wachten omdat ik bezig ben met het opzetten van een betaalde chatbox (je krijgt dus betaald om te chatten)... door iedere 10 minuten de mensen een link aan te laten klikken verdienen ze geld, alleen daarvoor wil ik ze dus wel naar een pagina van mijn keuze laten gaan..

kijk anders even op m'n site www.zinngeld.nl misschien dat je het dan beter begrijpt..

Acties:
  • 0 Henk 'm!

  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

Verwijderd schreef op 18 October 2003 @ 15:24:
[...]


bron valt niet op te vragen, geen menubars (dus geen beeld->bron) en heb de rechtermuisknop en shift-f10 op disable gezet d.m.v javascript..
en de File -> editwithnotepad? Die heb ik dan wel zelf aangemaakt, maar dat werkt waarschijnlijk nog wel. Zo zie je maar weer, een halve oplossing is altijd nog makkelijk te omzeilen.

MechWarrior || Monsters Game


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GambitRS schreef op 18 October 2003 @ 15:24:
Verander de code in de applet dan. Op z'n simpelst kan je de zooi na de timer vervangen door g.drawString("link hier",5,5); (hehehe)
lol dat is waar, maar ben nooit een echte held geweest met JAVA ;)

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 07:32
Verwijderd schreef op 18 October 2003 @ 15:24:
[...]bron valt niet op te vragen, geen menubars (dus geen beeld->bron) en heb de rechtermuisknop en shift-f10 op disable gezet d.m.v javascript..
Reken maar dat het wel kan }) , maar goed dat is jouw probleem.

Ik vind de oplossing met de sessie nog de meest veilige als je het met een js redirect wilt doen. Wil je een verbinding van 10 minuten aanhouden dan zou ik gewoon voor flushen gaan.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GambitRS schreef op 18 October 2003 @ 15:26:
[...]


en de File -> editwithnotepad? Die heb ik dan wel zelf aangemaakt, maar dat werkt waarschijnlijk nog wel. Zo zie je maar weer, een halve oplossing is altijd nog makkelijk te omzeilen.
Klopt, maar het gaat erom dat het voor de meeste mensen (lees noobs) cheat vrij is.. niet iedereen begrijpt dat soort dingen, de paar die het wel doen.. alla...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op 18 October 2003 @ 15:26:
[...]
Reken maar dat het wel kan }) , maar goed dat is jouw probleem.

Ik vind de oplossing met de sessie nog de meest veilige als je het met een js redirect wilt doen. Wil je een verbinding van 10 minuten aanhouden dan zou ik gewoon voor flushen gaan.
Ik zal eens naar dat flushen kijken...

Acties:
  • 0 Henk 'm!

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 07-07 16:30

Akerboom

Codito, ergo sum

gewoon in een sessie openen in php...

daarmee geef je de begin tijd aan van de sessie
dan maakt je met javascript een couter die na 10 min. de page refreshed
met php check je dan of het verschil tussen de aanvraag en het begin van de sessie 10 min is, dan laat je de link zien... anders laat je weer de couter zien met de resterende tijd

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TormentoR schreef op 18 oktober 2003 @ 15:33:
gewoon in een sessie openen in php...

daarmee geef je de begin tijd aan van de sessie
dan maakt je met javascript een couter die na 10 min. de page refreshed
met php check je dan of het verschil tussen de aanvraag en het begin van de sessie 10 min is, dan laat je de link zien... anders laat je weer de couter zien met de resterende tijd
zoals gezegd werd idd.. thnx denk dat deze oplossing nog het beste is :)

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 18 October 2003 @ 15:24:
[...]


bron valt niet op te vragen, geen menubars (dus geen beeld->bron) en heb de rechtermuisknop en shift-f10 op disable gezet d.m.v javascript..
compleet nutteloos, de HTML staat immers al in de cache en anders pak ik mozilla of een andere browser of zet ik javascript uit - dat kost me hooguit 10 seconden ipv 10 minuten wachten...

trouwens al setTimeout geprobeert?

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
crisp schreef op 18 October 2003 @ 15:35:
[...]

compleet nutteloos, de HTML staat immers al in de cache en anders pak ik mozilla of een andere browser of zet ik javascript uit - dat kost me hooguit 10 seconden ipv 10 minuten wachten...
Ik weet dat het altijd te omzeilen is, maar het gaat me erom dat de noobs niet de mogelijkheid krijgen om te cheaten... dat er een paar die-hards zijn die het wel begrijpen... alla ;)
crisp schreef op 18 October 2003 @ 15:35:
trouwens al setTimeout geprobeert?
erm nee....? :?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 07:32
Hoe maak jij dan timers in JS :?
Ga nou verder neit zitten vertellen dat het niet veilig hoeft te zijn, zorg er gewoon voor dat het veilig is. Dat kost toch geen extra moeite.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op 18 October 2003 @ 15:44:
[...]
Hoe maak jij dan timers in JS :?
Ga nou verder neit zitten vertellen dat het niet veilig hoeft te zijn, zorg er gewoon voor dat het veilig is. Dat kost toch geen extra moeite.
ik ben niet bedreven in javascript en heb dus gewoon iets gebruikt dat al bestond, tuurlijk wil het best zo veilig mogelijk maken, maar laten we (ik) eerst eens zorgen dat het uberhaupt werkt zoals het hoort te werken.. first things first

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

JavaScript:
1
setTimeout('functie()', 10*60*1000);


maar goed, een serverside oplossing dmv een sessie en af en toe een refresh is natuurlijk vele malen beter; dan stuur je pas de link als je echt zeker weet dat er 10 minuten voorbij zijn en kan je al die andere fratsen achterwege laten :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
crisp schreef op 18 October 2003 @ 15:46:
[...]

JavaScript:
1
setTimeout('functie()', 10*60*1000);


maar goed, een serverside oplossing dmv een sessie en af en toe een refresh is natuurlijk vele malen beter; dan stuur je pas de link als je echt zeker weet dat er 10 minuten voorbij zijn en kan je al die andere fratsen achterwege laten :)
jah dacht zelf idd ook dat dat de beste oplossing is :)
thnx iig voor de hulp so far! :)
Pagina: 1