Avatar billede emma-sofie Nybegynder
10. september 2004 - 11:24 Der er 168 kommentarer og
1 løsning

Gætte resultat på fodboldkamp SCRIPT

Hej Alle

Jeg er blevet stillet overfor en spændende ASP-opgave, som jeg godt kunne tænke mig lidt hjælp til.

På vores fodboldafdelingshjemmeside, skal det være muligt at gætte resultatet af ugens kamp og hvis man gætter rigtigt, skal man så få nogle point.
Man skal angive sit navn (+ evt. kode/email) således at man uge efter uge, kan gå ind og tippe på ugens kamp.

Jeg forestiller mig arbejdsgangens vil være således:

1.
Lave DB der indeholder alle kampe.
2.
Fremvise disse kampe på en side.

3.
Bruger skal logge sig ind (registreres i DB).
4.
Skal kunne klikke på den kamp han ønsker at gætte resultat på.
5.
Angive sit gæt som gemmes.

6.
Ved bestemt klokkeslæt (kampstart), skal det ikke længere være muligt at gætte.

7.
Efter kampen angiver administrator det rigtige resultat i DB.

8.
"Systemet" tjecker om nogen har vundet og tildeler i givet fald disse brugere 1 point.

9.
En High-Score liste kan fremkaldes, så man kan se de bedste "gættere"



Jeg syntes selv det er en fremragende idé - Tror I der er noget jeg har glemt i ovenstående arbejdsproces ??
Ellers vil jeg til at kaste mig ud i det, forhåbentlig med lidt hjælp fra jer....Er der nogen hajer der vil hjælpe ;-) ??

Jeg er ikke en ørn til ASP, men tror I ikke det er muligt aligevel ?? - Eller skal jeg betale mig fra det ??


Hvad siger I ?? - Syntes I ikke det lyder som en spændende opgave.
Hvis jeg kan få den lavet færdig, kan jeg ud over selv at bruge den, forære scriptet til alle andre fodboldklubber - som så også kan bruge den på deres side.

Tak
Avatar billede fennec Nybegynder
10. september 2004 - 11:32 #1
Det ser nogenlunde ud. Det vigtigste er at lave databasen rigtigt. Så bliver punkt 8 og 9 nemlig nemme. Jeg arbejder lige på en ide...

.. og du skulle nok kunne klare det selv.
Avatar billede emma-sofie Nybegynder
10. september 2004 - 11:34 #2
Wauvv ;-) Lyder godt
Avatar billede fennec Nybegynder
10. september 2004 - 11:45 #3
Jeg ville lave databasen sådan her. Nu ved jeg ikke hvilken database du bruger, men i Access ser det sådan ud:

Bruger:
id = autonummer
navn = tekst
brugernavn = tekst
adgangskode = tekst
email = tekst
.. evt andre oplysninger (tlf, add...)

Kampe:
id = autonummer
kamp = tekst
start = dato og klokkeslet
resultat1 = tal (default NULL)
resultat2 = tal (default NULL)

brugerGaet:
brugerid = tal
kampId = tal
resultat1 = tal
resultat2 = tal
Avatar billede emma-sofie Nybegynder
10. september 2004 - 11:49 #4
Jeg kan kun Access.
Det vil sige 3 tabeller, ikke ?
Avatar billede fennec Nybegynder
10. september 2004 - 11:53 #5
Jo.
Og lidt data, så du evt kan se sammenhæng/mening med det.

bruger:
1, "Henrik", "fennec2, "EtPassWord", "EnMail" ...osv.

Kampe:
1, "by 1 mod by 2", 10-09-2004 10:00, 2, 0
2, "by 3 mod by 4", 10-09-2004 18:00, NULL, NULL

brugerGaet
1,1,2,0
1,2,1,1
Avatar billede emma-sofie Nybegynder
10. september 2004 - 12:14 #6
Tak.
Sådan, så tror jeg DB er klar.
Nu laver jeg en .asp side, som henter og viser de indlagte kampe.
Ud for hver kamp vil jeg så lave et link man kan trykke på.
Her skal man så kunne angive navn+kode samt resultatet -> som så bliver lagret i DB'en..

Ikke - Tror du ikke det er vejen frem ??

(Vil lige være helt sikker ;-)
Avatar billede fennec Nybegynder
10. september 2004 - 12:31 #7
Du kan jo starte på den måde (simpelt). Senere kan du så lave et login system, hvor den enkelte bruger kan se sine kampe, og evt ændre sine gæt. Men start simpel, så det kommer til at virke.

Du skal bruge lidt avanceret SQL-sætninger til at trække point ud, men jeg har lavet et par eks til dig.

Topliste:
SELECT bruger.navn, count(*) as point
FROM bruger, brugerGaet, Kampe
where bruger.id = brugerGaet.brugerid and brugerGaet.kampId = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 and Kampe.resultat2 = brugerGaet.resultat2
group by bruger.navn
order by count(*) desc

Så får du navne med point sorteret i faldende orden

Næsten den samme bruges hvis du vil have point for en enkelt bruger. Der skal bare et bruger id med som betingelse, også behøver vi ikke bruger navnet.

SELECT count(*) as point
FROM brugerGaet, Kampe
where brugerGaet.kampId = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 and Kampe.resultat2 = brugerGaet.resultat2 and brugerGaet.brugerid = 1
Avatar billede emma-sofie Nybegynder
10. september 2004 - 12:36 #8
Dejligt...Jeg arbejder videre med dit materiale.

Enig - Simpelt i starten for at få det til at virke ;-)

Mange Tak ;-)
Avatar billede fennec Nybegynder
10. september 2004 - 12:45 #9
En lille bemærkning. Det er vigtigt at resultaterne i Kampe er NULL (tom) hvis kampen ikke er spillet. De må ikke være 0. Ellers får brugere point hvis de gætter på et 0-0 resultat, selv om kampen ikke er spillet endnu. Det er derfor jeg satte default værdien til NULL. Så nu ved du hvorfor....

Bare sig til hvis du løber på problemer. Jeg smutter snart, men jeg skal nok holde øje med ? i weekenden.
Avatar billede emma-sofie Nybegynder
10. september 2004 - 12:55 #10
Tak Tak Tak - Håber du overlever mit ikke så hurtige asp tasteri

Ja, jeg vender tilbage i week-end'en og nok også senere... ;-) Tak for det.

Lige nu har jeg fået oversigten frem og skal så lave siden, som skal linke sammen med den aktuelle kamp - og hvor man så angiver sit resultat, der bliver knyttet til ens navn samt den valgte kamp.

;-)
Avatar billede emma-sofie Nybegynder
10. september 2004 - 13:24 #11
Woww.. det bliver vist en lang week-end ->
Hvordan er det lige jeg tilknytter et link til en bestemt kamp, således at jeg kan indtaste gættet samt eget navn ??

Jeg kan ikke lige få det til at funge... Jeg skal nok lige have et par hints....

;-) Tak
Avatar billede fennec Nybegynder
10. september 2004 - 20:42 #12
Så længe du holder det simpelt, ville jeg gøre sådan:

<%
if request.querystring("mode") = "save" then
  conn.execute("insert into brugerGaet(brugerid,kampId,resultat1,resultat2) values("& request.form("BrugerID") &","& request.form("KampID") &","& request.form("res1") &","& request.form("res2") &")")
  response.redirect("Denneside.asp")
end if
%>
<form name="MyForm" method="post" action="denneSide.asp?mode=save">
Bruger: <select name="BrugerID">
<% set rs = conn.execute("select * from brugere order by name")
  do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("name") %>
<%  rs.MoveNext
  loop %>
</select>
<br>
Kamp: <select name="KampID">
<% set rs = conn.execute("select * from kampe order by start")
  do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("kamp") %>
<%  rs.MoveNext
  loop %>
</select>
<br>
resultat: <input type="text" name="res1"> - <input type="text" name="res2">
<input type="submit" value="gem">
</form>

Når du så engang får lavet et login system, hvor du gemmer brugerens id i en session, udskifter du bare <select name="brugerid"> med et hidden felt af samme navn med session id'et som value.
Avatar billede emma-sofie Nybegynder
11. september 2004 - 02:02 #13
Mange Mange tak.

Her er lige link til min arbejdsside:
http://www.asgi.dk/fodbold/resultat/start.asp
(Ja Ja - det går ikke så hurtigt.....)

Kan man ikke gøre således, at hver gang man gætter, skal den helst overskrive ens gamle resultat - ellers kan man jo lave mange gæt....

Jeg forstod vist godt det du skrev med login systemet - syntes du jeg skal prøve at lave det nu ?? ( i morgen ;-) )

Tak - og Godnat ;-)
Avatar billede emma-sofie Nybegynder
11. september 2004 - 19:03 #14
Hej Fennec. Er lige ved at få link på seperat kamp til at virke. Jeg melder tilbage.
Avatar billede hojben Novice
11. september 2004 - 19:09 #15
Umiddelbart ser det hele ud til at virke.. Du skal nok bare fjerne adgangen til selv at indtaste kampe.. (Se United - Arsenal)
Avatar billede emma-sofie Nybegynder
13. september 2004 - 00:20 #16
Hej Fennec og jer andre....
Min start.asp side er blot lavet for at samle alle de forskellige scripts jeg laver.... Ja Ja, jeg ved godt det ikke er noget særligt. Men jeg syntes det er meget fint at få dem samlet.

Jeg syntes jeg kan fornemme, at dette resultatscript bare bliver rigtig godt...Layout og alt det andet, det skal jeg nok selv rode med ;-)

Vedrørende brugerens forside, så kan man nu trykke på det nederste link ("Gæt resultat, men ved klik på enkelt kamp"). Har har jeg fået styr på, at sende selve kampens id videre, men jeg har lidt problemer med at få det vist på gætte siden, i stedet for den tidligere "Select" boks....
(det er garanteret intet problem at løse for jer...)

Mit script ser således ud:
<!--#include file="resultatconnection.asp"-->
<html><head>
<h2>Gæt resultatet af en kamp:<br><br></h2>
</head>
<body>
<%
if request.querystring("mode") = "save" then
  conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
  response.redirect("denneside.asp")
end if
%>
<form name="MyForm" method="post" action="denneside2.asp?mode=save">
Bruger: <select name="brugerid">
<% set rs = conn.execute("select * from bruger order by navn")
  do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("navn") %>
<%  rs.MoveNext
  loop %>
</select>
<br>
Kamp:
<% strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = strID"
Set rs = Conn.Execute(strSQL) %>
<br>
resultat: <input type="text" name="res1"> - <input type="text" name="res2">
<input type="submit" value="gem">
</form>
</body>
</html>
Avatar billede emma-sofie Nybegynder
13. september 2004 - 00:24 #17
Jeg havde også en del problemer, da jeg skulle lave siden, der viste alle de "gættede" resultater - der blev jeg nødt til at lave en "Forespørgsel" i Access med blanding af de andre tabeller. Det var noget være roderi, men jeg tror det lykkedes til sidst - se mit eksempel.

Men hvad siger du - Er det måden at gøre det på ???

Endnu engang tak for opmærksomheden og fortsat god dag / aften...  ;-)
Avatar billede fennec Nybegynder
13. september 2004 - 08:19 #18
strSQL = "Select * From kampe where id = strID"

er forkert. Skal være:
strSQL = "Select * From kampe where id = "& strID
Avatar billede emma-sofie Nybegynder
13. september 2004 - 08:50 #19
Super - Godt at høre fra dig.

Jeg skal jo også lige have skrevet kampen ud, er det ikke:
Kamp:
<% strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Response.Write ID("kamp")
Set rs = Conn.Execute(strSQL) %>

Hmmmm...Det er det ikke. Det er en eller anden Response.Write funktion, men min konstant er vist forkert......

Rigtig God Morgen  ;-)
Avatar billede fennec Nybegynder
13. september 2004 - 08:57 #20
<% strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
end if
%>

så gemme vi også KampID'et i et hidden felt i stedet for at bruge en selectbox.
Avatar billede emma-sofie Nybegynder
13. september 2004 - 09:08 #21
Jamen - Det så let ud, da du skrev det.... ;-)  ;-)

Hvad så nu Fennec - Hvad skal jeg nu gøre ?? (det er lidt bedre at du lige rådgiver)

Er det tid til log-on script nu ?

Eller scriptet til at give brugerne point ?? (wauvv-den bliver vist svær...)

.......og endnu engang tak.
Avatar billede fennec Nybegynder
13. september 2004 - 09:34 #22
Du kan jo begynde på et login script, og begynde at bruge login-informationerne i stedet for bruger-dropdown. Du får nu et par sider, hvor man skal være logget ind, for at man må kunne se dem (f.eks gæt siden). Med en simpel include fil kan du sende folk til forsiden, hvis de ikke er logget ind. Den smider du så på alle sider, hvor det er aktuel.

CheckLogin.asp:
<%
if trim(session("BrugerID")&"") = "" then
  response.redirect("DinForside.asp?errKode=1")
  response.end
end if
%>

Jeg har også sendt en errKode med så du har mulighed for at fortælle brugeren hvad der er galt.

if request.querystring("errKode") = "1" then
  response.write "Du er ikke logget ind"
elseif request.querystring("errKode") = "2" then
  'En anden fejl-besked
end if
Avatar billede emma-sofie Nybegynder
13. september 2004 - 14:07 #23
Arh !!! Nu har jeg siddet og fedtet med det her Log-In script i 100 år.... Jeg kan ikke få det til at virke...

MEN - Jeg vil gerne bruge din hjælp til noget af det mere svære/vigtige - så jeg opretter lige et lille spørgsmål med mine login problemer. Jeg vender tilbage når jeg har fået styr på det.
Avatar billede emma-sofie Nybegynder
13. september 2004 - 16:47 #24
Okay - Så er LOGIN scriptet nogenlunde færdigt - se: http://www.eksperten.dk/spm/539203 Tak for det

Stort Spørgsmål:
Hvordan kalder jeg nu brugerens navn frem på "Gæt-resultat" siden, i stedet for dropdown menuen ???
Avatar billede emma-sofie Nybegynder
13. september 2004 - 16:49 #25
Jeg mener:
Det skal vel være således, at hvis man vil gætte på et resultat, klikker man på: "Gæt" og hvis man så ikke er logget ind, skal man til login siden og hvis man allerede er logget ind, skal man bare direkte til "Gætresultat" siden !!
Avatar billede emma-sofie Nybegynder
13. september 2004 - 16:53 #26
Jeg har set kommentaren fra dig:
Når du så engang får lavet et login system, hvor du gemmer brugerens id i en session, udskifter du bare <select name="brugerid"> med et hidden felt af samme navn med session id'et som value.

