Jag har för att vara ärlig ingen aning om vad min session heter.....
:r Hur får man reda på det?
Aspkod till inloggning för en mySQLdatabas
70 svar · 802 visningar · startad av BulletBoyCrime · sida 3 av 4
Frågan, av BulletBoyCrime
Nu ber jag ännu en gång välgörarna på wF efter hjäklp, och denna gången gäller det en motsvarighet för RecSet i SQL queryn. Kort och gott, hur skall man göra för att fixa en inloggningskod som länkar till en mySQLdatabas på datorn och kikar igenom databasens pass respektive namn för att starta en session? Tack så otroligt mycket för all hjälp ;)
Läs frågan i sin helhet →Uh, hur vet du då att den har försvunnit?
Det här verkar ju jädrigt sjukt
Sessionen verkar visa info ifrån användarens datbasfält, men om man går tillbaka till stratsidan så redirectar den till errorpass.asp som indikerar att det inte finns en session.
Hur skall man göra?
BulletBoyCrime skrev:
Hur skall man göra?
Man skall visa oss aktuell kod, så kan vi försöka se om du tänkt snett.
Mvh,
Aha, det glömde jag i röran, ursäkta.
Visar min aspkodning då.
Startsidan:
userform = Request.Querystring("alias")
passform = Request.Querystring("pass")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
list = "SELECT * FROM players WHERE name='" & userform & "' AND password='" & passform & "' "
Set rn = Connect.Execute(list)
If rn.EOF Then
Session("logged_status") = FALSE
Response.redirect("errorpass.asp")
Else
Session("inloggad") = 1
End If
Dim Cn, Rs, arrRecs, i, Name, Title, Race, Religion, Perk, Honor, Cash, Helth, Enercur, Enermax, Titel, Ras, Relle, Perko
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
Set Rs = Cn.Execute("Select name, title, race, religion, perk, honor, cash, curhealth, energycur, energymax From players")
If Rs.EOF Then
Rs.Close : Set Rs = Nothing
Cn.Close : Set Cn = Nothing
Else arrRecs = Rs.GetRows()
Rs.Close : Set Rs = Nothing
Cn.Close : Set Cn = Nothing
For i = 0 To UBound(arrRecs,2)
Name = arrRecs(0,i)
Title = arrRecs(1,i)
Race = arrRecs(2,i)
Religion = arrRecs(3,i)
Perk = arrRecs(4,i)
Honor = arrRecs(5,i)
Cash = arrRecs(6,i)
Helth = arrRecs(7,i)
Enercur = arrRecs(8,i)
Enermax = arrRecs(9,i)
Next
End If
If Title = "1" Then
Titel = "Hitman"
Elseif Title = "2" Then
Titel = "Spy"
Elseif Title = "3" Then
Titel = "Assassin"
Elseif Title = "4" Then
Titel = "Pimp"
Elseif Title = "5" Then
Titel = "Survivor"
Elseif Title = "6" Then
Titel = "Driver"
Elseif Title = "7" Then
Titel = "Lawyer"
Elseif Title = "8" Then
Titel = "Explosives Expert"
End If
If Race = "1" Then
Ras = "Aryan"
Elseif Race = "2" Then
Ras = "Nigger"
Elseif Race = "3" Then
Ras = "Latino"
Elseif Race = "4" Then
Ras = "Chinese"
Elseif Race = "5" Then
Ras = "Dego"
Elseif Race = "6" Then
Ras = "Irish"
Elseif Race = "7" Then
Ras = "Mulatto"
Elseif Race = "8" Then
Ras = "Japanese"
End If
If Religion = "1" Then
Relle = "Atheist"
Elseif Religion = "2" Then
Relle = "Protestant"
Elseif Religion = "3" Then
Relle = "Catholic"
Elseif Religion = "4" Then
Relle = "Jew"
Elseif Religion = "5" Then
Relle = "Muslim"
Elseif Religion = "6" Then
Relle = "Buddhist"
End If
If Perk = "1" Then
Perko = "A Natural"
Elseif Perk = "2" Then
Perko = "Discipline"
Elseif Perk = "3" Then
Perko = "Martial Arts Fanatic"
Elseif Perk = "4" Then
Perko = "Energized"
Elseif Perk = "5" Then
Perko = "Technical Genius"
Elseif Perk = "6" Then
Perko = "Been in the Business"
Elseif Perk = "7" Then
Perko = "Speaker"
Elseif Perk = "8" Then
Perko = "Low Bait"
Elseif Perk = "9" Then
Perko = "Agent"
End If
If session("inloggad") = 1 Then
Blev jädrigt långt men nu så kan ni väl ta en titt?
Jag hade gjort loginvalidate delen helt enskild och sedan slussat användaren vidare till den sidan du vill att dom ska komma till genom
If rn.EOF Then
Session("logged_status") = FALSE
Response.redirect("errorpass.asp")
Else
Session("inloggad") = 1
Response.redirect("skyddadesidan.asp")
End If
Okaj, får väl kika vad som står....
Det står "1".
Betyder det att den är igång?
Det är inte så konstigt att det blir som det blir. När du inte postar någonting till förstasidan så blir recordsetet EOF och sessioner sätts om och du blir redirectad.
If not Session("inloggad") = 1 then
' .... här kör du koden med inloggningskontrollen
end if
Mvh
Ja, men alltså du skulle lika gärna kunna skriva
Session("inloggad") = hejsvejs
Men om du nu håller dig till
Session("inloggad") = 1
så va noga med vart du placerar CHECKEN på dom sidorna du vill validera.
högst upp på sidan du vill skydda.
<%
If session("inloggad") = 1 Then
%>
HÄR KOMMER RESTEN AV INNEHÅLLER I SIDAN.
Längst ner på samma sida
<%
Else
response.Redirect("errorpass.asp")
End If
%>
Aha, tack.
Men jag har dock märkt att det går skitslött så jag kör nog på SteveP's sätt. Men det känns härigt att veta att om det strula så finns det reserver. :e :birp
tack så jättemycket!!!
Ska bara säga, om det (mot all förmodan) finns nåt jag skulle kunna hjälpa er med så är det bara att säga till. wF rockar!!!!
Hehe, fick du igång allting nu ?
Jo jag fick igång det men nu strular det igen x( fattar noll jag pillade ingenting
Suck.....
Hjälp, snälla?
check.asp:
<%
userform = Request.Querystring("alias")
passform = Request.Querystring("pass")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
list = "SELECT * FROM players WHERE name='" & userform & "' AND password='" & passform & "' "
Set rn = Connect.Execute(list)
If rn.EOF Then
Session("logged_status") = FALSE
Response.redirect("errorpass.asp")
Else
Session("inloggad") = 1
rad 27: Response.redirect("hangoutr.asp")
End If
%>
felmess:
Response object error 'ASP 0156 : 80004005'
Header Error
/crimea bay/check.asp, line 27
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
Jag förstår inte varför du ska göra inloggningskollen trots att man är inloggad. Så här hade jag provat:
<%
[b]If not Session("inloggad") = 1 then[/b]
userform = Request.Querystring("alias")
passform = Request.Querystring("pass")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
list = "SELECT * FROM players WHERE name='" & userform & "' AND password='" & passform & "' "
Set rn = Connect.Execute(list)
If rn.EOF Then
Session("logged_status") = FALSE
Response.redirect("errorpass.asp")
Else
Session("inloggad") = 1
Response.redirect("hangoutr.asp")
End If
[b]Else
Response.redirect("hangoutr.asp")
End if[/b]
%>
Mvh
Och, förresten, felmeddelandet beror på att du försöker göra redirect när du redan skickat något till browsern. Response.buffer=True högst upp på sidan borde lösa det problemet.
Mvh
Så glömmer man den igen ;)
Tack @nders
Nu stökar nåt igen.....
Detta fattar jag inte hur man ska fixa......
Jag har tre registrerade användare och varje gång man loggar in som någon så loggas man in som den användaren längst ner.
Hur ska man lösa detta??
check.asp:
<%
userform = Request.Querystring("alias")
passform = Request.Querystring("pass")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
list = "SELECT * FROM players WHERE name='" & userform & "' AND password='" & passform & "' "
Set rn = Connect.Execute(list)
If rn.EOF Then
Session("logged_status") = FALSE
Response.redirect("errorpass.asp")
Else
Session("inloggad") = 1
Response.redirect("hangoutr.asp")
End If
%>
inloggningsformuläret:
<form method="get" action="check.asp">
<SPAN ID="text">
<B>Criminal Alias:</B>
<input type="text" size="15" name="alias"><BR><BR>
<B>Password:</B>
<input type="password" size="15" name="pass"> <input type="image" src="login.jpg" value="submit" class="noborder" STYLE="position: relative; top: 6px;">
</SPAN></form>
Vad är det som jag gjort fel :q
Jag kan inte se att du sätter en session (eller liknande) någonstans som innehåller vem du är inloggad som :q
Jag vet faktiskt inte hur man gör något sånt :r
Kan man få nån liten exempelkod kanske?
Tack!
