webForumDet fria alternativet

Fel vid registrering

ASP

10 svar · 192 visningar · startad av Qimen

Medlem sedan juni 20015 009 inlägg
Frågan#1

Hej
När man ska registrera sig på min sida och information ska läggas till i databsen så blir det fel. Felet blir när jag först lägger till info i tabbell 1 (det funkar) men sedan när jag ska lägga till info i tabbell 2 funkar det inte.

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";pwd=08070"

Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet2 = Server.CreateObject("ADODB.Recordset")

Jag har min db koppling och sedan när jag ska lägga till använder jag recset.

Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

	RecSet.AddNew

	RecSet("epost") = session("2email")
	RecSet("username") = session("2username")
	RecSet("losen") = session("2pw1")

	
gb = "Select * From gb"
RecSet2.Open gb, Connect, adOpenStatic, adLockOptimistic

	RecSet2.AddNew
	
	RecSet("tillID") = session("23username")
	RecSet("namn") = session("23username")
	RecSet("datum") = Date
	RecSet("text") = session("23text")

RecSet.Update
RecSet.Close
	
Connect.Close
	Set RecSet = nothing
	Set Connect = nothing

Vad är fel? Överst på sidan har jag spartat sessions:

	Session("2username")= Request.Form("username")
	Session("2pw1")= Request.Form("pw1")
	Session("2email")= Request.Form("email")
	Session("23text")= Request.Form("23text")	
	Session("23username")= Request.Form("username")

Här är nog en del fel så...

------------------
... *hick*

[Redigerat av Qimen den 05 jan 2002]

Medlem sedan feb. 20012 412 inlägg
#2

Hej, jag är ingen höjdare på add.new funktionen, men borde du inte ha en rad som ser ut :

RecSet2.Update

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan juni 20015 009 inlägg
#3

Jo jag har provat med och utan den. Har provat jätte många olika sätt.

------------------
... *hick*

Medlem sedan feb. 20012 412 inlägg
#4

Denna då:

Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew

RecSet("epost") = session("2email")
RecSet("username") = session("2username")
RecSet("losen") = session("2pw1")
RecSet.Update

gb = "Select * From gb"
RecSet2.Open gb, Connect, adOpenStatic, adLockOptimistic

RecSet2.AddNew

RecSet("tillID") = session("23username")
RecSet("namn") = session("23username")
RecSet("datum") = Date
RecSet("text") = session("23text")

RecSet2.Update
RecSet.Close

Connect.Close
Set RecSet = nothing
Set Connect = nothing

För övrigt vill jag påpeka att SQL-frågor i form av INSERT är mycket optimalare.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan juni 20015 009 inlägg
#5

Jag är öppen för förslag på detta. Det jag vet inte hur jag ska göra då, för längre upp på sidan har jah funktioner som kollar att lösenord är ifyllda och att användarnamnet inte är upptaget. =)

------------------
... *hick*

Medlem sedan juni 20015 009 inlägg
#6

Nu kan får jag felmeddelande om att den kan inte hittar registernyckeln rad 81:

RecSet("tillID") = session("23username")

Konstigt överst på sidan har jag

Session("23username")= Request.Form("username")

och på föregående sida finns fältet username.

------------------
... *hick*

Medlem sedan juni 20015 009 inlägg
#7

Om detta är till nånn nytta så kan jag lägga upp hela dokumentet.

<!-- #include file="secure/adovbs.inc" -->
<%
	Session("2username")= Request.Form("username")
	Session("2pw1")= Request.Form("pw1")
	Session("2email")= Request.Form("email")
	Session("2avtal")= Request.Form("avtal")
	Session("23namn")= Request.Form("23namn")
	Session("23text")= Request.Form("23text")	
	Session("23username")= Request.Form("username")	
	Session("24username")= Request.Form("username")
	
%>
<%

If Request.Form("pw1") <> Request.Form("pw2") Then

	Session("meddelande") = "Båda lösenorden måste vara samma!! Försök igen."
	Response.Redirect "3518789102.asp"

End If

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";pwd=000"

Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet2 = Server.CreateObject("ADODB.Recordset")

Addera = "Select username From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

Do Until RecSet.EOF

	If RecSet("username") = Request.Form("username") Then

		Session("meddelande") = "Det användarnamnet var redan taget! Försök med något annat"
		RecSet.Close
		Response.Redirect "3518789102.asp"

	End If

RecSet.MoveNext

Loop

RecSet.Close

%>
<%
Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

	RecSet.AddNew

	RecSet("fnamn") = session("1fnamn")
	RecSet("enamn") = session("1enamn")
	RecSet("epost") = session("2email")
	RecSet("username") = session("2username")
	RecSet("losen") = session("2pw1")
	RecSet("stad") = session("1stad")
	RecSet("bor") = session("1bori")
	RecSet("kon") = session("1kon")
	RecSet("alder") = session("1alder")
	RecSet("hemsida") = session("1hemsida")
	RecSet("citat") = session("1om")
	RecSet("datum") = Date
	RecSet("status") = "offline"
	

gb = "Select * From gb"
RecSet2.Open gb, Connect, adOpenStatic, adLockOptimistic

RecSet2.AddNew
	
	RecSet("tillID") = session("23username")
	RecSet("namn") = session("24username")
	RecSet("datum") = Date
	RecSet("text") = session("23text")

RecSet2.Update
RecSet.Close

Connect.Close
Set RecSet = nothing
Set Connect = nothing
	
Session("meddelande") = "Du har nu blivit inlagd i registret! Testa att logga in."
Response.Redirect "3518789103.asp"
%>

Jag vet att det inte är bra att använda sessions men eftersom det bara är en registrering så.

------------------
... *hick*

Medlem sedan juni 20015 009 inlägg
#8

DauaN sa att man kunde använda:

strSQL = "INSERT INTO gb(tillID, namn, datum, text) VALUES('"& session("23username") &"', '"& session("23username") &"', '&Date&', '"& session("23text") &"')"
Connect.Execute(strSQL)

Men den vill inte funka. Den övre delen funkar utmärkt den är den sista delen som inte funkar. Om jag kör med detta så får jag felmesss om att programsats väntas.
Igen som vet felet?

------------------
... *hick*

Medlem sedan feb. 20012 412 inlägg
#9

Hej, eftersom du använder access så är där vissa missar:

strSQL = "INSERT INTO gb(tillID, namn, [datum], [text]) VALUES('"& session("23username") &"', '"& session("23username") &"', #"& Date &"#, '"& session("23text") &"')"
Connect.Execute strSQL,,128

fungerar inte den, så använd denna och berätta vad den skriver ut:

strSQL = "INSERT INTO gb(tillID, namn, [datum], [text]) VALUES('"& session("23username") &"', '"& session("23username") &"', #"& Date &"#, '"& session("23text") &"')"

response.write strSQL

'Connect.Execute strSQL,,128

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan juni 20015 009 inlägg
#10

Humm På denna första koden får jag felmess och på den andra får jag inget men där läggs heller inte till något.

Jag vet inte om det är den bästa lösningen men hur kan man annars göra så att det första inlägget i ens gästbok blir ett förbestämt från Admin?

------------------
... *hick*

[Redigerat av Qimen den 05 jan 2002]

Medlem sedan feb. 20012 412 inlägg
#11

Hej, på den andra ska där inte läggas in något. Vad får du för felmess på den första (exakt meddelande) samt vad skriver den andra koden ut?

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

282 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)