Men hvad så i LogIn scriptet's CheckLogin.asp side ???

Det er altså svært....Hmm - Håber du har tid...  ;-)
Avatar billede hojben Novice
13. september 2004 - 16:59 #27
brugernavn: oleolsen3
password  : kode3
Virker ikke :( så jeg ved ikke om der alligevel er en fejl?
(Hentede din DB og kiggede på brugernavnene ;))

Hvis man under indtastning af målscore undlader at indtaste i et eller begge felter og trykker send får du en fejl. Måske du skal sikre dig imod dette?
Avatar billede hojben Novice
13. september 2004 - 17:01 #28
ingen af brugernavnene virker?? eller er det bare mig?
Avatar billede emma-sofie Nybegynder
13. september 2004 - 17:14 #29
Kære Højben - Siderne er oppe nu på det niveau jeg kan.
Jeg venter på Fennec's svar på mine ovenstående spørgsmål, før jeg går videre...
Hav en God Dag
Avatar billede hojben Novice
13. september 2004 - 17:21 #30
Emma, det var såmænd ikke ment som kritik og jeg tar da absulut også hatten af for dig at du går i gang med at programmere i ASP (selv synes jeg det er ret tricky)

Og mine kommentarer er kun til fremtidigt brug.. :)
Avatar billede fennec Nybegynder
13. september 2004 - 17:50 #31
Jeg gå ud fra at det er "Gæt resultat, men ved klik på enkelt kamp" (denneside2.asp) du vil arbejde vidre med.
Du skal altså have din CheckLogin.asp includeret i toppen af siden. Du kan evt også have den på viskampeplus2.asp, så man bliver advaret tidligere, om at man skal logge ind.

Ellers skal du bare udskifte din dropdown med et hiddenfelt:

Bruger: <select name="brugerid">
<% set rs = conn.execute("select * from bruger order by navn")
  do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("navn") %>
<%  rs.MoveNext
  loop %>
</select>

Bliver så til:
Bruger: <%= session("Brugernavn") %>
<input type="hidden" name="brugerid" value="<%= session("BrugerID") %>">

Hvis du ikke gemmer brugernavnet i en session kan det selvfølgelig også trækkes ud af databasen.
Avatar billede emma-sofie Nybegynder
13. september 2004 - 18:30 #32
Endnu engang perfekt.Alt virker.
MEN - SE LIGE DETTE:
Når man vil gætte, skal man først forbi Login siden.
CheckLogin.asp:
...................
<%@ Language=VBScript %>
<% response.buffer = true %>
<HTML>
<HEAD></HEAD>
<BODY>
<%
set objForb = Server.createobject ("ADODB.connection")
tmpconn = "Driver={Microsoft Access Driver (*.MDB)}; DBQ=D:\Websider\resadmin\db\resultat.mdb;UID=;PWD=;"
objForb.open tmpconn
%>
<%
navn = Ucase(Request("navn"))
adgangskode = Ucase(Request("adgangskode"))

Dim strSql, obj

set objRec = objForb.Execute ("SELECT * FROM bruger WHERE navn ='" & navn & "' AND adgangskode = '" & adgangskode &"'")

IF objRec.EOF THEN
  Session("loginerr")="Forkert brugernavn eller adgangskode<br>"
  Response.Redirect "login.asp"
ELSE
  Session.timeout = 20
  Session("login") = TRUE
  Session("level") = objRec("level")
  Session("BrugerID") = objRec("id")
  Session("BrugerNavn") = objRec("navn")
 
END IF

if objRec("level") = "1" then
  Response.Redirect "side1.asp"
end if
if objRec("level") = "2" then
  Response.Redirect "side2.asp"

else
  Response.Redirect "side4.asp"
end if

objRec.close
objForb.close
set objRec = Nothing
set objForb = Nothing
%>
</BODY>
</HTML>
.......................
Her skal linket til side1.asp jo også ændres, så ens bruger tages med - ikke ??
Avatar billede emma-sofie Nybegynder
13. september 2004 - 23:37 #33
Jeg tror jeg har lavet den nu !!

Alle kampe vises, der kan klikkes på kamp hvis man vil gætte. I toppen er angivet, om man er logget ind eller ej. Ønsker man at gætte, SKAL man forbi Log-In siden.

Hvad siger I - I må meget gerne teste løs.....

Ser det ikke fint ud Fennec ? - Hvad syntes du som rådgiver vi skal nu ??
- er det scriptet til at give brugerne point ??
Kunne det være godt, hvis jeg samlede det hele i en zip fil ??

Til Hojben:
Min bemærkning var skam ikke ment negativt - du er meget velkommen til at følge med og teste løs....Måske kan vi, i den sidste ende få lavet scriptet så godt, at mange andre fodboldklubber vil kunne få glæde af det....

Jeg er blot dybt taknemmelig for Hr. Fennec's hjælp, for det er vist i den kommende proces at jeg står af.....
Avatar billede fennec Nybegynder
14. september 2004 - 09:14 #34
Det ser fint ud, men man kan "hacke" dit login. Ofte kan man gætte navne på kolonnerne i databasen, og det giver visse muligheder for at få adgang, hvis man ikke spærre for brugen af ' tegnet.

prøv f.eks dette login:
navn: ' or navn like '&&
pass: ' or adgangskode like '%%

Du kan dig nemt løse problemet, ved at udskifte ' med ''. Så opfatter databasen det ikke som tekstafslutning, men som et ' i teksten.

navn = replace(Ucase(Request("navn")),"'","''")
adgangskode = replace(Ucase(Request("adgangskode")),"'","''")

Til at finde en brugers point / top liste har jeg givet dig 2 sql-sætninger i post "10/09-2004 12:31:40", men her er en fuld kode til topliste. Du kan evt smide "select TOP 10 bruger.navn....." ind, så du kun får de bedste 10 brugere.

topliste:
set rs = conn.execute("SELECT bruger.navn, count(*) as point FROM bruger, brugerGaet, Kampe where bruger.id = brugerGaet.brugerid and brugerGaet.kampId = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 and Kampe.resultat2 = brugerGaet.resultat2 group by bruger.navn order by count(*) desc ")
counter = 1
response.write "<table>"
do while not rs.eof
  response.write "<tr><td>"& counter &"</td><td>"& rs("point") &"</td><td>"& rs("navn") &"</td></tr>"
  counter = counter + 1
  rs.MoveNext
loop
response.write "</table>"
Avatar billede emma-sofie Nybegynder
14. september 2004 - 10:29 #35
Jamen, jeg er målløs... Jeg troede det ville være helt vildt indviklet med at udregne highscoreliste...  ;-)
Men perfekt - Link er indsat på http://www.asgi.dk/fodbold/resultat/start.asp

Bemærkning: Er det for svært at lave det således, at det giver 1 point, hvis man har gættet én af målcifrene og 3 point hvis man har gættet begge målcifre ??
(Det tror jeg vil være bedre, da flere vil få lidt point og dem der virkelig kan gætte det helt rigtige resultat, bliver belønnet med 3 point )

Det er bare supergodt ;-)

PS: Loginscript er rettet og en TopTi liste kommer til sidst under "smukseringen"
Avatar billede fennec Nybegynder
14. september 2004 - 10:55 #36
Jeg prøver lige at kikke på det med point. Det bliver lidt mere indviklet, men jeg har da en ide til hvordan det kan løses, så vender jeg tilbage når jeg har afprøvet den, hvis den da virker :o)
Avatar billede fennec Nybegynder
14. september 2004 - 12:10 #37
Her er den så:

select bruger.id, bruger.navn, sum(point) as pointTot from
(
SELECT 'a' as temp, bruger.id, bruger.navn, count(*) as point
FROM bruger, b2k, Kamp
where bruger.id = b2k.bid and b2k.kid = Kamp.id and Kamp.res1 = b2k.res1
group by bruger.id,  bruger.navn
union
SELECT 'b' as temp, bruger.id, bruger.navn, count(*) as point
FROM bruger, b2k, Kamp
where bruger.id = b2k.bid and b2k.kid = Kamp.id and Kamp.res2 = b2k.res2
group by bruger.id,  bruger.navn
union
SELECT 'c' as temp, bruger.id, bruger.navn, count(*) as point
FROM bruger, b2k, Kamp
where bruger.id = b2k.bid and b2k.kid = Kamp.id and Kamp.res1 = b2k.res1 and Kamp.res2 = b2k.res2
group by  bruger.id, bruger.navn)

group by id, navn
order by sum(point) desc
Avatar billede emma-sofie Nybegynder
14. september 2004 - 12:57 #38
WOUPSS...Hvordan er det lige jeg sætter den sammen med det foregående....  ;-)
Avatar billede fennec Nybegynder
14. september 2004 - 13:11 #39
For læslighedens skyld, var det måske en ide at indsætte det i en variabel først. Også glemte jeg at rette tabel navne/kolonner til.

sql = "select bruger.id, bruger.navn, sum(point) as pointTot from " &_
"("&_
"SELECT 'a' as temp, bruger.id, bruger.navn, count(*) as point "&_
"FROM bruger, brugerGaet, Kampe "&_
"where bruger.id = brugerGaet.brugerID and brugerGaet.kampid = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 "&_
"group by bruger.id,  bruger.navn "&_
"union "&_
"SELECT 'b' as temp, bruger.id, bruger.navn, count(*) as point "&_
"FROM bruger, brugerGaet, Kampe "&_
"where bruger.id = brugerGaet.brugerID and brugerGaet.kampid = Kampe.id and Kampe.resultat2 = brugerGaet.resultat2 "&_
"group by bruger.id,  bruger.navn "&_
"union "&_
"SELECT 'c' as temp, bruger.id, bruger.navn, count(*) as point "&_
"FROM bruger, brugerGaet, Kampe "&_
"where bruger.id = brugerGaet.brugerID and brugerGaet.kampid = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 and Kampe.resultat2 = brugerGaet.resultat2 "&_
"group by  bruger.id, bruger.navn) "&_
"group by id, navn "&_
"order by sum(point) desc"
set rs = conn.execute(sql)
do while not rs.eof
  'udskriv resultaterne....
  rs.MoveNext
loop

Håber jeg fik alle felter rettet :o)
Avatar billede emma-sofie Nybegynder
14. september 2004 - 13:30 #40
Øhh - Har jeg lavet en fejl.
Jeg kan ikke få den til at funge ;-)

TOPLISTE.ASP ......>

<!--#include file="resultatconnection.asp"-->
<html><head>
<br><h2>High-Score liste</h2>
<i>Der gives 1 point for at have gættet det rigtige resultat</i><br><br>
</head>
<body>

<%
sql = "select bruger.id, bruger.navn, sum(point) as pointTot from " &_
"("&_
"SELECT 'a' as temp, bruger.id, bruger.navn, count(*) as point "&_
"FROM bruger, brugerGaet, Kampe "&_
"where bruger.id = brugerGaet.brugerID and brugerGaet.kampid = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 "&_
"group by bruger.id,  bruger.navn "&_
"union "&_
"SELECT 'b' as temp, bruger.id, bruger.navn, count(*) as point "&_
"FROM bruger, brugerGaet, Kampe "&_
"where bruger.id = brugerGaet.brugerID and brugerGaet.kampid = Kampe.id and Kampe.resultat2 = brugerGaet.resultat2 "&_
"group by bruger.id,  bruger.navn "&_
"union "&_
"SELECT 'c' as temp, bruger.id, bruger.navn, count(*) as point "&_
"FROM bruger, brugerGaet, Kampe "&_
"where bruger.id = brugerGaet.brugerID and brugerGaet.kampid = Kampe.id and Kampe.resultat1 = brugerGaet.resultat1 and Kampe.resultat2 = brugerGaet.resultat2 "&_
"group by  bruger.id, bruger.navn) "&_
"group by id, navn "&_
"order by sum(point) desc"
set rs = conn.execute(sql)
do while not rs.eof

  response.write "<tr><td>Placering: "& counter &"</td><td> Point: "& rs("point") &"</td><td> Navn: "& rs("navn") &"</td></tr>"
  counter = counter + 1
  rs.MoveNext

loop
response.write "</table>"
%>

</body>
</html>
Avatar billede fennec Nybegynder
14. september 2004 - 13:43 #41
rs("point") hedder nu rs("pointTot")
Avatar billede emma-sofie Nybegynder
14. september 2004 - 14:23 #42
Hej Fennec
OK - Det burde jeg måske have set...Jeg retter lige om lidt.

Før jeg skal i gang med finpudsningen, er det sidste store problem vel:
Funktionen vedr. "Gætning" kontra "Kampstart" -> Jeg mener, man skal kunne gætte på resultat frem til kampstart og derefter skal det ikke længere være muligt - man skal have en meddelse.

Hvad siger du ? - Er det en tidsrøver ???

..:: Foreløbig Tak for Alt og fortsat god dag  ;-)  ::..
Avatar billede fennec Nybegynder
14. september 2004 - 14:36 #43
Den er ikke så svær. For det første kan du starte med at kun vise aktuelle kampe på viskampeplus2.asp siden

"select * from kampe where start > now() order by start"

Derefter (som en sikkerhed) tjekke tiden inden du gemme resultatet

set rs = conn.Execute("select * from kampe where start>now() and id="& request.form("kampID"))
if not rs.eof then
  conn.execute("insert into brugerGaet(..) values(....)")
else
  'Kampen er begyndt
end if

Der burde du måske også tjekke om man har gættet på kampen før.
Avatar billede emma-sofie Nybegynder
14. september 2004 - 14:45 #44
Hmm... Ikke så svært !! Det tror jeg nok.
Men jeg vil prøve...  ;-) Hav det godt.
Avatar billede fennec Nybegynder
14. september 2004 - 14:46 #45
I lige måde :o)
Avatar billede emma-sofie Nybegynder
14. september 2004 - 16:53 #46
Selvfølgelig - Det er jo helt genialt !! ....Det havde jeg slet ikke tænkt på.
Selvfølgelig skal man kun se de kampe man KAN spille på - og rigtigt, godt med et tjeck under selve gemme-rutinen ;-)

Men det er dér, den lige driller.
Er det ikke i min denneside2.asp fil, jeg skal erstatte nedenstående:


<% strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
end if
%>

jeg skal erstatte med:

<% strID = Request.QueryString("id")
set rs = conn.Execute("select * from kampe where start>now() and id="& request.form("kampID"))
if not rs.eof then
  conn.execute("insert into brugerGaet(..) values(....)")
else
  'Kampen er begyndt
Response.Write ("Desværre - Kampen er begyndt")
end if
%>

Til orientering ser hele den originale "denneside2.asp" fil således ud:

<%
response.buffer=true
if not Session("login") then
    response.redirect ("login/login.asp")
end if
%>
<!--#include file="resultatconnection.asp"-->

<html><head>
<h2>Gæt resultatet af en kamp:<br><br></h2>
</head>
<body>
<%
if request.querystring("mode") = "save" then
  conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
  response.redirect("visgaet.asp")
end if
%>
<form name="MyForm" method="post" action="denneside2.asp?mode=save">

Bruger: <%= session("Brugernavn") %>
<input type="hidden" name="brugerid" value="<%= session("BrugerID") %>">

<br>

<% strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
end if
%>
<br>

resultat: <input type="text" name="res1"> - <input type="text" name="res2">

<input type="submit" value="gem">
</form>
</body>
</html>
Avatar billede fennec Nybegynder
15. september 2004 - 08:20 #47
Det er den side, men det er ikke der. Det du skal tjekke er at en person ikke går ind på siden inden kampen er begynder, også venter med at skrive sit resultat til kampen er slut. Derfor skal du lave tjekket når du gemmer resultatet.

if request.querystring("mode") = "save" then
  set rs = conn.Execute("select * from kampe where start>now() and id="& request.form("kampID"))
  if not rs.eof then
    conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
    response.redirect("visgaet.asp")
  else
    'Kampen er begyndt
    Response.Write ("Desværre - Du nåede ikke at gætte inden kampen begyndte")
  end if
end if
Avatar billede emma-sofie Nybegynder
15. september 2004 - 10:39 #48
Godmorgen Fennec
JA - Selvfølgelig. Det er klart, jeg har fundet ud af hvordan det hænger sammen og hvor rettelsen skal være. Smukt.

Er du ikke enig med mig i, at man kun skal kunne gætte engang pr. kamp ?
Kunne det ikke være praktisk, at hvis man klikker på en kamp for at gætte, får man besked om, at man allerede HAR gættet, men - man kan vælge at rette resultatet.

Har du en genial løsning til dette ??
Avatar billede fennec Nybegynder
15. september 2004 - 11:04 #49
Der er 2 ting du burde gøre:

1. Du burde vise en liste af en brugers gæt så han kan se dem. Her kan han så rette sine gæt, hvis kampen ikke er begyndt (burde næsten bare være et link til denneside2.asp som det er på viskampeplus2.asp). Man skal nok kunne se sine gæt uanset hvad, samt evt resultat af kampen. Lidt ala din "vis alle gæt.." men kun brugerens egne gæt.

2. Du skal gøre opmærksom på at en bruger allerede har gættet på en kamp, når han kommer ind på denneside2.asp også indsætte det gamle gæt's resultat. Når du så gemmer, tjekker du om brugeren har gættet på kampen før, og overskriver et evt resultat. Der kan du bruge en update/insert syntax.

rowsAffected = 0
'updater et evt eksisterende gæt.
conn.execute("update brugerGaet set resultat1="& request.form("res1") &" and resultat2="& request.form("res2") &" where BrugerID="& request.form("brugerid") &" and KampID="& request.form("kampid") , rowsAffected)
if rowsAffected = 0 then
  'Brugeren har ikke gættet på kampen før.
  conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
end if

Her gør jeg brug af muligheden for at få returneret et tal, for hvor mange rækker, der blev berørt af updaten. Hvis brugeren ikke gættet på en kamp, vil updaten ikke berøre nogle rækker og rowsAffected vil stadig være 0, ellers ville den svare til antalet af rækker der er berørt.
Avatar billede emma-sofie Nybegynder
15. september 2004 - 12:05 #50
Det lyder meget logisk og fornuftigt -  ;-)
Vedrørende Punkt 1:
Jeg har lavet en visbrugersgaet.asp, der ser således ud:

<!--#include file="logincheck.inc" -->
<!--#include file="resultatconnection.asp"-->

<html>
<title>Gæt et resultat</title>
<head></head>
<body>
<h2>Oversigt over gæt der er foretaget af én person.</h2><br><br>

<%
if Session("brugernavn")<>"" Then
  Response.Write("Du er logget ind som: " & Session("brugernavn"))
  Response.Write "<br><br>"
else
  Response.Write("Du er ikke logget ind")
  Response.Write "<br><br>"

end if

strSQL = "Select * From forespoergselallegaet WHERE navn= Session("brugernavn")
Set rs = Conn.Execute(strSQL)

Do

Response.Write " <b> " & ("Bruger: ")  & " </b> "
  Response.Write rs("navn") & " <b>Kamp: </b>" & rs("kamp") & " <b> Resultat: </b>" & rs("resultat1") & " - " & rs("resultat2") & "<br>"

  rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
</body>
</html>

Det virker ikke, selvom det burde.
- Først kontrol af om man er logget ind.
- Derefter SELECT alt med den eksakte bruger.
- Til sidst en normal udskrift.

Hmmmm.. Kan du hjælpe ?  (har prøvet en del fors. SELECT muligheder) ;-(

- bagefter skal der vel ændres, så færdige kampe ses og kommende kampe tilføjes et link, så man kan rette gæt....
Avatar billede fennec Nybegynder
15. september 2004 - 12:27 #51
strSQL = "Select * From forespoergselallegaet WHERE navn= Session("brugernavn")

skal være:
strSQL = "Select * From forespoergselallegaet WHERE navn= "& Session("brugernavn")

men var det ikke bedre at køre på ID'et. Det kan jo være at der er flere brugere med samme navn.
Avatar billede emma-sofie Nybegynder
15. september 2004 - 12:33 #52
Selvfølgelig ;-)

Men er det så:
strSQL = "Select * From forespoergselallegaet WHERE brugerid= "& Session("BrugerID")

Det funger da ikke med min hjemmelavede forespørgsel.....  ???
Avatar billede emma-sofie Nybegynder
15. september 2004 - 12:36 #53
Kan det laves uden om min sikkert dårlig lavede forespørgsel i databasen....
(Den prøvede jeg jo at lave dengang jeg skulle samle kampe og gættede resultater)
Avatar billede fennec Nybegynder
15. september 2004 - 12:57 #54
strSQL = "select Kampe.*, brugerGaet.resultat1 as gaet1, brugerGaet.resultat2 as gaet2 from (Kampe inner join brugerGaet on Kampe.id=brugerGaet.KampID where brugerGaet.brugerid="& session("brugerID")
Set rs = Conn.Execute(strSQL)
do while not rs.eof
  response.write "kamp: "& rs("kamp") &"<br>"
  response.write "resultat: "& rs("resultat1") &" - "& rs("resultat2") &"<br>"
  response.write "Gæt: "& rs("gaet1") &" - "& rs("gaet2") &"<br><br>"
  rs.MoveNext
loop
Avatar billede emma-sofie Nybegynder
15. september 2004 - 14:38 #55
Hej
Den siger:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in JOIN operation.
/fodbold/resultat/visbrugersgaet.asp, line 22

På følgende visbrugersgaet.asp fil:

<!--#include file="logincheck.inc" -->
<!--#include file="resultatconnection.asp"-->
<html>
<title>Gæt et resultat</title>
<head></head>
<body>
<h2>Oversigt over gæt der er foretaget af én person.</h2><br><br>
<%
if Session("brugernavn")<>"" Then
  Response.Write("Du er logget ind som: " & Session("brugernavn"))
  Response.Write "<br><br>"
else
  Response.Write("Du er ikke logget ind")
  Response.Write "<br><br>"
end if
strSQL = "select Kampe.*, brugerGaet.resultat1 as gaet1, brugerGaet.resultat2 as gaet2 from (Kampe inner join brugerGaet on Kampe.id=brugerGaet.KampID where brugerGaet.brugerid="& session("brugerID")
Set rs = Conn.Execute(strSQL)
do while not rs.eof
  response.write "kamp: "& rs("kamp") &"<br>"
  response.write "resultat: "& rs("resultat1") &" - "& rs("resultat2") &"<br>"
  response.write "Gæt: "& rs("gaet1") &" - "& rs("gaet2") &"<br><br>"
  rs.MoveNext
loop
Conn.Close
Set Conn = Nothing
%>
</body>
</html>

-> Jeg håber du har tid til at finde fejlen.. ;-)

Jeg skal desværre til konference nu, så jeg er først tilbage i aften sent.....

Du er velkommen til at skrive forskellige løsninger/idéer - på de udestående problemer/løsninger....

Hav en god dag - Jeg glæder mig til at logge ind i aften ;-)
(du må også gerne, hvis du har tid, komme med forslag til hvordan listen ændres, så færdige kampe ses og kommende kampe tilføjes et link, så man kan rette ens gæt.... )

Vi ses ;-)
Avatar billede fennec Nybegynder
15. september 2004 - 14:44 #56
havde glemt en )

strSQL = "select Kampe.*, brugerGaet.resultat1 as gaet1, brugerGaet.resultat2 as gaet2 from (Kampe inner join brugerGaet on Kampe.id=brugerGaet.KampID) where brugerGaet.brugerid="& session("brugerID")
Avatar billede emma-sofie Nybegynder
16. september 2004 - 00:40 #57
Godaften fennec  ;-)

Jeg er tilbage og har nu siddet og fået ordnet "visbrugersgaet.asp" siden, så den kun viser gættene på den bruger der er logget ind. Helt Fint, det virker.

Nu til den anden side (denneside2.asp) - Den ser ud til at virke, MEN:
1. Når man overskriver med et nyt resultat, skriver den noget andet i databasen...(f.eks blev 6-6 til 0-5 ???) Prøv lige selv...
2. Så skulle den vel også lige gøre opmærksom på, med en besked om, at man havde gættet tidligere og så samtidig skrive ens tidligere gæt i de to resultatfelter, ikke ??

Kan du hjælpe med det ?? Jeg kan altså ikke....  ;-)
Det er nedenstående der nok skal tilrettes lidt:

DENNESIDE2.ASP
<!--#include file="logincheck.inc" -->
<!--#include file="resultatconnection.asp"-->
<html><head>
<h2>Gæt resultatet af en kamp:<br><br></h2>
</head><body>

<%
'Herunder: Der tjeckes om kamptidspunktet er afviklet
if request.querystring("mode") = "save" then
  set rs = conn.Execute("select * from kampe where start>now() and id="& request.form("kampID"))
  if not rs.eof then

rowsAffected = 0
'updater et evt eksisterende gæt.
conn.execute "update brugerGaet set resultat1="& request.form("res1") &" and resultat2="& request.form("res2") &" where BrugerID="& request.form("brugerid") &" and KampID="& request.form("kampid") , rowsAffected
if rowsAffected = 0 then
  'Brugeren har ikke gættet på kampen før.
  conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
end if

response.redirect("visgaet.asp")

else
    'Kampen er begyndt
    Response.Write ("Desværre - Du nåede ikke at gætte inden kampen begyndte")
  end if
end if
%>
<form name="MyForm" method="post" action="denneside2.asp?mode=save">

Bruger: <%= session("Brugernavn") %>
<input type="hidden" name="brugerid" value="<%= session("BrugerID") %>">
<br>

<% strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
end if
%>
<br>Resultat: <input type="text" name="res1"> - <input type="text" name="res2">
<input type="submit" value="gem">
</form>
</body></html>

....og endnu engang: Tak for al din fantastiske hjælp ;-)
Avatar billede fennec Nybegynder
16. september 2004 - 08:47 #58
Min fejl... Nu kan jeg ikke engang lave en rigtig update sætning længere :o)

Brug denne i stedet:
conn.execute "update brugerGaet set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where BrugerID="& request.form("brugerid") &" and KampID="& request.form("kampid") , rowsAffected


Sådan her tjekker du om en bruger har gættet før, og indsætter gættet:
<%
res1 = 0
res2 = 0
strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
  set rs1 = conn.execute("select * from brugergaet where BrugerID="& session("BrugerID") &" and KampID="& rs("kamp"))
  if not rs1.eof then
    Response.write "<br>Du har gættet på resultatet før."
    res1 = rs1("resultat1")
    res2 = rs1("resultat2")
  end if
end if
%>
<br>Resultat: <input type="text" name="res1" size="4" value="<%= res1 %>"> - <input type="text" name="res2" size="4" value="<%= res2 %>">
Avatar billede emma-sofie Nybegynder
16. september 2004 - 10:46 #59
Hej Fennec

Det virker fint, men nu har jeg siddet og rodet - og der bliver ved med at komme fejlmeddelser - og jeg syntes de er forskellige ?? Er det måske fordi der er gættet på kampen tidligere eller ej ?? Hmm...
**** Fejlmeddelser:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'BrugerID=5 and KampID=Manchester United - Arsenal'.
**** Eller denne:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

Jeg kan altså ikke rette dem !!
Har du en god idé ??  ;-)

¤¤¤¤ denneside2.asp se således ud nu:
<!--#include file="logincheck.inc" -->
<!--#include file="resultatconnection.asp"-->
<html><head>
<h2>Gæt resultatet af en kamp:<br><br></h2>
</head>
<body>

<%
'Herunder: Der tjeckes om kamptidspunktet er afviklet
if request.querystring("mode") = "save" then
  set rs = conn.Execute("select * from kampe where start>now() and id="& request.form("kampID"))
  if not rs.eof then

rowsAffected = 0
'updater et evt eksisterende gæt.
conn.execute "update brugerGaet set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where BrugerID="& request.form("brugerid") &" and KampID="& request.form("kampid") , rowsAffected
if rowsAffected = 0 then
  'Brugeren har ikke gættet på kampen før.
  conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
end if

response.redirect("visgaet.asp")

else
    'Kampen er begyndt
    Response.Write ("Desværre - Du nåede ikke at gætte inden kampen begyndte")
  end if
end if
%>
<form name="MyForm" method="post" action="denneside2.asp?mode=save">

Bruger: <%= session("Brugernavn") %>
<input type="hidden" name="brugerid" value="<%= session("BrugerID") %>">
<br>

