bezorg de laatste berichten direct op de desktop
Welkom, Gast
Alstublieft Inloggen of Registreren.    Wachtwoord verloren?

wedstrijd automatisch starten en afsluiten
(1 bezoeker) (1) Gast
Ga naar onderkantPagina: 12
TOPIC: wedstrijd automatisch starten en afsluiten
#5790
wedstrijd automatisch starten en afsluiten 3 Jaren, 8 Maanden geleden Karma: 0
Hallo,


Op http://www.kbof-wvl.be organiseer ik nu en dan eens een wedstrijd waarbij men dan bv een boek kan winnen over vogels.

Nu zou ik de wedstrijdpagina zelf automatisch toegankelijk willen krijgen op een bepaald tijdstip (bevoorbeeld 1 juli 2008 om 00uur 00minuten 01 seconden) en ook automatisch afgesloten krijgen (bevoorbeeld 31 juli om 23 uur 59 minuten 59 seconden)

hierbij zou ik nog volgende meldingen willen zien op de wedstrijdpagina :

* aftellen naar start (nog X-dagen, X-uren, X-minuten, X-seconden tot de wedstrijd start)

* eenmaal de wedstrijd bezig is een aftellen naar einde deelname (nog X-dagen, X-uren, X-minuten, X-seconden tijd om deel te nemen)

* eenmaal de wedstrijd afgelopen is volgende tekst : "Helaas, deze wedstrijd is afgelopen. De winnaars worden zo spoedig mogelijk bekend gemaakt op deze pagina. Binnenkort starten we opnieuw met een nieuwe wedstrijd"



ik heb momenteel een werkende wedstrijdpagina op de website, maar had deze uitbreiding graag toegevoegd...
win4ever
WMS Fan
Berichten: 33
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#5791
Re:wedstrijd automatisch starten en afsluiten 3 Jaren, 8 Maanden geleden Karma: 0
Ik heb al een keer zoiets gemaakt. Het is iets anders dan wat jij bedoelt want het laat niet dageen-uren-minuten-seconden zien, maar alleen één van die. Dat moet je zelf nog wel kunnen aanpassen denk ik.

Code:

<?php
$timer = '';
if ($start < $stop && time() < $stop) {
$days = floor(abs(($start - time()) / 86400));
$hours = floor(abs(($start - time()) / 3600));
$minutes = floor(abs(($start - time()) / 60));
if (time() > $start) {
$timer = ' om deel te nemen.';
} else {
$timer = ' tot de wedstrijd start.';
}

if ($days > 0) {
$timer = 'Nog ' . $days . ' ' . ($days > 1 ? 'dagen' : 'dag') . $timer;
} elseif ($days == 0 && $hours > 0) {
$timer = 'Nog ' . $hours . ' uur' . $timer;
} elseif ($hours == 0) {
$timer = 'Nog ' . $minutes . ' ' . ($minutes === 1 ? 'minuut' : 'minuten') . $timer;
}
} else {
$timer = 'Helaas, deze wedstrijd is afgelopen. De winnaars worden zo spoedig mogelijk bekend gemaakt op deze pagina. Binnenkort starten we opnieuw met een nieuwe wedstrijd.';
}

echo '<strong>' . $timer . '</strong>';
?>

$start en $stop moeten twee timestamps zijn. Daarvoor kun je bijvoorbeeld strtotime() of mktime() voor gebruiken.
Rik
Moderator
Berichten: 28
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#5792
Re:wedstrijd automatisch starten en afsluiten 3 Jaren, 8 Maanden geleden Karma: 0
bedankt hiervoor.

voor zover ik het beetje kan "begrijpend lezen" wat er in die code staat wordt er dus gewoon gezet "nog X-dagen" en in geval van minder dan 1 dag "nog X-uren"

Op zich vind ik dit niet erg, het is gewoon de bedoeling dat het zichtbaar is via aftelling, dus dit zou ook goed zijn...


je sprak van timestamps te maken via 1 van die 2 links, maar mijn kennis van php is praktisch nihil () en mijn engels is ook ondermaats ...




moet ik dan in in database 2 dingen bijmaken waar ik dan de "starttijd" en "eindtijd" ingeef "jaar-maand-dag-uur-minuut-seconde" of moet ik zo'n stukje code van op 1 van die 2 links invoegen in bovenstaande code?


mijn "kennis" van website's is beperkt tot de simpele html... html vind ik veel gemakkelijker omdat ik daar ook een zekere "structuur" in terug vind, maar php is voor mij hopeloos omdat ik er gewoon geen structuur inzie...
win4ever
WMS Fan
Berichten: 33
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#5797
Re:wedstrijd automatisch starten en afsluiten 3 Jaren, 7 Maanden geleden Karma: 0
Ik ontdekte een vette fout in m'n script. Ik heb het even veranderd:
Code:

