Avatar billede phpn00b Nybegynder
07. maj 2006 - 00:33 Der er 4 kommentarer og
1 løsning

Lave et Pointspil i PHP og MySQL

Hvordan laver man sådan at får et point ved at klikke på et link, men man kan kun få det en gang om dagen? Altså hvis jeg er logget ind med brugeren Admin, også jeg klikker på linket, så får jeg et point, også skal jeg ikke kunne klikke igen, før næste dag. Også skal der også være sådan en Top10-liste, med Brugernavn og Point, er det muligt at lave?

NB! Points skal gemmes på min MySQL-Server
Avatar billede hp4 Nybegynder
07. maj 2006 - 01:06 #1
Yes sir. du har spurgt den rigtige ;)

Jov det kan godt lade sig gøre, men siden du spørger går jeg ud fra at du ikke kender så meget til php/mysql er det rigtigt?


Der skal et længere script til at kunne få det til at fungere, men jeg kan give nogle hints:

Til log on systemet skal du bruge sessions til at sørge for at brugeren ikke bare ligepludslig er logget af...
Sessions husker på ting og sager fx.
$_SESSION["navn_på_session"] ="Dens værdi";

$_SESSION["navn"]="Jens";
echo $_SESSION["navn"];

husk at starte session i toppen af alle dine dokumenter du bruger sessions på :
session_start();


Til at man kun kan klikke på et link 1 gang om dagen vil jeg nok lave et felt i din mysql database til at indeholde data om brugeren har klikket eller ej.

fx:
Tabellen profiler indeholder fx. disse rækker (rows):
id
brugernavn
kode
rank
har_han_klikket
tid_han_klikkede
klik_point


Til din top 10 liste skal du bruge en mysql_query, jeg ville lave den sådan her:
mysql_query("SELECT * FROM navn_paa_tabellen ORDER BY `id` DESC LIMIT 0.10")or die(mysql_error());


NB:
til dit klikke system sådan man kun kan klikke en gang om dagen kan du lave sådan en her mysql_query:
Når han klikker på linket har du sat nogle if sætninger sådan at denne mysql_query bliver udført.
mysql_query("UPDATE navn_paa_tabelen SET har_han_klikket='ja'")or die(mysql_error());


men en if sætning tjekker du hvor lang tid siden det er han har klikket sådan her fx.
(her oppe til en connect og while ting side)
if($data[tid_han_klikkede] == time()-8640){
mysql_query("UPDATE navn_paa_tabelen SET har_han_klikket='nej'")or die(mysql_error());

Håber du kunne fårstå lidt af det ;)

Og hvis du er ny til det skal du ikke lade dig skræmme af alle mine ord/forklaringer/kode det ser svært ud, men det er det ikke du skal bare læse lidt her og der til sidst fatter du det.. ;)
Her er en god engelsk tutorial: http://www.tizag.com/mysqlTutorial/index.php (den lærte jeg da en del af)

//hp4
Avatar billede phpn00b Nybegynder
07. maj 2006 - 01:35 #2
Jeg er ikke ny :)

Men kan du lave det for mig, istedet for at give hints?
Avatar billede phpn00b Nybegynder
07. maj 2006 - 01:51 #3
hov, jeg er rimelig ny :D Men kan en del
Avatar billede hp4 Nybegynder
07. maj 2006 - 09:07 #4
hmm, jeg kan nok godt lave noget af det for dig, men så vil det komme til at tage 2 - 3 måneder fordi jeg selv er igang med et projekt ;) (svaret er nej), men jeg kan godt hjælpe dig, hvis du bare laver noget af det og du så får fejl så bare skriv til mig på msn daniel@hp4.dk

:D
Avatar billede phpn00b Nybegynder
23. maj 2006 - 12:24 #5
luk
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