<%
'Sådan her tjekker du om en bruger har gættet før, og indsætter gæt
res1 = 0
res2 = 0
strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
  set rs1 = conn.execute("select * from brugergaet where BrugerID="& session("BrugerID") &" and KampID="& rs("kamp"))
  if not rs1.eof then
    Response.write "<br>Du har gættet på resultatet før."
    res1 = rs1("resultat1")
    res2 = rs1("resultat2")
  end if
end if
%>
<br>Resultat: <input type="text" name="res1" size="4" value="<%= res1 %>"> - <input type="text" name="res2" size="4" value="<%= res2 %>">

<input type="submit" value="gem">
</form>
</body></html>
Avatar billede fennec Nybegynder
16. september 2004 - 14:02 #60
set rs1 = conn.execute("select * from brugergaet where BrugerID="& session("BrugerID") &" and KampID="& rs("kamp"))

skal være
set rs1 = conn.execute("select * from brugergaet where BrugerID="& session("BrugerID") &" and KampID="& rs("id"))
Avatar billede emma-sofie Nybegynder
16. september 2004 - 15:35 #61
Det er *** PERFEKT ***

Lige et superlille spørgsmål:
På Highscorelisten, er placeringer rykket en gang nedad...

Prøv at se:
http://www.asgi.dk/fodbold/resultat/topliste.asp

Hmmm - Hvordan er det lige jeg retter det ?? TAK ;-)
Avatar billede fennec Nybegynder
16. september 2004 - 15:50 #62
kode???

Der mangler også en <table> på siden, hvorfor det ikke står pænt under hinanden i en tabel.
Avatar billede emma-sofie Nybegynder
16. september 2004 - 17:02 #63
Jeg fandt selv ud af det ....

Koden stod således:
response.write "<tr><td>Placering: "& counter &"</td><td> Point: "& rs("pointTot") &"</td><td> Navn: "& rs("navn") &"</td></tr>"
counter = counter + 1

Men skulle stå således:
counter = counter + 1
response.write "<tr><td>Placering: "& counter &"</td><td> Point: "& rs("pointTot") &"</td><td> Navn: "& rs("navn") &"</td></tr>"

Hav en forhåbentlig fortsat god dag...
Avatar billede emma-sofie Nybegynder
16. september 2004 - 17:39 #64
Noget af det mere vanskelige.....

På listen over hvilke kampe man har stemt på (når man er logget ind) ses resultatet 0-0, selvom kampen ikke er spillet !!! (ved de allerede gennemførte kampe står det fint nok)

Kan det laves således, at de kampe der endnu ikke er spillet, skrives der "Kampen er ikke spillet" i stedet for, som nu; "0-0"  ??

Håber du kan finde en løsning - Hav en god dag.

**** VISBRUGERSGAET.ASP
<!--#include file="logincheck.inc" -->
<!--#include file="resultatconnection.asp"-->
<html>
<title>Gæt et resultat</title>
<head></head>
<body>
<h2>Oversigt over gæt der er foretaget af én person.</h2><br><br>
<%
if Session("brugernavn")<>"" Then
  Response.Write("Du er logget ind som: " & Session("brugernavn"))
  Response.Write "<br><br>"
else
  Response.Write("Du er ikke logget ind")
  Response.Write "<br><br>"
end if
strSQL = "select Kampe.*, brugerGaet.resultat1 as gaet1, brugerGaet.resultat2 as gaet2 from (Kampe inner join brugerGaet on Kampe.id=brugerGaet.KampID) where brugerGaet.brugerid="& session("brugerID")
Set rs = Conn.Execute(strSQL)
do while not rs.eof
  response.write "kamp: "& rs("kamp") &"<br>"
  response.write "resultat: "& rs("resultat1") &" - "& rs("resultat2") &"<br>"
  response.write "Gæt: "& rs("gaet1") &" - "& rs("gaet2") &"<br><br>"
  rs.MoveNext
loop
Conn.Close
Set Conn = Nothing
%>
</body></html>
Avatar billede fennec Nybegynder
16. september 2004 - 22:28 #65
Noget i denne stil:

do while not rs.eof
  response.write "kamp: "& rs("kamp") &"<br>"
  if rs("resultat1") = "" then
    response.write "resultat: Kamp ikke spillet endnu<br>"
  else
    response.write "resultat: "& rs("resultat1") &" - "& rs("resultat2") &"<br>"
  end if
  response.write "Gæt: "& rs("gaet1") &" - "& rs("gaet2") &"<br><br>"
  rs.MoveNext
loop

Men du har fået gemt 0-0 som resultatet på en ikke spillet kamp (det kan jeg se i databasen). Det skal være NULL, ellers virker det ikke, og man får også point hvis man gætter på 0-0 som resultat.
Avatar billede emma-sofie Nybegynder
16. september 2004 - 22:48 #66
Det forstår jeg altså ikke.....

For lige at være helt sikker:
Inde i Access databasen skal jeg ud for standardværdi for resultat1 og resultat2 angive: NULL
(Tidligere havde jeg bare som standardværdi skrevet 0)
Avatar billede emma-sofie Nybegynder
16. september 2004 - 22:50 #67
Men det kan også være det virker nu.....Det står blot en streg ( - ) ud for resultatet, altså ikke din meddelse:  Resultat: Kamp ikke spillet endnu.

Hmm...Prøv selv at oprette en kamp i fremtiden, gæt på den og se derefter oversigt over dine gæt.
Avatar billede emma-sofie Nybegynder
16. september 2004 - 22:56 #68
Faktisk ser det ud til at virke det hele...
Undtagen det med en bindestreg i stedet for beskeden: Kamp ikke spillet endnu.

;-)
Avatar billede emma-sofie Nybegynder
16. september 2004 - 23:09 #69
Godaften Fennec - eller Godmorgen. Du kommer nok ikke mere på her til aften ;-)

Et lille spørgsmål mere:
Vil du hjælpe med at lave en admin side, hvor man indtaster det korrekte resultat, når kampen er færdigspillet.
Det kan jeg ikke finde ud af, fordi det konflikter jo med flere tabeller, og min "gamle" forespørgsel, var jo ikke så god !!!

Endnu engang: Tusind Tak ;-)
Avatar billede fennec Nybegynder
17. september 2004 - 08:38 #70
I din kampe tabel er der nogle kampe, som ikke er spillet endnu, hvor resultatet er angivet til 0-0. Prøv f.eks at se den kamp jeg har oprettet. Der er ikke noget resultat NULL-NULL (tom), mens "Hold 1 mod Hold 2" kampen er resultatet 0-0. Det skal være NULL.

Prøv også at ændre denne:
if rs("resultat1") = "" then

til
if trim(rs("resultat1")&"") = "" then


Du skal bare indsætte resultatet på en kamp, så resultatet ikke er NULL længre, mere er der ikke i det.

<%
if request.querystring("mode") = "save" then
  conn.execute("update kampe set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where id="& request.form("kampID"))