<?php
if ($start > $stop) {
$timer = 'Ongeldige start en eind datum opgegeven.';
} elseif (time() > $stop) {
$timer = 'Helaas, deze wedstrijd is afgelopen. De winnaars worden zo spoedig mogelijk bekend gemaakt op deze pagina. Binnenkort starten we opnieuw met een nieuwe wedstrijd.';
} else {
if (time() > $start) {
$interval = $stop - time();
$timer = ' om deel te nemen.';
} else {
$interval = $start - time();
$timer = ' tot de wedstrijd start.';
}

$timer = 'Nog ' . (($days = (int) abs($interval / 86400)) > 0
? ($days . ' ' . ($days > 1 ? 'dagen' : 'dag'))
: ($days == 0 && ($hours = (int) abs($interval / 3600)) > 0
? $hours . ' ' . ($hours === 1 ? 'uur' : 'uren')
: (($minutes = (int) abs($interval / 60)) > 0
? $minutes . ' ' . ($minutes === 1 ? 'minuut' : 'minuten')
: $interval . ' ' . ($interval === 1 ? 'seconde' : 'seconden')))) . $timer;
}
echo '<strong>' . $timer . '</strong>';
?>



Een timestamp is heel simpel te maken. Deze code moet voor zichzelf spreken:
Code:

<?php
$timestamp = strtotime('16 jun 2008 16:40:08'); // Dit kun je dus als $start of $stop gebruiken
?>



Hier nog een tutorial over timestamps:
www.sitemasters.be/tutorials/4/1/93/PHP/...mp;amp;_Tijd_gebruik
Rik
Moderator
Berichten: 28
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#5804
Re:wedstrijd automatisch starten en afsluiten 3 Jaren, 7 Maanden geleden Karma: 0
bedankt, ik ben net thuis van mijn werk en ga die link straks eens bestuderen.

dat onderste stukje is duidelijk ja

het bovenste deel bevatten stukken die ik begrijp, maar om zelf zo'n code te schrijven is het iets te moeilijk voor me.

gelukkig kunnen we nog rekenen op hulp van anderen zodat ook onze website's er telkens op verbeteren


bedankt !
win4ever
WMS Fan
Berichten: 33
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#5810
Re:wedstrijd automatisch starten en afsluiten 3 Jaren, 7 Maanden geleden Karma: 0
Ik heb dit nu succesvol toegevoegd aan mijn wedstrijdpagina op volgende url : http://www.kbof-wvl.be/wedstrijdformulier.php

Maar het is niet 100% zoals ik het bedoelde : nu krijg je wel de melding, maar ik bedoelde een manier dat ook het formulier zelf "opend" en "afsluit" zodat men enkel tijdens de wedstrijdperiode zelf hun deelname kan inzenden...

nu kan men ook vooraf en nadien nog het formulier invullen...

misschien kan ook ineens de wedstrijdvraag en schiftingsvraag op die manier "verschijnen" bij aanvang en "verdwijnen" bij afsluiten...




in het kort :

als wedstrijd nog niet actief is :
  • De melding zoals nu toegevoegd die afteld tot begin wedstrijd

  • tekst bij wedstrijdvraag = De wedstrijd is nog niet actief

  • tekst bij schiftingsvraag = De wedstrijd is nog niet actief

  • invulformulier onzichtbaar



als wedstrijd wel actief is :
  • De melding zoals nu toegevoegd die afteld tot einde wedstrijd

  • tekst bij wedstrijdvraag = de vooraf ingevulde wedstrijdvraag die automatisch zichtbaar wordt tijdens wedstrijdperiode

  • tekst bij schiftingsvraag = de vooraf ingevulde schiftingsvraagvraag die automatisch zichtbaar wordt tijdens wedstrijdperiode

  • [li]invulformulier zichtbaar[li]

    Als de wedstrijd afgelopen is :
  • De melding zoals nu toegevoegd die meedeeld dat de periode voorbij is en de winnaars binnenkort bekend gemaakt worden

  • tekst bij wedstrijdvraag = Deze wedstrijd is afgelopen

  • tekst bij schiftingsvraag = Deze wedstrijd is afgelopen

  • invulformulier onzichtbaar




of is zoiets een grote aanpassing???
win4ever
WMS Fan
Berichten: 33
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
Laatste Wijziging: 17/06/2008 08:53 Door Rik.
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
Ga naar bovenkantPagina: 12
Moderators: Rik, Roy