Ik wil graag weten hoe ik, als ik bijvoorbeeld op een pagina eerst een rode achtergrond heb en ik druk op een button dat die er voor zorgt dat na 30 seconden de achtergrond groen is. Graag ook nog zó dat als ik voordat die 30 seconden voorbij zijn mijn browser aflsuit en dan na de 30 seconden weer de pagina open dat dan toch de pagina groen wordt weergegeven.
@YPM: Een cronjob lijkt mij te veeleisend, die zou je zo'n beetje elke seconde een pagina moeten laten aanroepen om op tijd het juiste scriptje uit te voeren. Het zou 'iets' moeten zijn dat ahw continu waardes checkt en bij de juiste waardes een script uitvoert. In mijn geval zou er bij het drukken op de knop dus een tijd komen waarop de pagina groen wordt en dat 'iets' verandert dan de database wanneer huidige tijd gelijk is aan de tijd waarop de pagina groen moet worden.
Henk er worden hier steeds prima antwoord gegeven op je vragen, echter is het steeds niet genoeg...
misschien handig als je gewoon uitlegd wat je wilt zodat iedereen met het hele plaatje mee kan denken?
Je hebt misschien gelijk, ik vond het eerst niet nodig alles uit te leggen en dacht mijn probleem goed weer te kunnen geven mijn pagina met de rode en groene achtergrond maar dat was dus kennlijk niet zo. Wat ik dus wil is een browser based spel. Er is bijvoorbeeld een speler die een actie uitvoert dat hij over bijvoorbeeld een half uur een andere speler aanvalt. Het zou natuurlijk raar zijn als die speler het hele half uur online moest zijn om de aanval te laten lukken. Het zou eveneens raar zijn als de aanval pas werd uitgevoerd nadat hij na die 30 minuten weer inlogde. Er moet dus iets zijn dat continu bezig is en als er aan bepaalde voorwaarde wordt voldaan dat dat iets de opdracht uitvoert, in dit geval dus de aanval. Ik hoop zo duidelijk genoeg te zijn geweest :)
Het probleem is, dat een pagina een momentopname is. Wat jij wilt, is een soort realtime verbinding met je DB zodat de pagina van andere gebruikers aangepast wordt op precies het juiste moment. Ik ben geen AJAX kenner, maar volgens mij moet je die kant op.
Ja, ik weet dat de pagina een momentopname is, daarom wil ik de pagina's ook alleen maar de opdrachten géven en dus de uitkomsten weergeven. Dat 'iets' moet dus de opdrachten úitvoeren. Ik zal eens AJAX bestuderen, als iemand nog andere suggesties heeft hoor ik die graag.
Ik heb AJAX eens bekeken maar die methode gebruikt de browser ook, hij communiceert echter wel met de database zonder pagina's te reloaden maar een browser blijft nodig. Dus ik weet nog steeds hoe ik dus een script uit kan voeren zonder dat er een browser aan te pas komt, althans; niet de browser van een gebruiker, ik moet waarschijnlijk iets 24/7 laten runnen, wellicht een browser.
Het moet mogelijk zijn, ik weet niet wat menig MMOG gebruikt. Wellicht denk ik totaal in de verkeerde richting maar zij hebben wel het resultaat waar ik naar verlang.
Er zijn maar een paar situaties waarin het nodig is dat er een script uitgevoerd wordt zonder dat een user een pagina opvraagt. In een spel moet het ook anders kunnen. Zodra ik een pagina opvraag moet via het logica deel van je script berekend kunnen worden wat de user in beeld krijgt.
Zet in je tabel een kolom erbij, die aangeeft of iets is uitgevoerd of niet. (kan je ook kijken adh van de tijd)
Is het nog niet uitgevoerd, maar de tijd wel, dan kan je in je basis script ervoor zorgen dat dat op het moment dat een willekeurige gebruiker de bewuste pagina uitvoerd.
Echter zit hier een (groot) risico aan, en dat betreft het mogelijke toeval dat 2 gebruikers tegelijkertijd het script aanroepen.