end if
%>
<form action="DenneAdminSide.asp?mode=save" method="post">
<select name="KampID">
<% set rs = conn.execute("select * from kampe")
  do while not rs.eof
    response.write "<option value="""& rs("id") &""">"& rs("kamp")
    rs.MoveNext
  loop %>
</select>
<input type="text" size="4" name="res1"> - <input type="text" size="4" name="res2">
<input type="submit" value="Gem">
</form>


</select>
Avatar billede emma-sofie Nybegynder
17. september 2004 - 10:43 #71
Jamen - Jeg er så glad !! Det er perfekt.

**** Vedr.: denneadminside.asp
Lille rettelse: Kunne man ikke gøre således, at det kun var de kampe der IKKE havde fået angivet noget resultat, der fremkom i drilldown menu'en ??
- og kan man samtidig få drilldown menu'en til at angive kampene i dato orden - så den tidligste kamp står øverst ???

Er du enig ? Når der på et tidspunkt kommer rigtig mange kampe, ville det fylde gevaldigt, hvis alle kampe er med + der vil også være mulighed for at komme til at "rette" et tidligere indtastet resultat på en "gammel" kamp.

Datorækkefølgen betyder, at det reelt altid vil være den øverste kamp man skal indtaste endeligt resultat for.  OK ?

For god ordens skyld - denneadminside.asp:
<!--#include file="resultatconnection.asp"-->
<html><head>
<h2>Angiv det endelige resultat af en kamp:<br><br></h2>
</head>
<body>
<%
if request.querystring("mode") = "save" then
  conn.execute("update kampe set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where id="& request.form("kampID"))
end if
%>
<form action="DenneAdminSide.asp?mode=save" method="post">
<select name="KampID">
<% set rs = conn.execute("select * from kampe")
  do while not rs.eof
    response.write "<option value="""& rs("id") &""">"& rs("kamp")
    rs.MoveNext
  loop %>
</select>
<input type="text" size="4" name="res1"> - <input type="text" size="4" name="res2">
<input type="submit" value="Gem">
</form>
</select>
</body></html>

Tror du det kan lade sig gøre ??  ;-)
Avatar billede fennec Nybegynder
17. september 2004 - 11:21 #72
Så vælger den kun dem hvor der ikke er indsat et resultat og sorteret efter start.

set rs = conn.execute("select * from kampe where resultat1 is NULL order by start")

og modsat alle dem hvor der er et resultat:
set rs = conn.execute("select * from kampe where resultat1 is NOT NULL order by start")

Men jeg ville nok lave det på to forskellige sider. En hvor du indsætter nye resultater, og en hvor du ændre gamle (pga forskellig visning). Da man jo kan komme til at indtaste forkert, skal det være muligt at ændre resultatet. Det kunne evt laves på samme side med forskellige mode's.
Avatar billede emma-sofie Nybegynder
17. september 2004 - 11:26 #73
Nå Ja - Selvfølgelig. Det bliver man nok nødt til.....
Ellers kan man jo ikke rette, hvis der er tastet forkert eller sket noget andet.....

Ja, det er faktisk en vigtig administrations side....

Kan du lave sådan en "retteside" med forskellige - mods ??  -eller er det meget besværligt ??

Meget Meget ;-)
Avatar billede fennec Nybegynder
17. september 2004 - 11:44 #74
Du har allerede set det i aktion :o)

mode = request.Querystring("mode")

if mode = "save" then
  conn.execute("update kampe set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where id="& request.form("kampID"))
  response.redirect("AdminSide.asp")
end if

if mode = "update" then %>
<form action="DenneAdminSide.asp?mode=save" method="post">
<select name="KampID">
<% set rs = conn.execute("select * from kampe where resultat1 is NOT NULL order by start")
  do while not rs.eof
    response.write "<option value="""& rs("id") &""">"& rs("kamp")
    rs.MoveNext
  loop %>
</select>
<input type="text" size="4" name="res1"> - <input type="text" size="4" name="res2">
<input type="submit" value="Gem">
</form>

<%
else
%>
<form action="DenneAdminSide.asp?mode=save" method="post">
<select name="KampID">
<% set rs = conn.execute("select * from kampe where resultat1 is NULL order by start")
  do while not rs.eof
    response.write "<option value="""& rs("id") &""">"& rs("kamp")
    rs.MoveNext
  loop %>
</select>
<input type="text" size="4" name="res1"> - <input type="text" size="4" name="res2">
<input type="submit" value="Gem">
</form>
<%
end if
%>

hvis du så kalder DenneAdminSide.asp?mode=update kommer du ind og ser gamle kampe, ellers kommer du til nye.

<a href="DenneAdminSide.asp">indsæt resultat på kamp
<a href="DenneAdminSide.asp?mode=update">Ændre gamle resultater

Jeg har også smidt en redirect ind efter update, så man kommer til en admin oversigt (skal du sikkert have lavet), når man har opdateret databasen.

Det er vel også noget du skal kikke på. At bestemme om en bruger er admin eller ej. Det er bare et felt til på bruger tabellen hvor du skriver 0 eller 1 og gemmer den værdi i en session til når man logger ind. Den tjekker du så på admin sidderne.
Avatar billede emma-sofie Nybegynder
17. september 2004 - 13:03 #75
Det er jo GENIALT - Men jeg kan ikke få kampene frem i Select boksene ??
Jeg har prøvet at flytte rundt på "'erne og 'erne uden held.

****denneadminside.asp
<!--#include file="resultatconnection.asp"-->
<html><head>
<h2>Angiv det endelige resultat af en kamp:<br><br></h2>
</head>
<body>
<%
mode = request.Querystring("mode")
if mode = "save" then
  conn.execute("update kampe set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where id="& request.form("kampID"))
  response.redirect("AdminSide.asp")
end if
if mode = "update" then %>
<form action="DenneAdminSide.asp?mode=save" method="post">
<select name="KampID">
<% set rs = conn.execute("select * from kampe where resultat1 is NOT NULL order by start")
  do while not rs.eof
    response.write "<option value="""& rs("id") &""">"& rs("kamp")
    rs.MoveNext
  loop %>
</select>
<input type="text" size="4" name="res1"> - <input type="text" size="4" name="res2">
<input type="submit" value="Gem">
</form>
<%
else
%>
<form action="DenneAdminSide.asp?mode=save" method="post">
<select name="KampID">
<% set rs = conn.execute("select * from kampe where resultat1 is NULL order by start")
  do while not rs.eof
    response.write "<option value="""& rs("id") &""">"& rs("kamp")
    rs.MoveNext
  loop %>
</select>
<input type="text" size="4" name="res1"> - <input type="text" size="4" name="res2">
<input type="submit" value="Gem">
</form>
<%
end if
%>
</body></html>

Jeg har lavet link til begge "mode's" fra forsiden -> http://www.asgi.dk/fodbold/resultat/START.ASP
Avatar billede fennec Nybegynder
17. september 2004 - 13:16 #76
Det er fordi der allerede er indsat et resultat på alle kamp. Det er kun dem hvor resultatet er NULL (tom) der bliver vist på "indsæt det endelige....", alle andre kan ses under "ændre gamle re...".

Du kan selv angive resultatet til NULL i "ændre gamle re..." for nogle kampe. Jeg har lige gjordt det for "Bregnerød mod Brøndby". Bare skriv NULL i begge resultat felter.
Avatar billede emma-sofie Nybegynder
17. september 2004 - 13:33 #77
Genialt !!  Jeg logger af nu, men er tilbage i morgen.

RIGTIG GOD WEEK-END - FENNEC ;-)
Avatar billede emma-sofie Nybegynder
20. september 2004 - 12:54 #78
Hej Fennec

Jeg håber du har haft en god week-end. Min har været stille og rolig.

Nå - men jeg skulle lige gøre mit resultatsytem færdigt her til morgen. Jeg syntes ikke mit login system var så godt, så jeg prøvede at indsætte et bedre et, jeg har brugt med succes tidligere - MEN -> Nu er det vist gået i kage......

Problemet pt. er: Når man klikker på en kamp for at gætte og hvis man samtidig IKKE er logget ind - skal man videreføres til login siden...Men det fungerer ikke mere....

Det er: "denneside2.asp" som man ikke må komme ind til, hvis man ikke er logget ind.
Men det gør den ???
Hmmm....
<!--#include file="logincheck.inc" --> i toppen af siden, betyder vel - at er man ikke logget ind, videreføres man til: login.asp - IKKE ??

Kan du hjælpe - Har du et bud ??

Nogle filer du vil se ???
Avatar billede fennec Nybegynder
20. september 2004 - 13:06 #79
Gemmer dit nye login de samme session variabler som det gamle???
Avatar billede emma-sofie Nybegynder
20. september 2004 - 13:10 #80
Hej Fennec
Tak for dit svar - Jeg havde frygtet du ville fortælle mig, at det var tåbeligt at skifte login system....
;-)  Tak.

De samme session variable ??
Jamen, problemet lige nu er vel, at den slet ikke går over på login siden ?? Men har det noget med session variablerne at gøre....

Problemet pt. er: Når man klikker på en kamp for at gætte og hvis man samtidig IKKE er logget ind - skal man videreføres til login siden...Men det fungerer ikke mere....

Jeg kigger lige....
Avatar billede emma-sofie Nybegynder
20. september 2004 - 13:13 #81
Vups...Har set det. Retter lige.
Avatar billede fennec Nybegynder
20. september 2004 - 13:16 #82
Jeg bliver fint smidt ind på login siden. Den siger jeg ikke er logget ind på viskampeplus2.asp og når jeg trykker på "gæt resultat" ryger jeg ind på login siden. Det kan være fordi du ikke har mistet dine sessions fra et tidligere login. Prøv at lukke browseren og åbne siden igen.
Avatar billede emma-sofie Nybegynder
20. september 2004 - 13:37 #83
Tak for tippet med Sessions'nerne...
Hmmm...Det virker lidt bedre nu.
Men jeg fortsætter arbejdet.......
Avatar billede emma-sofie Nybegynder
20. september 2004 - 14:11 #84
Det hele ser ud til at virke i øjeblikket. Dejligt - Tak for hints'ne.  ;-)

Spørgsmål:
HVIS der ikke er registreret nogle kampe i viskampeplus2.asp, kommer der en fejlmeddelse - Kan man ikke gøre således, at der står: "Der er pt. ingen kampe at gætte på"

Ligeledes med visgaet.asp og nogle af de andre sider !!

Jeg vedlægger lige scripts'ne:

**** viskampeplus2.asp
<!--#include file="resultatconnection.asp"-->
<html>
<title>Oversigt over alle kampe + spilletidspunkt</title>
<head>

<link href="style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
<h2>Oversigt over alle kampe + spilletidspunkt:</h2>
<i>Viser kun kampe der kan spilles på, ikke afviklede kampe</i>
<br><br>

<%
' Nedenstående viser alle kampe
' select * from kampe where start > now() order by start
' Nedenstående viser kun kampe der IKKE er gået igang
strSQL = "select * from kampe where start > now() order by start"

Set rs = Conn.Execute(strSQL)

if Session("brugernavn")<>"" Then
  Response.Write("Du er logget ind som: " & Session("brugernavn"))
  Response.Write "<br><br>"
else
  Response.Write("Du er ikke logget ind")
  Response.Write "<br><br>"
end if

Do

  Response.Write "<a href='denneside2.asp?id=" & rs("id") & "'> Gæt resultat </a>" & rs("kamp") & "," & rs("start") & "<br>"
  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>
</body>
</html>

**** visgaet.asp
<!--#include file="resultatconnection.asp"-->

<html>
<title>Gæt et resultat</title>
<head>
</head>
<body>
<h2>Oversigt over gæt der er foretaget:<br><br>
</h2>

<%
strSQL = "Select * From forespoergselallegaet Order by navn Desc"

Set rs = Conn.Execute(strSQL)


Do

Response.Write " <b> " & ("Bruger: ")  & " </b> "
Response.Write ucase(left(rs("navn"),1)) & right(rs("navn"), len(rs("navn")) - 1) & " <b>Kamp: </b>" & rs("kamp") & " <b> Resultat: </b>" & rs("resultat1") & " - " & rs("resultat2") & "<br>"
  ' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede fennec Nybegynder
20. september 2004 - 15:14 #85
Det er fordi du laver dit do/while loop forkert. Det er vigtigt at placere sin while betingelse det rigtige sted.

do
...
loop While Not rs.EOF

medfører at loopet kører min en gang.

do while Not rs.EOF
...
loop

Her kommer man ikke nødvendigvis ind i loopet. Det er den du skal bruge alle de steder hvor du looper database resultater. Det kan du så kombinere med en if sætning hvis der ikke er resultater

if rs.eof then response.write "Der er pt. ingen kampe at gætte på"
do while not rs.eof
...
loop
Avatar billede emma-sofie Nybegynder
21. september 2004 - 10:26 #86
Mange tak for hjælpen ovenstående samt mine andre småproblemer i.f.m. resultatscriptet.
Jeg sidder som du sikkert har regnet ud og prøver at "smukkesere" det lidt, inden det skal ud og have brugernes dom ;-)

På denneside2.asp vil jeg gerne have tilføjet en linie med dato'en for kampen rs("start") - men skal jeg definere en session eller hvad - det virker ikke lige...

Har du tid til at kigge på det ??

Scriptet er herunder inkl. mine indsatte linier:
Kampstart: </td><td><%= session("start") %>


<!--#include file="logincheck.inc" -->
<!--#include file="resultatconnection.asp"-->
<html><head>
<title>Gæt resultatet</title>
<link href="style.css" rel="STYLESHEET" TYPE="text/css">
<h2>Gæt resultatet af en kamp.</h2>

</head>
<body>

<%
'Herunder: Der tjeckes om kamptidspunktet er afviklet
if request.querystring("mode") = "save" then
  set rs = conn.Execute("select * from kampe where start>now() and id="& request.form("kampID"))
  if not rs.eof then

rowsAffected = 0
'updater et evt eksisterende gæt.
conn.execute "update brugerGaet set resultat1="& request.form("res1") &", resultat2="& request.form("res2") &" where BrugerID="& request.form("brugerid") &" and KampID="& request.form("kampid") , rowsAffected
if rowsAffected = 0 then
  'Brugeren har ikke gættet på kampen før.
  conn.execute("insert into brugerGaet(brugerid,kampid,resultat1,resultat2) values("& request.form("brugerid") &","& request.form("kampid") &","& request.form("res1") &","& request.form("res2") &")")
end if

response.redirect("visgaet.asp")

else
    'Kampen er begyndt
    Response.Write ("Desværre - Du nåede ikke at gætte inden kampen begyndte")
  end if
end if
%>
<form name="MyForm" method="post" action="denneside2.asp?mode=save">
<table>
<tr><td>
Bruger: </td><td><%= session("Brugernavn") %></td></tr>



<tr><td>
Kampstart: </td><td><%= session("start") %></td></tr>




<input type="hidden" name="brugerid" value="<%= session("BrugerID") %>">
<tr><td>Kamp:</td><td><b>

<%
'Sådan her tjekker du om en bruger har gættet før, og indsætter gæt
res1 = 0
res2 = 0
strID = Request.QueryString("id")
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<%
set rs1 = conn.execute("select * from brugergaet where BrugerID="& session("BrugerID") &" and KampID="& rs("id"))

'set rs1 = conn.execute("select * from brugergaet where BrugerID="& session("BrugerID") &" and KampID="& rs("kamp"))
  if not rs1.eof then
    Response.write "</td></tr><tr><td></td><td><font color=red>Du har gættet på resultatet før, men er velkommen til at ændre....</font>"
    res1 = rs1("resultat1")
    res2 = rs1("resultat2")
  end if
end if
%></b></td></tr>
<tr><td>
Resultat: </td><td><input type="text" name="res1" size="3" value="<%= res1 %>"> - <input type="text" name="res2" size="3" value="<%= res2 %>"></td></tr>
<tr><td></td><td></td></tr>
<tr><td>
<input type="submit" value="Gem">
</td><td></td></tr>

</table>
</form>

<p><a href=java script:history.back()> << Tilbage</a></p>

</body></html>
Avatar billede fennec Nybegynder
21. september 2004 - 10:37 #87
Du har allerede henter datoen og navnet på kampen fra databasen i dit tjek, for om en bruger har gættet før. Og i dette tilfælde kan du bruge det tjek til udskrivning. Ellers kan du bare lave et database opslag til.

...
strSQL = "Select * From kampe where id = "& strID
Set rs = Conn.Execute(strSQL)
if not rs.eof then %>
  <input type="hidden" name="KampID" value="<%= rs("id") %>"><%= rs("kamp") %>
<tr><td>Kamp:</td><td><%= rs("kamp") %></td></tr>
<tr><td>Kampstart:</td><td><%= rs("start") %></td></tr>
...
Avatar billede emma-sofie Nybegynder
21. september 2004 - 11:35 #88
Jamen, det er jo endnu engang PERFEKT.

Jeg håber du følger mit arbejde på http://www.asgi.dk/fodbold/resultat/index.htm

To korte spørgsmål:
1.
Selvom jeg trykker på LOG OFF, kan jeg bagefter gå tilbage til forsiden og så er jeg stadig logget ind !!! Hmm.... Kan du hjælpe med hvordan jeg rigtig logger af ???

2.
Når jeg trykker på "GÆT et resultat" og kommer over på gættesiden, -Hvis jeg ikke er logget ind, ryger jeg over på LOG IN siden, men når jeg så er logget ind på denne side, ryger jeg tilbage til Startsiden ??
Kan man gøre et eller andet, så man kommer tilbage på "GÆT et resultat" siden med det samme ???
(Jeg er med på at gøre det via linket, men nogle gange skal man jo ikke ! - F.eks. hvis man blot ønsker at logge ind og se ens gæt !!)
Jeg håber du forstår mit spørgsmål, selvom det er lidt kringlet ;-)

***** Vedlagt LOGOFF.ASP filen:
<html>
<head>
<title>LogOff</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
<%
session("login") = false
response.write "<p><b>Du er nu logget af!</b>"
response.write "<p><a href=../velkommen.asp>Til forsiden</a>"
%>
<p><a href="" onClick="window.close();">Luk vindue</a>
</body>
</html>
Avatar billede fennec Nybegynder
21. september 2004 - 11:57 #89
1. Session.abandon er ikke altid nok til at nulstille alle session, så nulstil de vigtige sessions selv. Desuden virker session.abandon også kun først når man skifter side. En Javascript location.href med http i navnet vil også ofte medføre en ny session. Kombiner alle disse muligheder, og du skulle være sikker på at alle vigtige sessions er væk.

<%
function LogOut()
  session("Brugernavn") = ""
  session("BrugerID") = ""
  session.abandon
%>
<script>
  top.location.href = "http://www.asgi.dk/fodbold/resultat/index.htm"
</script>
<%
  response.end
end function
%>
Avatar billede fennec Nybegynder
21. september 2004 - 12:02 #90
2. du laver en response.redirect("loginSiden.asp") på gæt siden, smid en mode med der.

response.redirect("loginSiden.asp?mode=tilGaet")

På login siden tjekker du så for den mode inden du redirecter derfra.
if request.querystring("mode") = "tilGaet" then
  response.redirect("TilGætSiden.asp")
else
  response.redirect("TilForsiden.asp")
end if
Avatar billede emma-sofie Nybegynder
21. september 2004 - 12:31 #91
Hej Fennec

Den der LOG OFF er altså lidt tricky !!!
Den virker ikke - Prøv selv. Man er altså ikke logget af....

LOGOFF.ASP ser nu således ud:
<html>
<head>
<title>LogOff</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
<%
function LogOut()
  session("Brugernavn") = ""
  session("BrugerID") = ""
  session("navn") = ""
  session.abandon
%>
<script>
  top.location.href = "../velkommen.asp"
</script>
<%
  response.end
end function
%>
Du er nu logget af.<br>
<p><a href="../velkommen.asp">Til Forside</a>
<p><a href="" onClick="window.close();">Luk vindue</a>
</body>
</html>
Avatar billede fennec Nybegynder
21. september 2004 - 12:40 #92
Det var smidt i en funktion, som skulle køres. Det er nu fjernet. Nu skulle den gerne nulstille sessions, og redirecte til forsiden.

<html>
<head>
<title>LogOff</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
<%
  session("Brugernavn") = ""
  session("BrugerID") = ""
  session("navn") = ""
  session.abandon
%>
<script>
  top.location.href = "http://www.asgi.dk/fodbold/resultat/velkommen.asp"
</script>
<%
  response.end
%>
Du er nu logget af.<br>
<p><a href="../velkommen.asp">Til Forside</a>
<p><a href="" onClick="window.close();">Luk vindue</a>
</body>
</html>
Avatar billede emma-sofie Nybegynder
21. september 2004 - 12:51 #93
PERFEKT - MANGE TAK ;-)
Avatar billede emma-sofie Nybegynder
21. september 2004 - 13:04 #94
Hej Fennec
Vedr. REDIRECT funktionen:

Jeg vil gerne have, at man kommer over på GÆTTEsiden, selvom man ikke har logget ind.
Derfor skal "mode'n" vel først sættes på her:
<a href='denneside2.asp?id=" & rs("id") & "'....
- ikke ??
Men hvordan gør jeg det ?
...og hvis der er "mode" på, skal den jo først til "login.asp" og derefter til "godkend.asp" med samme "mode" ??

Ja, jeg er lidt forvirret.....Håber du forstår min problematik ;-)  ;-)
Avatar billede fennec Nybegynder
21. september 2004 - 13:09 #95
Ikke helt.
Man kan altså komme ind på gætsiden uden at være logget ind? kan man så gætte på en kamp selvom man ikke er logget ind??
Avatar billede emma-sofie Nybegynder
21. september 2004 - 13:16 #96
Nej Nej - Man kan være på forsiden og ikke være logget ind. Så kan man klikke på "Viskampeplus2.asp" og se hvilke kampe der kan gættes på.
Stadig uden at være logget ind.

Hvis man så pludselig vil gætte - klikker man på GÆT - Kommer over til log-in siden og logger sig på - og DEREFTER skal man tilbage på selve GÆTTEsiden (denneside2.asp)

OK ?? Håber jeg har forklaret mig godt nok, ellers så bare sig til....

(Finten med ovenstående er, at brugeren lige kan få et view over kampe til rådighed, før han begynder at logge på.....)

Stort ;-)
Avatar billede fennec Nybegynder
21. september 2004 - 13:46 #97
OK.
Så ændret du login tjekket på denneside2.asp

Redirecten til login.asp siden på denneside2.asp skal ændres til:
response.redirect("login.asp?mode=tilGaet&Id="& request.Querystring("id"))

Så sender du en mode med og kampID'et, så du har mulighed for at hoppe tilbage til denneside2.asp på login.asp og sende kampID'et med.

if request.querystring("mode") = "tilGaet" then
  response.redirect("TilGætSiden.asp?ID="& request.querystring("ID"))
else
  response.redirect("TilForsiden.asp")
end if
Avatar billede emma-sofie Nybegynder
22. september 2004 - 13:33 #98
Hej Fennec
Håber alt er vel !
Nu er scriptet jo snart perfekt, men i mine bestræbelser på at gøre det helt perfekt, er jeg kommet på en god idé.
Mange brugere vil forhåbentlig bruge dette spil, hvilket betyder at siden "Vis øvrige brugeres Gæt" (visgaet.asp) vil blive stor og måske uoverskuelig.

Kunne man ikke lave denne side på en anden måde, således at den samme kamp ikke skal skrives hele tiden ??

Jeg tænkte på en løsning ala dette:
Kamp: Gilleleje mod Frederiksværk 27 aug 2004 16:00
Gæt: 3-2 af: Polle
Gæt: 4-1 af: Bodil
Gæt: 2-2 af: Erik
Gæt: 5-1 af: Fennec

Kamp: Hundested mod Aalborg 31 aug 2004 16:00
Gæt: 5-1 af: Polle
Gæt: 2-2 af: Bodil
Gæt: 6-3 af: Erik
Gæt: 1-4 af: Fennec

osv. osv...

Tror du ikke også det ville være en god idé ?? Det ville ihvertfald fremtræde lidt mere præsentabelt ;-) Eller har du en helt anden og mere genial løsning ?

Har du tid til at prøve at kigge på det ?? - Under alle omstændigheder: Tusind tak for din tid indtil nu.....  ;-)
Avatar billede fennec Nybegynder
22. september 2004 - 13:53 #99
Du har ret I at den skal "shines" lidt op. Men hvis du får mange brugere/kampe kan det også blive uoverskuelig. Her ville jeg (som alternativ løsning) lave to dropdown. En med kampe og en med brugere, også kun vise gæt på den valgte kamp, eller gæt en bruger har fortaget.

Det er en balance du her skal bestemme.
1. Enten gør du som du har forslået, hvilket er måden at gøre det på, hvis antal af kampe, der skal vises, er begrænset (Jeg gætter på mindre end 20 kampe).

2. Eller du laver en dropdown med kampe/brugere, og viser så kun den valgte information, hvilket er måden hvis du får rigtig mange kampe.
Avatar billede emma-sofie Nybegynder
22. september 2004 - 14:02 #100
Ja, du har så evig ret. (Jeg forestiller mig der vil komme over 20 kampe)

Jeg ville foretrække en løsning som du beskriver, hvor man enten vælger en kamp fra en dropdown - og ser alle de gæt der er lavet på denne kamp.
Eller i stedet for at vælge en kamp, vælger en bruger fra en dropdown, og man kan så se alle hans eller hendes gæt.

Alternativt kunne man også liste 2 kolonner, med alle kommende kampe og alle brugere. Så kunne man klikke på en kamp ELLER klikke på en bruger - og få samme resultat som ved dropdown.... Hmmm - Dropdown må være at foretrække. Jeg foretrækker dropdown ;-)

Hvad siger du ? Er det meget besværligt at lave ? - og har du i givet fald tid til det ???

Tak - Af hjertet tak.
Avatar billede fennec Nybegynder
22. september 2004 - 14:29 #101
Det er nu ikke så svært. Problemet ligger i at få dropdown til at opføre sig rigtig. Her har du i en grundform for siden. Så skal du bare få sat de rigtige kampe/brugere ind i dropdown med deres ID'er (der skal være en blank option i hver), også ellers vise resultatet. Jeg har ikke lige tid til at klare SQL sætningerne nu, men det burde du også selv kunne klare. De er ikke så indviklet, ellers vender jeg tilbage senere :o)

<form name="MyForm" method="post" action="visGaet.asp?mode=show">

<select name="KampID" onchange="document.MyForm.BrugerID.selectedIndex=0">
<option value="">
<option value="10">En kamp
<option value="4">En kamp til
<option value="5">En anden kamp
<option value="8">Og en sidste Kamp
</select>
<select name="BrugerID" onchange="document.MyForm.KampID.selectedIndex=0">
<option value="">
<option value="1">En bruger
<option value="5">En bruger til
<option value="2">En anden bruger
<option value="8">Og en sidste bruger
</select>

</form>
<%
if mode = "show" then

if Request.Form("KampId") <> "" then
'find alle gæt for kampen
elseif Request.Form("BrugerID") <> "" then
'find alle gæt for bruger
End If %>
Avatar billede fennec Nybegynder
22. september 2004 - 14:30 #102
Manglede lige en end if

<%
if mode = "show" then
  if Request.Form("KampId") <> "" then
  'find alle gæt for kampen
  elseif Request.Form("BrugerID") <> "" then
  'find alle gæt for bruger
  End If
end if
%>
Avatar billede emma-sofie Nybegynder
22. september 2004 - 14:47 #103
Hej Fennec
Ok - Jeg tror jeg forstår.
En lille ting: Du må ikke skynde dig for min skyld, jeg venter med glæde til du får tid.

Hmm - Option Value'erne skal da hente deres værdi fra databasen, ikke ??? Hvorfor så lave flere "Option Value" linier ?? Hmm... Det forstår jeg ikke.

Nå, men i den gamle (nuværende) visgaet.asp, er dataudtrækket det som jeg har lavet til min ringe forespørgsel i databasen - sidste gang kan jeg huske du kunne løse samme problem uden anvendelse af en DB-forespørgsel.

Så hvis du vil og når du har tid - må du meget gerne lige smede et par linier sammen til den ny visgaet.asp side.

Tak - og hav en rigtig god....  ;-)
Avatar billede fennec Nybegynder
22. september 2004 - 15:10 #104
Det er mig der ikke forklarer så godt.

Det er lige ud af landevejen. Hent ID'erne/navne fra databasen og indsæt dem i dropdown'en. Der skal bare være en blank først i dropdown'en.

Hvor meget ved du om SQL, og hvordan det fungere???
Avatar billede emma-sofie Nybegynder
22. september 2004 - 16:04 #105
;-) Hej

SQL viden ?? - desværre, der er ikke lige der, min stærke side er.....

Desværre.... Fortsat god dag.....  ;-)
Avatar billede fennec Nybegynder
22. september 2004 - 16:20 #106
Det kunne være du skulle kikke lidt på det. Det er det vi har brugt til at lave udtræk fra databasen, og det er meget nemt at komme i gang med.

f.eks disse:
"select * from kampe order by start"
"select navn from bruger where id=4"
"select id, navn from bruger order by navn"

Det siger jo næsten sig selv hvad man få ud, når man kører dem.
Avatar billede emma-sofie Nybegynder
23. september 2004 - 09:31 #107
Godmorgen Fennec
OK -SQL på det niveau kan jeg vel også...
Men problemet er, at mine overordnede programmeringsevner ikke er gode nok. Jeg har altid problemer med manglende linier, kommaer, kolonner eller lign....

Det er derfor jeg er så FANTASTISK glad for din hjælp - hver gang du laver en løsning bliver jeg lidt klogere....

Når den nye visgaet.asp er på plads, tror jeg, at jeg vil offentliggøre den for nogle testbrugere i dag, for at få deres mening....

Endnu engang tak og fortsat god Torsdag....  ;-)
Avatar billede fennec Nybegynder
23. september 2004 - 10:00 #108
Så har jeg lavet SQL-sætninger og løkker. Det skal bare stilles lidt pænere op.

<%
if mode = "show" then
  if Request.Form("KampId") <> "" then
    'find alle gæt for kampen
    set rs = conn.execute("select * from Kampe where id="& Request.Form("KampId"))
    if not rs.eof then
      'Udskriv evt kamp info her......
      response.write "......."
      'Find alle gæt på kampen.
      set rs1 = conn.execute("select * from (Brugere inner join brugerGaet on brugerGaet.brugerid = Bruger.Id) where kampid="& Request.Form("KampId"))
      do while not rs1.eof
        response.write rs1("navn") & ": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        rs1.MoveNext
      loop
    end if
  elseif Request.Form("BrugerID") <> "" then
    set rs = conn.execute("select * from bruger where id="& Request.Form("BrugerID"))
    if not rs.eof then
      'find alle gæt for en bruger
      set rs1 = conn.execute("select kampe.*, brugerGaet.resultat1 as res1,  brugerGaet.resultat2 as res2 from (kampe inner join brugerGaet on brugerGaet.kampid=kampe.ID) where brugerGaet.brugerid="& Request.Form("BrugerID"))
      do while not rs1.eof
        response.write rs1("kamp") &": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        response.write rs("navn") & ": "& rs1("res1") &"-"& rs1("res2") &"<br>"
        rs1.MoveNext
      loop
    end if
  End If
end if %>
Avatar billede emma-sofie Nybegynder
23. september 2004 - 10:54 #109
Mange Tak, Meeenn: Ikke fordi jeg vil lyde dum, men jeg kan altså ikke lige få det til at funge....
Det skal vel være i FORM - Men det er det jo også...SELECTboksene er der jo også....
Hmmm....
Der må være et eller andet jeg ikke lige har husket....  ;-)
- Jeg har også prøvet at kalde siden med diverse "mode's..." uden held..

**** visgaet.asp
<!--#include file="resultatconnection.asp"-->
<html>
<title>Gæt et resultat</title>
<head>
<link href="style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
  <h2>Oversigt over alle gæt der er foretaget:</h2><br><br>
<%
if mode = "show" then
  if Request.Form("KampId") <> "" then
    'find alle gæt for kampen
    set rs = conn.execute("select * from Kampe where id="& Request.Form("KampId"))
    if not rs.eof then
      'Udskriv evt kamp info her......
      response.write "......."
      'Find alle gæt på kampen.
      set rs1 = conn.execute("select * from (Brugere inner join brugerGaet on brugerGaet.brugerid = Bruger.Id) where

kampid="& Request.Form("KampId"))
      do while not rs1.eof
        response.write rs1("navn") & ": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        rs1.MoveNext
      loop
    end if
  elseif Request.Form("BrugerID") <> "" then
    set rs = conn.execute("select * from bruger where id="& Request.Form("BrugerID"))
    if not rs.eof then
      'find alle gæt for en bruger
      set rs1 = conn.execute("select kampe.*, brugerGaet.resultat1 as res1,  brugerGaet.resultat2 as res2 from (kampe inner

join brugerGaet on brugerGaet.kampid=kampe.ID) where brugerGaet.brugerid="& Request.Form("BrugerID"))
      do while not rs1.eof
        response.write rs1("kamp") &": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        response.write rs("navn") & ": "& rs1("res1") &"-"& rs1("res2") &"<br>"
        rs1.MoveNext
      loop
    end if
  End If
end if %>
<p><a href=java script:history.go(-2)> << Tilbage</a></p>
</body></html>
Avatar billede fennec Nybegynder
23. september 2004 - 11:02 #110
Tag formen fra "22/09-2004 14:29:48". Det er den jeg har arbejdede vidre på.
Avatar billede emma-sofie Nybegynder
23. september 2004 - 11:33 #111
Hej Fennec
Det er sådan set også der jeg har gjort...  ;-)
Jeg har prøvet at sætte din kode ind i FORM-SELECT koderne....
- Jeg kan godt se, at der mangler noget !! SELECT boks nummer 2 skal jo have databaseudtrækket fra din kode.... Og det skal SELECT 2 i den anden jo også have....

MEn lige meget hvordan jeg prøver er der enten fejl på siden eller ingen resultater i dropdown boksene....
Men er det "response.write rs1("navn") & ": "& rs1("resultat1") &"-"& rs1("resultat2") &" der skal ind i SELECT boksen ??  Nej, vel ?

Du kan nok forstå - det går ikke så godt....
Avatar billede emma-sofie Nybegynder
23. september 2004 - 11:36 #112
<!--#include file="resultatconnection.asp"-->
<html>
<title>Gæt et resultat</title>
<head>
<link href="style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
  <h2>Oversigt over alle gæt der er foretaget:</h2><br><br>

<form name="MyForm" method="post" action="visGaet.asp?mode=show">
<select name="KampID" onchange="document.MyForm.BrugerID.selectedIndex=0">
<option value="">

<%
if mode = "show" then
  if Request.Form("KampId") <> "" then
    'find alle gæt for kampen
    set rs = conn.execute("select * from Kampe where id="& Request.Form("KampId"))
    if not rs.eof then
      'Udskriv evt kamp info her......

      response.write "......."
      'Find alle gæt på kampen.
      set rs1 = conn.execute("select * from (Brugere inner join brugerGaet on brugerGaet.brugerid = Bruger.Id) where kampid="& Request.Form("KampId"))
      do while not rs1.eof
        response.write rs1("navn") & ": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        rs1.MoveNext
      loop
    end if
%>
</select>
<select name="BrugerID" onchange="document.MyForm.KampID.selectedIndex=0">
<option value="">
<%

  elseif Request.Form("BrugerID") <> "" then
    set rs = conn.execute("select * from bruger where id="& Request.Form("BrugerID"))
    if not rs.eof then
      'find alle gæt for en bruger
      set rs1 = conn.execute("select kampe.*, brugerGaet.resultat1 as res1,  brugerGaet.resultat2 as res2 from (kampe inner join brugerGaet on brugerGaet.kampid=kampe.ID) where brugerGaet.brugerid="& Request.Form("BrugerID"))
      do while not rs1.eof
        response.write rs1("kamp") &": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        response.write rs("navn") & ": "& rs1("res1") &"-"& rs1("res2") &"<br>"
        rs1.MoveNext
      loop
    end if
  End If
end if %>
</select>
</form>
<p><a href=java script:history.go(-2)> << Tilbage</a></p>
</body>
</html>
Avatar billede fennec Nybegynder
23. september 2004 - 12:08 #113
Det jag havde lavet der, er kun til at vise resultaterne. Sådan her skal det være:

form name="MyForm" method="post" action="visGaet.asp?mode=show">
<select name="KampID" onchange="document.MyForm.BrugerID.selectedIndex=0">
<option value="">
<%
set rs = conn.execute("select * from kampe")
do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("kamp")%>
<% rs.MoveNext
loop %>
</select>
<select name="BrugerID" onchange="document.MyForm.KampID.selectedIndex=0">
<option value="">
<%
set rs = conn.execute("select * from brugere")
do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("navn")%>
<% rs.MoveNext
loop %>
</select>
</form>
<%
if mode = "show" then
  if Request.Form("KampId") <> "" then
    'find alle gæt for kampen
    set rs = conn.execute("select * from Kampe where id="& Request.Form("KampId"))
    if not rs.eof then
      'Udskriv evt kamp info her......
      response.write "......."
      'Find alle gæt på kampen.
      set rs1 = conn.execute("select * from (Brugere inner join brugerGaet on brugerGaet.brugerid = Bruger.Id) where kampid="& Request.Form("KampId"))
      do while not rs1.eof
        response.write rs1("navn") & ": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        rs1.MoveNext
      loop
    end if
  elseif Request.Form("BrugerID") <> "" then
    set rs = conn.execute("select * from bruger where id="& Request.Form("BrugerID"))
    if not rs.eof then
      'find alle gæt for en bruger
      set rs1 = conn.execute("select kampe.*, brugerGaet.resultat1 as res1,  brugerGaet.resultat2 as res2 from (kampe inner join brugerGaet on brugerGaet.kampid=kampe.ID) where brugerGaet.brugerid="& Request.Form("BrugerID"))
      do while not rs1.eof
        response.write rs1("kamp") &": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        response.write rs("navn") & ": "& rs1("res1") &"-"& rs1("res2") &"<br>"
        rs1.MoveNext
      loop
    end if
  End If
end if %>
Avatar billede emma-sofie Nybegynder
23. september 2004 - 12:55 #114
Perfekt - Men den skriver ikke det valgte resultat ud !!

Det må være linierne:
response.write rs1("kamp") &": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
response.write rs("navn") & ": "& rs1("res1") &"-"& rs1("res2") &"<br>"
der skal pilles ved.....

Jeg har prøvet forskellige kombinationer uden det store held....

<!--#include file="resultatconnection.asp"-->
<html>
<title>Gæt et resultat</title>
<head>
<link href="style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
  <h2>Oversigt over alle gæt der er foretaget:</h2><br><br>
<form name="MyForm" method="post" action="visGaet.asp?mode=show">
<select name="KampID" onchange="document.MyForm.BrugerID.selectedIndex=0">
<option value="">
<%
set rs = conn.execute("select * from kampe")
do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("kamp")%>
<% rs.MoveNext
loop %>
</select>
<select name="BrugerID" onchange="document.MyForm.KampID.selectedIndex=0">
<option value="">
<%
set rs = conn.execute("select * from bruger")
do while not rs.eof %>
  <option value="<%= rs("id")%>"><%= rs("navn")%>
<% rs.MoveNext
loop %>
</select>
</form>
<%
if mode = "show" then
  if Request.Form("KampId") <> "" then
    'find alle gæt for kampen
    set rs = conn.execute("select * from Kampe where id="& Request.Form("KampId"))
    if not rs.eof then
      'Udskriv evt kamp info her......
      response.write "......."
      'Find alle gæt på kampen.
      set rs1 = conn.execute("select * from (bruger inner join brugerGaet on brugerGaet.brugerid = Bruger.Id) where kampid="& Request.Form("KampId"))
      do while not rs1.eof
        response.write rs1("navn") & ": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        rs1.MoveNext
      loop
    end if
  elseif Request.Form("BrugerID") <> "" then
    set rs = conn.execute("select * from bruger where id="& Request.Form("BrugerID"))
    if not rs.eof then
      'find alle gæt for en bruger
      set rs1 = conn.execute("select kampe.*, brugerGaet.resultat1 as res1,  brugerGaet.resultat2 as res2 from (kampe inner join brugerGaet on brugerGaet.kampid=kampe.ID) where brugerGaet.brugerid="& Request.Form("BrugerID"))
      do while not rs1.eof
        response.write rs1("kamp") &": "& rs1("resultat1") &"-"& rs1("resultat2") &"<br>"
        response.write rs("navn") & ": "& rs1("res1") &"-"& rs1("res2") &"<br>"
        rs1.MoveNext
      loop
    end if
  End If
end if %>
<p><a href=java script:history.go(-2)> << Tilbage</a></p>
</body>
</html>
Avatar billede emma-sofie Nybegynder
23. september 2004 - 13:14 #115
Eller er det en "UDFØR" knap der bare skal på ??

Når man har valgt en person - Tryk UDFØR og se alle hans gæt.
Når man har valgt en kamp - Tryk UDFØR og se alle gæt på den kamp.

Skal jeg prøve sådan noget ??  ;-)  ;-)
Avatar billede fennec Nybegynder
23. september 2004 - 13:32 #116
Der mangler i hvert fald en submit knap/funktion. Kan også smides på dropdown, så den sender så snart man vælger en bruger/kamp.

<select name="KampID" onchange="document.MyForm.BrugerID.selectedIndex=0; document.MyForm.submit();">
...
<select name="BrugerID" onchange="document.MyForm.KampID.selectedIndex=0; document.MyForm.submit();">
Avatar billede emma-sofie Nybegynder
23. september 2004 - 13:40 #117
Smart - Jeg kan se den godt vil submit'te med det samme. Men den skriver intet - Det er vel Response.write'erne jeg prøver at ændre på....
Avatar billede fennec Nybegynder
23. september 2004 - 13:48 #118
request.querystring("mode") værdien er ikke lagt i mode variablen. Smid dette ind på siden.

mode = request.querystring("mode")

eller ændre
if mode = "show" then

til:
if request.querystring("mode") = "show" then
Avatar billede fennec Nybegynder
23. september 2004 - 15:28 #119
Det ser jo ud til at virke :o)

En lille feature som er smart/rart at have.

<select name="KampID" onchange="document.MyForm.BrugerID.selectedIndex=0">
<option value="">
<%
set rs = conn.execute("select * from kampe")
do while not rs.eof %>
  <option value="<%= rs("id")%>" <% if request.form("KampID")&"" = rs("id")&"" then response.write "selected" %>><%= rs("kamp")%>
<% rs.MoveNext
loop %>
</select>
<select name="BrugerID" onchange="document.MyForm.KampID.selectedIndex=0">
<option value="">
<%
set rs = conn.execute("select * from bruger")
do while not rs.eof %>
  <option value="<%= rs("id")%>" <% if request.form("BrugerID")&"" = rs("id")&"" then response.write "selected" %>><%= rs("navn")%>
<% rs.MoveNext
loop %>
</select>
Avatar billede emma-sofie Nybegynder
23. september 2004 - 15:45 #120
Ja -Det fungerer helt perfekt... Men øhhh ! - Jeg er ikke lige med på, de nye ændringer du har lavet ??
Jeg har indsat dem, men jeg syntes ikke rigtig jeg kan finde fejlen !!!

;-)
Avatar billede fennec Nybegynder
23. september 2004 - 15:53 #121
Du skal lige have "; document.MyForm.submit();" med på onChange eventen på dropdown boksene, så formen bliver submittet. Det havde jeg glemt :o)
Avatar billede emma-sofie Nybegynder
24. september 2004 - 00:19 #122
Okay, nu virker det perfekt.
Men hvad var egentlig forskellen, i forhold til det andet du havde lavet ???

Nå pyt - Det virker meget fint og lækkert nu.
Tak ;-)
Avatar billede fennec Nybegynder
24. september 2004 - 08:33 #123
Forskellen er, at nu bliver det valg, man har lavet i dropdown'en, vist efter der er submittet. Før var begge dropdown tomme igen. Prøv et fjerne disse linjer, og du vil se hvordan det var før.

<% if request.form("KampID")&"" = rs("id")&"" then response.write "selected" %>
<% if request.form("BrugerID")&"" = rs("id")&"" then response.write "selected" %>

Det er altid rart for brugeren at han/hun kan se hvilke valg man lavede.
Avatar billede emma-sofie Nybegynder
24. september 2004 - 10:03 #124
Godmorgen Fennec - Ja, det kan jeg godt se. Du har helt ret, det er en vigtig oplysning, at brugeren kan se hvilken kamp det er, der bliver vist resultater fra.
Super godt.  ;-)

Mens jeg nu sidder med siden, fik jeg lige en god idé.

Vælger man en kamp, der ER spillet, er det en god funktionalitet, at man kan se hvad alle andre havde gættet på i den kamp. (Sådan virker det nu)
MEN - Det kunne være en god idé, hvis der nederst under alle brugernes gæt stod:
Kampen er spillet og resultatet blev 2-1.

Kan du følge mig ??

Kan det lade sig gøre ? Er det besværligt for dig ?
Fennec - Du må endelig sige til, hvis jeg spørger dig for meget, så du ikke bliver træt af mig....  ;-) - Men det var blot endnu en idé jeg fik.

Hav en fortsat rigtig god dag ;-)
Avatar billede fennec Nybegynder
24. september 2004 - 10:14 #125
Det er ikke noget problem at lave. Jeg havde faktist forberet scriptet på det :o)

'Udskriv evt kamp info her......
response.write "......."

Dette kan du udskifte med kamp info. f.eks

if trim(rs("resultat1")&"") = "" then
  'Kamp ikke spillet
  response.write "Kamp " & rs("kamp") &" er ikke spillet endnu"
else
  'kamp spillet
  response.write rs("kamp") &": "& rs("resultat1") &"-"& rs("resultat2")
end if
Avatar billede emma-sofie Nybegynder
24. september 2004 - 12:57 #126
Alletiders. Det er helt perfekt.

Fennec - Du ønskes en rigtig god week-end.
Avatar billede fennec Nybegynder
24. september 2004 - 13:03 #127
Det får jeg sikkert :o)
Og i lige måde...
Avatar billede emma-sofie Nybegynder
28. september 2004 - 11:25 #128
Hej Fennec
Jeg håber du har haft en god week-end med mere...
Personligt har jeg lidt travlt i øjeblikket.

Kort spørgsmål - hvis du har tid:

Flere testbrugere har haft problemer med at logge ind på "Gæt Resultat" systemet.
Dette skyldes, at de, efter de har oprettet sig - ikke kan forstå, at de ikke er logget ind !!!
Det er jo fordi, at de derefter skal tilbage på startside og SÅ logge sig ind.

Tror du - det er muligt, at gøre således, at efter at man har oprettet sig som bruger - så er man automatisk logget ind ??

**** NY.ASP
<html>
<head>
  <title>Ny Bruger</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <link href="../style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
<p><h2>Opret profil</h2>
<i>Vælg venligst et sigende Kalde-Navn. Det vil være dette navn, som vil figurere på High-Score listen med flere.
<br>E-Mail adresse og dit fulde navn SKAL udfyldes korrekt, men vil ikke være tilgængeligt for andre end Webmaster</i>
<form method="post" action="opret.asp">
<p>Kalde-Navn:<font color="red"> *</font><br>
      <input type="text" name="navn" maxlength="20" size="20">
<p>Ønsket password:<font color="red"> *</font><br>
    <input type="text" name="adgangskode" maxlength="50" size="50">
<p>E-mail adresse:<font color="red"> *</font><br>
      <input type="text" name="email" maxlength="50" size="50">
<p>Dit fulde navn:<font color="red"> *</font><br>
      <input type="text" name="brugernavn" maxlength="100" size="50">
<p><br>
<input type="submit" value="Opret">
  &nbsp;
  <input type="reset" value="Nulstil">
</form><p>
  <font color="red">*</font>= Alle felt kræves udfyldt
<!-- #INCLUDE FILE="../bundtekst.asp" -->
</body>
</html>

**** OPRET.ASP
<html>
<head>
  <title>Opret bruger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style.css" rel="STYLESHEET" TYPE="text/css">
</head>
<body>
<h2><b>Brugeroprettelse</b></h2>
<%
Dim navn, adgangskode, brugernavn, pw, mail, fejl

fejl = false
navn = Request.Form("navn")
adgangskode = Request.Form("adgangskode")
email = Request.Form("email")
brugernavn = Request.Form("brugernavn")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=D:\asgi.dk\www\db\resultat.mdb;UID=;PWD=;"

Conn.Open DSN

'Tester om brugernavn findes i databasen
Set rs = Conn.execute ("SELECT * FROM bruger WHERE navn='" & navn & "'")

If Not rs.Eof Then
    Response.Write("<p><font color=red>Brugernavn er allerede oprettet! Vælg venligst et andet brugernavn!</font></p>")
    fejl = true
End If

'Tester om email findes i databasen
Set rs = Conn.execute ("SELECT * FROM bruger WHERE email='" & email & "'")

If Not rs.Eof Then
    Response.Write("<p><font color=red>E-Mailadresse er allerede anvendt - Der må kun oprettes en bruger pr. E-Mail adresse!</font></p>")
    fejl = true
End If

Conn.Close
Set Conn = Nothing

If navn = "" Then
    Response.Write("<p><font color=red>Indtast venligst et navn!</font></p>")
    fejl = true
End If

If adgangskode = "" Then
    Response.Write("<p><font color=red>Indtast venligst et password!</font></p>")
    fejl = true
End If

If email = "" Then
    Response.Write("<p><font color=red>Indtast venligst en e-mail adresse!</font></p>")
    fejl = true
End If

'Opretter profil i databasen
If fejl <> true Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=D:\asgi.dk\www\db\resultat.mdb;UID=;PWD=;"

Conn.Open DSN

strSQL = "INSERT INTO bruger (" &_

    "navn, brugernavn, adgangskode, email, oprettet, sidste_login) " &_

    "values('" & navn & "', '" & brugernavn & "', '" & adgangskode & "', '" & email & "', '" & Now & "', '" & Now & "')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

'Udskriver information
    Response.Write "<p><b>Navn:</b> " & navn
    Response.Write "<p><b>Password:</b> " & adgangskode
    Response.Write "<p><b>E-mail:</b> <a href=mailto:" & email & ">" & email & "</a></p>"
    Response.Write "<p><b>Fulde Navn:</b> " & brugernavn   
    Response.Write "<p> " & navn & " er nu oprettet som bruger!</p>"
    Response.Write "<p><a href=java script:window.print()>Udskriv information</a></p>"
        Response.Write "<p><a href=java script:history.back()>Tilbage</a></p>"
End If
If fejl = true Then
    Response.Write("<p><a href=java script:history.back()>Tilbage</a></p>")
End If
%>
</body>
</html>
Avatar billede fennec Nybegynder
28. september 2004 - 12:33 #129
Det kan sagtens lade sig gøre. Du skal bare sætte de samme sessions, når du gemmer i databasen, som du gør når du logger ind. Problemet er at trække ID ud, som lige er blevet indsat. Men det kan da lade sig gøre. Der er to måder at få Id'et ud på, men jeg ved ikke om den ene virker i Access. Ellers kræver det bare et ekstra opslag. Begge metoder bruger "SELECT @@IDENTITY" funktionen.

Virker måske (et database opslag):
strSQL = "SET NOCOUNT ON; INSERT INTO bruger (" &_
    "navn, brugernavn, adgangskode, email, oprettet, sidste_login) " &_
    "values('" & navn & "', '" & brugernavn & "', '" & adgangskode & "', '" & email & "', '" & Now & "', '" & Now & "'); SELECT @@IDENTITY AS THISID;"
set rs = Conn.Execute(strSQL)
Session("BrugerID") = rs("THISID")
Session("Brugernavn") = navn
Session("BrugerEmail") = email
Session("logon") = "JEPS"


Denne virker (to database opslag):
strSQL = "INSERT INTO bruger (" &_
    "navn, brugernavn, adgangskode, email, oprettet, sidste_login) " &_
    "values('" & navn & "', '" & brugernavn & "', '" & adgangskode & "', '" & email & "', '" & Now & "', '" & Now & "')"
Conn.Execute(strSQL)
set rs = conn.Execute("SELECT @@IDENTITY AS THISID;")
Session("BrugerID") = rs("THISID")
Session("Brugernavn") = navn
Session("BrugerEmail") = email
Session("logon") = "JEPS"

Nu kan jeg ikke huske, hvilke session's du sætter, når du logger ind, men du kan sikkers se ideen.

Du har brugerId'et til at ligge i rs("THISID") i begge metoder, og hvis du gemmer andre oplysninger om brugeren i session (som navnet), kan du tage dem fra de samme ASP variablerne, som du brugte i indsættelsen.
Avatar billede emma-sofie Nybegynder
04. oktober 2004 - 10:54 #130
Hej Fennec
Jeg ville blot lige give lyd fra mig.
Jeg har desværre lidt travlt i øjeblikket med både arbejde samt andet frivilligt arbejde.
Jeg har fået en del tilbagemeldinger på "Gæt Resultat" scriptet - Jeg vender frygtelig tilbage senere..... Håber alt er vel.

Fortsat rigtig god dag  ;-)
Avatar billede fennec Nybegynder
04. oktober 2004 - 12:25 #131
Alt er skam vel her.
Jeg får jo nok besked når du vender tilbage :o)
Avatar billede emma-sofie Nybegynder
25. oktober 2004 - 11:53 #132
Hej Fennec
Jeg ville blot lige igen give lyd fra mig.
Jeg har desværre stadig meget travlt med arbejde...
- Jeg vender tilbage senere..... Håber du kan tilgive min lange respons tid og jeg håber alt er vel....

Fortsat god dag  ;-)
Avatar billede fennec Nybegynder
25. oktober 2004 - 12:05 #133
Jeg har det stadig fint :o)
Avatar billede Rasmusjc Juniormester
06. december 2004 - 15:34 #134
Hej Emma-Sofie og Fennec.

Nu var det egentlig ikke lige et tips system jeg var inde og lede efter, men nu faldt jeg jo lige over det, og hvor kan man dog være heldig en gang i mellem.
Har selv været ved at fifle lidt med et "tips-system" men det er aldrig blevet til noget d
Avatar billede Rasmusjc Juniormester
06. december 2004 - 15:35 #135
(kom til at trykke send).
noget da min viden ikke er stor nok.
Derfor ville jeg høre om det var muligt at få de færdige script/koder?

Mvh Rasmus Christensen
Avatar billede emma-sofie Nybegynder
06. december 2004 - 16:06 #136
Halløj Rasmus

Selvfølgelig - For min skyld må du gerne få kopi af det hele....  ;-)

Jeg er dog ikke helt færdig...Jeg skal lige have defineret de sidste ting for Fennec og derefter, burde det være ** perfekt **.
Jeg har desværre meget lidt tid pt, så det kommer lige til at vare lidt....

Men du kan sende mig din email og så kan jeg sende kopi af det hele når vi er færdige....

Fortsat god dag.....  ;-)
Avatar billede Rasmusjc Juniormester
06. december 2004 - 16:11 #137
Det ville være perfekt hvis du kunne det. Min e-mail er rasmus_j_c@vip.cybercity.dk
Avatar billede emma-sofie Nybegynder
06. december 2004 - 16:14 #138
OK - Jeg skal nok gøre det. Men det bliver lige lidt senere, da jeg lige skal finde filerne sammen - og jeg vil i den anledning lige definere de sidste rettelser til fennec.
Avatar billede krc_ Nybegynder
07. december 2004 - 15:42 #139
Hejsa. Jeg har siddet på sidelinie og fulgt denne tråd fra starten og er også meget interesseret i at få det færdige script. Så hvis det ikke er for meget for langt såee kristian@darkzone.dk ;o)
Avatar billede emma-sofie Nybegynder
07. december 2004 - 16:46 #140
Hej krc
Intet problem, jeg skal nok huske dig.
Men bare husk hvad jeg skrev: 06/12-2004 16:06:40

Hej Hej ;-)
Avatar billede Rasmusjc Juniormester
04. januar 2005 - 15:00 #141
Hej Igen Emma-Sofie vil lige hører om du når det til fodboldopstart :O).

Mvh. Rasmus
Avatar billede emma-sofie Nybegynder
04. januar 2005 - 15:08 #142
Hej Rasmus
Good point !!

Klart - Selvfølgelig skal det være færdigt inden sæson'en går i gang.... Jeg skal nok huske dig......
Er lige lidt travlt hængt op i øjeblikket...  ;-)
By the way: Hvad er adressen på dit/jeres klubsite ?
Avatar billede fennec Nybegynder
04. januar 2005 - 15:11 #143
... Og jeg følger stadig med i ?'et.
Avatar billede Rasmusjc Juniormester
21. marts 2005 - 17:17 #144
Hej E-M og Fennec.

Nu er det ikke for at være pågående, men hvordan går det med tipskuponen? Der er jo snart fodbold opstart ja i næste weekend.

Så hvordan står det til, noget man kan hjælpe med?

Mvh Rasmus
Avatar billede Rasmusjc Juniormester
05. april 2005 - 19:17 #145
Er spørgsmålet fuldstændig gået ned?

Mvh Rasmus Christensen
Avatar billede emma-sofie Nybegynder
05. april 2005 - 20:30 #146
Sorry Orry - min fejl.....

Lige startet nyt job, så tiden er vist løbet fra mig.........

Laver lige ny statusmelding i aften.......

;-)
Avatar billede fennec Nybegynder
06. april 2005 - 08:47 #147
Jeg er her også stadig :o)
Avatar billede Rasmusjc Juniormester
06. april 2005 - 16:05 #148
Okay, godt at høre at i begge er med endnu.
Avatar billede emma-sofie Nybegynder
06. april 2005 - 17:43 #149
Thrust me...Jeg skal nok vende tilbage hurtigt ;-)
Avatar billede emma-sofie Nybegynder
08. april 2005 - 11:10 #150
Kigger på det i dag....

Sæsonstart i morgen....

;-)
Avatar billede emma-sofie Nybegynder
09. april 2005 - 01:05 #151
Hej Hej - Prøver lige at få det op at køre.......

Fennec: Jeg kan ikke slette en kamp i admin delen ?? Kan du hjælpe ?
Rasmus: Send lige din mailadresse, så sender jeg zip med alle filerne...

Ha det rigtig godt begge to ;-)
Avatar billede Rasmusjc Juniormester
09. april 2005 - 13:12 #152
Du får den lige igen. Rasmus_j_c@vip.cybercity.dk
Avatar billede fennec Nybegynder
11. april 2005 - 08:22 #153
Nu er det ved at være længe siden, så jeg kan ikke helt huske din opbygning, men noget i denne stil:

SletKnap:
<a href="admin.asp?mode=sletKamp&kampID=34">slet</a>

sletKode:
if mode="sletKamp" then
  tmp = request.querystring("kampID")
  conn.execute("delete from brugerGaet where kampid="& tmp)
  conn.execute("delete from kampe where id="& tmp)
end if
Avatar billede Rasmusjc Juniormester
12. maj 2005 - 15:21 #154
Så er der gået en månede siden sidst, hvordan er status??

Rasmus
Avatar billede emma-sofie Nybegynder
25. maj 2005 - 10:14 #155
Hej Rasmus og Fennec
Så er jeg tilbage efter udlandsophold....

Spørgsmålet vil blive behandlet videre nu........

Sorry ;-) - og tak.
Avatar billede Rasmusjc Juniormester
12. juli 2005 - 21:07 #156
Hej Emma-Sofie og Fennec.
Har vi noget klart til efterårs sæssonen??

God Sommer
Mvh Rasmus
Avatar billede fennec Nybegynder
13. juli 2005 - 08:15 #157
Jeg er kun hjælper på ?'et (og venter stadig på point :o)
Det er Emma-Sofie, der har koden.
Avatar billede emma-sofie Nybegynder
13. juli 2005 - 10:28 #158
Hej kære Ekspert venner

Ja, sorry - Undskyldninger kan ikke blive gode nok........

Tro mig - Jeg vil også gerne have det klar til efterårssæson'en......og igen - mine undskyldninger kan ikke opveje den lange ventetid - MEN:
Tro mig - Jeg er fantastisk glad for fennec's hjælp og jeg vil med glæde dele ud af scriptet når det bliver færdigt....
Nu får jeg snart sommerferie fra mit nye arbejde, så bliver der forhåbentlig tid til at få lukket hullerne......

Fortsat rigtig god sommer til jer alle........ ;-)
Avatar billede kimlarsen1978 Nybegynder
13. august 2005 - 11:00 #159
Heysa - lige en kommentar
Det er da for dårligt at du ikke har givet fennec points for alt den hjælp!
Avatar billede emma-sofie Nybegynder
13. august 2005 - 23:26 #160
Kære Kære venner på Eksperten......

Jeg kunne aldrig drømme om, at undlade at give fennec point....
Jeg håber ikke du nogensinde har været i tvivl om dette fennec - det har ihvertfald aldrig været hensigten.......

Jeg har skrevet det tidligere og skriver det gerne igen - jeg er utrolig taknemmlig for al din hjælp fennec og du skal nok få point med mere til....bare sig til.

Jeg har heller ikke glemt Rasmus........

Nu er sommeren slut og vi skal have afsluttet dette superscript. Jeg vender tilbage senere fennec og Rasmus. Hav en rigtig god dag - allesammen.....
Avatar billede emma-sofie Nybegynder
21. november 2005 - 17:12 #161
Kære venner på eksperten....

Ja - så gik sæson'en. Så må vi få systemet op at køre inden næste sæson....

;-) Ha det nu rigtig godt

Fennec ?? - Vil du have alle dine super fortjente point nu, eller skal vi vente til det er helt færdigt ??? Bare sig til... Jeg vil med glæde give dig point.

Rigtig god dag alle sammen
Avatar billede Rasmusjc Juniormester
21. november 2005 - 17:24 #162
Hej Emma.

Det lyder rigtigt godt det der, tænkte også forleden dag på at skrive herinde, men det er da godt at det ikke er glemt helt, selvom det er lidt sjovt at tænke på at første gang at Fennec svarede var tilbage til 10/09-2004 det taget åbentbart langt tig om at lave.
Vi starter op med bold den 28. august så må vi se om det er færdig til den tid.

Rasmus
Avatar billede fennec Nybegynder
22. november 2005 - 08:27 #163
Godt at E har fået gang i emails igen, ellers havde jeg da glemt dette ? :o)

Angående point vil jeg hellere have dem i dec eller jan. Jeg kommer nemlig ikke så meget på E i de måneder (diverse ferier), og derfor kan jeg få problemer med at opretholde mit pro-medlemskab.
Avatar billede emma-sofie Nybegynder
12. december 2005 - 16:10 #164
Hej Fennec
Det er i dag den 12 december 2005.
Jeg indsætter point til dig som lovet.

Til Rasmus: Jeg skal nok få det færdigt med kopi til dig også....

God Jul ..........so far ;-)
Avatar billede Rasmusjc Juniormester
03. februar 2006 - 08:55 #165
Hej Emma og Fennec.

Hvordan ser det ud med projektet?

God weekend.
Rasmus
Avatar billede emma-sofie Nybegynder
08. marts 2006 - 11:16 #166
Nu må jeg se at få samlet filerne....
Jeg vil arbejde på det.....(også inden sæson'en nu starter - igen)

;-)

Jeg skal nok vende tilbage (igen)
Avatar billede Rasmusjc Juniormester
09. april 2006 - 12:44 #167
Hej E.S.
Hvordan står det til, vi har i denne weekend spillet vores første turneringskamp, bliver lotto-systemet klar til næste weekend, eller hvor langt tid vil du tro der går?

Rasmus
Avatar billede Rasmusjc Juniormester
10. september 2006 - 18:38 #168
Hej Emma og Fennec.

Ja så går fodbold sæsonen mod enden, hvordan står det til med jer?

Får vi dette op at køre eller er idéen droppet?

Hilsen Rasmus
Avatar billede fennec Nybegynder
11. september 2006 - 09:04 #169
Det er emma-sofie, der styre dette (jeg har bare hjulpet lidt), og som du kan ser herinde, sker der ikke så meget mere :o)

Du kan måske være så heldig, at hun vil give dig den kode hun har, så du selv kan arbejde vidre med den.
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
Kurser inden for grundlæggende programmering

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