Avatar billede jkampmann Nybegynder
21. december 2007 - 12:07 Der er 14 kommentarer og
1 løsning

Kun deltage én gang om dagen laver fejl

Hejsa. Jeg fik tideligere hjælp til et script, hvor besøgende kun kan besøge en hjemmeside én gang om dagen. Det virkede fint i går, men i dag laver den kage i det.. ? Hvad er årsagen til dette?

$decode er f.eks 1 eller 4 eller noget.. (id)

http://pastebin.com/m54405320
Avatar billede jkampmann Nybegynder
21. december 2007 - 12:14 #1
Problemet er, at den giver brugern points selvom den er i databasen.. Det må være noget med min tid, der ergner forkert - men jeg dårlig til det, er det nogle hjælpsomme sjæle?
Avatar billede erikjacobsen Ekspert
21. december 2007 - 12:51 #2
Den vender da vist forkert:

  if ( mysql_num_rows ( $tjek ) == 0 )
Avatar billede erikjacobsen Ekspert
21. december 2007 - 12:52 #3
Du siger: Hvis der ikke er nogle rækker, så kig på tidspunktet i rækken.
Avatar billede jkampmann Nybegynder
21. december 2007 - 12:57 #4
det virker stadig ikke :S

if ( mysql_num_rows ( $tjek ) == 0 )
{

    if ( date("Ymd") != date("Ymd", $row['tid']))
    { 
        mysql_query("UPDATE brugere SET points = points+$points[points] WHERE id = " . $_SESSION['brugerid'] . "");

        include("funcs/Logfiler.php");
        Logfile("Du har besøgt en hjemmeside", "+", $_SESSION['brugerid'], $points['points']);

        echo "Du har nu modtaget " . $points['points'] . " på din konto. Besøg denne side i morgen igen og få points";

    } else {
        echo "Du har allerede besøgt denne side i dag. Kom igen i morgen!";
    }
} else {
      /** Brugeren blev ikke fundet i tabellen. Derfor indsæt til tabellen og giv ham points **/

      mysql_query("INSERT INTO hjemmeside_log (tid, kampagneid, userid) VALUES ('" . time() . "','" . $decode . "','" . $_SESSION['brugerid']. "')") or die(mysql_error());
      mysql_query("UPDATE brugere SET points = points+$points[points] WHERE id = " . $_SESSION['brugerid'] . "") or die(mysql_error());

      echo "Du har nu modtaget " . $points['points'] . " på din konto. Besøg denne side i morgen igen og få points";
}
Avatar billede jkampmann Nybegynder
21. december 2007 - 12:59 #5
Hvordan skal den så være? Læste din besked forkert.

!= 0 ?
Avatar billede jkampmann Nybegynder
21. december 2007 - 13:00 #6
ved != virker det stadig ikke.
Avatar billede jkampmann Nybegynder
21. december 2007 - 13:01 #7
Den skal vel også på en eller anden måde, kun hente fra den dag i dag? Eller?

$tjek = mysql_query("SELECT id, tid FROM hjemmeside_log WHERE userid = " . $_SESSION['brugerid'] . " AND kampagneid = " . $decode . "") or die(mysql_error());
Avatar billede jkampmann Nybegynder
21. december 2007 - 13:09 #8
Dette ser ud til at virke..

if ( mysql_num_rows ( $tjek ) != 0 )
{
    $row = mysql_fetch_assoc ( $tjek );

    if ( date("Ymd") == date("Ymd", $row['tid']))
Avatar billede jkampmann Nybegynder
21. december 2007 - 13:13 #9
Kan det passe?
Avatar billede erikjacobsen Ekspert
21. december 2007 - 15:07 #10
Rettelsen til != ser da rigtig nok ud. Om der er andre fejl, finder du selv ud af.
Avatar billede jkampmann Nybegynder
22. december 2007 - 13:31 #11
erik, ja, men hvad så hvis man har besøgt siden 2 gange.. så er man 2 gange i databasen.. så tjekker den jo ikke det nyeste tid?

Skal vel lave en WHERE tid > ???? eller noget i $tjek som siger fra i dag?
Avatar billede erikjacobsen Ekspert
22. december 2007 - 18:55 #12
Kan det være du har glemt at ændre datoen i tabellen, når brugeren stemmer igen?
Avatar billede jkampmann Nybegynder
20. februar 2008 - 09:52 #13
Ja, smid svar
Avatar billede erikjacobsen Ekspert
20. februar 2008 - 10:42 #14
Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.
Avatar billede jkampmann Nybegynder
10. marts 2008 - 11:35 #15
Ok
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