Avatar billede c-lund Nybegynder
14. februar 2006 - 13:18 Der er 7 kommentarer og
2 løsninger

Login system

Hey. jeg skal lave et login, hvor brugere konto kun gælder for en hvis periode.
Første gang de logger ind, bliver der sat en start dato ved hjælp af f.eks. "Now" mit første spørgsmål er så, hvordan man for den til at ligge en måned til.

Mit andet spørgsmål går på, hvordan man skriver If sætningen, for den jeg har nu virker ikke. den hopper ned til "Else"

Håber i kan hjælpe

KodeForm = Request.Form("KodeForm")

strSQL = "SELECT Kode, Dato_Start, Dato_Slut From koder"
Set rs = Conn.Execute(strSQL)

Kode = rs("Kode")
Dato_Start = rs("Dato_Start")
Dato_Slut = rs("Dato_Slut")
       
Dato_Nu = " & Now & "           
           

If ("" + KodeForm = Kode AND Dato_Slut > Dato_Nu) then
Response.Write(":-)")   
Response.write("<br>")
Response.write("Slut " & Dato_slut & "")
Else
Response.write("KAN DU KOMME VÆK")
End If
Avatar billede nythjem Nybegynder
14. februar 2006 - 13:22 #1
Hej Lund.

Du laver bare en lille pludser.. Som herunder:

Dato_Slut = rs("Dato_Slut")+30

Det kunne også se sådan her ud når du opretter brugeren:

Now() ->  Nuværende dato og tid
Now()+30  Nuværende dato og tid + 30 dage
Avatar billede c-lund Nybegynder
14. februar 2006 - 13:26 #2
ok, tak for det. ved du hvorfor den ikke acceptere min if sætning?
Avatar billede nythjem Nybegynder
14. februar 2006 - 13:39 #3
Ja fordi den er forkert.. :)

Brug datediff i stedet.. :)


din_start_dato = DateDiff("d", Now, Dato_Slut)

' Hvis datoen IKKE er overskredet? Altså mindre end nul
' Jeg kan ikke lige huske om din_start_dato returnerer et negativt
' eller positivt tal

If din_start_dato < 0 Then
Response.Write(":-)")   
Response.write("<br />")
Response.write("Slut: " & Dato_slut)
Else
Response.Write("KAN DU KOMME VÆK")
End If
Avatar billede c-lund Nybegynder
14. februar 2006 - 13:48 #4
Den returnere et 1 tal. jeg er nu bare ikke helt sikker på at jeg forstår hvad der sker. hvad gør DateDiff?
Avatar billede nythjem Nybegynder
14. februar 2006 - 13:52 #5
DateDiff finder foreskellen mellem Now (nu) og dato´en, altså:

DateDiff("d", "14-02-2005", "16-02-2005") giver 2 eller minus to.

Mener helt bestemt det giver 2..

Du siger den returnerer 1. Hvad hedder slutdato?
Avatar billede c-lund Nybegynder
14. februar 2006 - 13:59 #6
ja, fandt ud af hvordan den virker, den du skriver vil returnere 2. men hvad så hvis der også skal tid på. altså d. 16-02-2006 14:01:25 for det tager den ikke højde for nu
Avatar billede nythjem Nybegynder
14. februar 2006 - 14:08 #7
Vi tager lige dateDiff..

"d"´et du kan se står for dage. Der findes også en række andre bogstaver du kan udskifte, og dermed får du et andet resultet. Hvis det eksempelvis skal være sekunder skriver du S i stedet for D.

(YYYY) Year
(Q) Quarter
(M) Month
(Y) Day Of Year
(D) Day
(W) WeekDay
(WW) Week Of Year
(H) Hour
(N) Minute
(S) Second

http://www.devguru.com/Technologies/vbscript/quickref/datediff.html
Avatar billede c-lund Nybegynder
14. februar 2006 - 14:21 #8
Cool nok, så ved man også det :) tak for det
Avatar billede nythjem Nybegynder
14. februar 2006 - 14:31 #9
Velbekomme, og tak for point :)
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