Avatar billede cigaretten Nybegynder
16. august 2007 - 23:30 Der er 14 kommentarer

deltag en gang om dagen

hvordan laver jeg sådan at man kun kan deltage i en konkurrence hver dag? søger idien til at lave det.. så klare jeg selv programmeringen.. gerne kom med lidt start til hvordan det kunne laves.
håber i kan hjælpe.. cigaretten
Avatar billede cigaretten Nybegynder
16. august 2007 - 23:45 #1
det skal ikke foregå via cookies da jeg har mange "links", som man ikke må klikke på flere gange om dagen..

altså det skal gøres va noget kode eller mysql (date.. whatever) fordi ellers vil den sætte flere hundrede cookies med "kon13" => "1919191", "kon15" => "838383"
hvor kon er cookie navnet og "13" og "15" er idét på konkurrencen..

det skal gøres på en anden måde end lige cookies hvis i forstår!
Avatar billede erikjacobsen Ekspert
17. august 2007 - 00:19 #2
"man" - hvordan definerer du "man", altså personen der kun må deltage een gang. Du har fat i et af de store, og rimeligt uafklarede mysterier i verden, sådan på linie med om der er liv på Mars. Cookies, IP-numre, registrerede brugere med login ... ingen rigtigt gode løsninger.
Avatar billede cigaretten Nybegynder
17. august 2007 - 00:22 #3
vil baer have sådan man kun kan klikke på et link ee gang om dagen.. deltage i de forskellige konkurrencer (1 gang pr. konkurrence pr. dag)
selve scriptet til det, for skal bruge det mange steder.. håber det gav lidt mere info!!
Avatar billede erikjacobsen Ekspert
17. august 2007 - 00:26 #4
Nej, for hvordan vil du identificere personen, der klikker - eller i det mindste maskinen. Der er ingen god løsning, og du er den eneste der kan vælge blandt de dårlige.
Avatar billede cigaretten Nybegynder
17. august 2007 - 00:31 #5
$_SESSION['brugernavn']
Avatar billede cigaretten Nybegynder
17. august 2007 - 00:48 #6
ville dette virke?

$tid = date("ymd", time());
$cookie = "kon".$_GET['i'];

if  ($_COOKIE[$cookie] == $tid)
{
  echo"Du kan ikke gøre _DETTE_ mere i dag";
} else {
  setcookie ("kon".$_GET['i']."", $tid, time()+ 60 * 60 * 24);
  echo"Du kan godt gøre _DETTE_ i dag";
}

vil den så sige "Du kan godt gøre dette i dag" når klokken bliver 00:46 igen???
Avatar billede old-faithful Praktikant
17. august 2007 - 03:08 #7
Du kan vel bare sætte en cookie til at udløbe ved time()+86400. Så checker du om den er udløbet via fx isset().

Du kan med fordel læse om cookies her: http://w3schools.com/php/php_cookies.asp
Avatar billede simsevu Juniormester
17. august 2007 - 08:12 #8
old-faithful > han sagde UDEN cookies til at state med?
Avatar billede erikjacobsen Ekspert
17. august 2007 - 08:31 #9
Ja, du kan gøre det ca. på den måde du skitserer, men så har du jo cookies. Men man kan jo alligevel stemme mere end een gang: ved at slette cookierne, ved at bruge 3-4 forskellige browsere, ved at at bruge flere brugernaven på samme maskine, ved at bruge flere maskiner.
Avatar billede old-faithful Praktikant
17. august 2007 - 12:11 #10
Hovsa, det indlæg havde jeg overset! :-D
Avatar billede cigaretten Nybegynder
17. september 2007 - 15:17 #11
okay, kan i så komme med et andet eksempel på det, uden cookies, for det kan åbenabrt snydes mange gange!?
Avatar billede erikjacobsen Ekspert
17. september 2007 - 15:19 #12
Jamen, det er dig, der skal vælge blandt de dårlige løsninger. Som tidligere spurgt: hvordan definerer du "man"?
Avatar billede cigaretten Nybegynder
17. september 2007 - 15:20 #13
at brugeren i communitiet kun kan deltage i en konkurrence een gang om dagen.

gerne noget sikkert mysql.. har ingen idee derfor jeg håber i kunne hjælpe mig på sporet
Avatar billede erikjacobsen Ekspert
17. september 2007 - 15:48 #14
"brugeren i communitiet" så har du et login, og så gemmer du i databasen hvem der har svaret hvad hvornår. Det forhindrer så vel ikke at han opretter sig flere gange.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester