webForumDet fria alternativet

Aspkod till inloggning för en mySQLdatabas

ASP

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 →
Medlem sedan mars 2003970 inlägg
#41

Jag har för att vara ärlig ingen aning om vad min session heter.....
:r Hur får man reda på det?

Medlem sedan juni 200032 967 inlägg
#42

Uh, hur vet du då att den har försvunnit?

Medlem sedan mars 2003970 inlägg
#43

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?

Medlem sedan juni 200032 967 inlägg
#44

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,

Medlem sedan mars 2003970 inlägg
#45

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?

Medlem sedan mars 2003772 inlägg
#46

Din Session heter "inloggad"
Det ser du här

Else
Session("inloggad") = 1
End If
Medlem sedan mars 2003772 inlägg
#47

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
Medlem sedan mars 2003970 inlägg
#48

Okaj, får väl kika vad som står....
Det står "1".
Betyder det att den är igång?

Medlem sedan juni 200032 967 inlägg
#49

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

Medlem sedan mars 2003772 inlägg
#50

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
%>
Medlem sedan mars 2003970 inlägg
#51

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!!!

Medlem sedan mars 2003970 inlägg
#52

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!!!!

Medlem sedan mars 2003772 inlägg
#53

Hehe, fick du igång allting nu ?

Medlem sedan mars 2003970 inlägg
#54

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.

Medlem sedan juni 200032 967 inlägg
#55

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

Medlem sedan juni 200032 967 inlägg
#56

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

Medlem sedan mars 2003970 inlägg
#57

Så glömmer man den igen ;)
Tack @nders

Medlem sedan mars 2003970 inlägg
#58

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">&nbsp;&nbsp;<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

Medlem sedan juni 200032 967 inlägg
#59

Jag kan inte se att du sätter en session (eller liknande) någonstans som innehåller vem du är inloggad som :q

Medlem sedan mars 2003970 inlägg
#60

Jag vet faktiskt inte hur man gör något sånt :r
Kan man få nån liten exempelkod kanske?
Tack!

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)