login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cookie tot volgende dag (Opgelost)

Offline voltrex - 03/10/2009 15:00
Avatar van voltrexLid Nu, een cookie zetten is niet moeilijk, maar ik zoek iets waardoor hij hem tot de volgende dag zet (niet 24u maar gewoon tot bv. 4oktober 0:00 uur). Ik heb al lang rondgekeken, maar niet dat gevonden, Google laat me ook in de steek.

Ik vermoed dat het iets met de date() functie is, maar weet helemaal niet goed hoe...

Iemand die dit wel weet?
Voltrex.

6 antwoorden

Gesponsorde links
Offline kenzo - 03/10/2009 15:02
Avatar van kenzo PHP beginner kun je uitleggen wat je ermee wilt doen?

misschien kan het ook op een andere manier via cronjobs
Offline voltrex - 03/10/2009 15:09 (laatste wijziging 03/10/2009 15:10)
Avatar van voltrex Lid
  1. if(isset($_COOKIE['daysong'])) {
  2. echo $_COOKIE['daysong'];
  3. } else {
  4. $daysong = $randomnr[rand(1,4)];
  5. echo $daysong;
  6. setcookie("daysong", $daysong, time()+86400, "/");
  7. }


Er wordt dus via 'rand' één ding uit de array genomen (muziektitel) en dan geëchood, maar er mag maar 1 titel per dag weergegeven worden, dus via een cookie die titel erin zetten, en dan eerst kijken of er een cookie is voor hij er een nieuwe moet laten zien (een nieuwe titel) om dan die nieuwe titel in een cookie te zetten. (enzovoort).

En ik wil dus dat die cookie (= daysong) verwijderd wordt wanneer de nieuwe dag begint, zodat ze een nieuwe song kunnen zien.

Snap je het een beetje, want het is nogal raar uitgelegd.  

Edit:
In dit voorbeeld van de cookie hierboven heb ik even een tijd erin gezet, dat moet wil ik dus veranderen.
Offline kenzo - 03/10/2009 15:16
Avatar van kenzo PHP beginner je kunt ook een tabel maken: bekeken
en daar het ip en de datum inzetten.


Je kijkt of een ip voorkomt (zoja, toegang geweigerd, zo nee wel toegang) en je kijkt per datum...

Of je pakt alleen het ip en leegt het iedere morgen de tabel om 0:00 uur (via cronjob)
Offline voltrex - 03/10/2009 15:50
Avatar van voltrex Lid Ja, dat is ook zeker en vast een goede oplossing.

Als niemand anders weet hoe/of dit mogelijk is met cookies, dan zal ik het op jouw methode doen.
Offline Koen - 03/10/2009 16:14
Avatar van Koen PHP expert
  1. <?php
  2. if(isset($_COOKIE['daysong']))
  3. {
  4. echo $_COOKIE['daysong'];
  5. } else {
  6. $daysong = $randomnr[rand(1,4)];
  7. echo $daysong;
  8. $now = time(); // huidige timestamp
  9. $tomorrow = $now + 24*60*60; // huidige tijd morgen (+24 uur)
  10. $tomorrow = mktime(0, 0, 0, date('n', $tomorrow), date('j', $tomorrow), date('Y', $tomorrow)); // timestamp morgen om 00:00:00
  11. $timeleft = $tomorrow - $now; // tijd te gaan tot morgen om 00:00:00
  12.  
  13. setcookie("daysong", $daysong, time() + $timeleft, "/"); // cookie setten met time to live => time() + $timeleft
  14. }


Enjoy.
Offline voltrex - 03/10/2009 19:08
Avatar van voltrex Lid Bedankt Koen.  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s