23. december 2003 - 19:09
Der er
11 kommentarer og 2 løsninger
Ikke gemme hvis brugernavnet findes
-Når en bruger udfylder en formular på min hjemmeside og klikker "indsend", vil han blive sendt til denne side, som gemmer de indtastede oplysninger: <html> <head> <title></title> </head> <body bgcolor="#9FB7C0"> <font face="verdana" color="#497383" size="2"><b> <% Set rs = Server.CreateObject("ADODB.RecordSet") Set Conn = Server.CreateObject("ADODB.Connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/ansogning.mdb") strSQL = "SELECT * FROM ansogning" rs.Open strSQL, strDSN, 2, 2 rs.AddNew rs("brugernavn") = Request.Form("brugernavn") rs("password") = Request.Form("password") rs("navn") = Request.Form("navn") rs("email") = Request.Form("email") rs("alder") = Request.Form("alder") rs("kon") = Request.Form("kon") rs("amt") = Request.Form("amt") rs("kommune") = Request.Form("kommune") rs("job") = Request.Form("job") rs("ansogning") = Request.Form("ansogning") rs("dato") = Now() rs.Update 'lukker pænt igen rs.Close set rs = Nothing response.Write "Oplysningerne er nu gemt!" %> <b></font> </body> </html> -Men hvordan gør man sådan, at oplysningerne ikke bliver gemt, hvis det indtastede brugernavn allerede findes i databasen, men i stedet skriver, at oprettelsen ikke var mulig? Håber, i kan hjælpe mig, da jeg er virkelig skod til ASP...
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. december 2003 - 19:21
#1
strSQL = "SELECT * FROM ansogning WHERE brugernavn = '" & Request.Form("brugernavn") & "'" rs.Open strSQL, strDSN, 2, 2 if (rs.EOF) then rs.Close() strDSN.Close() Response.Redirect("din oprindelige side.asp?error=exists") end if ' ellers fortsætter du bare med din insert rs.AddNew
23. december 2003 - 19:22
#2
æhh det hvor jeg skrev redirect, kan du jo også bare skrive Response.Write("brugernavn findes allerede") Response.End() Men ellers skal du øverst på din side ha en if sætning if (Request.Querystring("error") = "exists") then Response.Write("brugeren findes allerede - forsøg igen") end if
23. december 2003 - 19:30
#3
-Hvor i koden skal jeg skrive det?
23. december 2003 - 22:12
#4
-Jeg er ikke så god til ASP, og jeg ved ikke, hvor i koden jeg skal skrive det...
23. december 2003 - 22:28
#5
<html> <head> <title></title> </head> <body bgcolor="#9FB7C0"> <font face="verdana" color="#497383" size="2"><b> <% Set rs = Server.CreateObject("ADODB.RecordSet") Set Conn = Server.CreateObject("ADODB.Connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/ansogning.mdb") strSQL = "SELECT * FROM ansogning WHERE brugernavn = '" & Request.Form("brugernavn") & "'" rs.Open strSQL, strDSN, 2, 2 if rs.EOF then rs.Close() strDSN.Close() Response.write("brugeren findes...") else rs.AddNew rs("brugernavn") = Request.Form("brugernavn") rs("password") = Request.Form("password") rs("navn") = Request.Form("navn") rs("email") = Request.Form("email") rs("alder") = Request.Form("alder") rs("kon") = Request.Form("kon") rs("amt") = Request.Form("amt") rs("kommune") = Request.Form("kommune") rs("job") = Request.Form("job") rs("ansogning") = Request.Form("ansogning") rs("dato") = Now() rs.Update 'lukker pænt igen rs.Close set rs = Nothing response.Write "Oplysningerne er nu gemt!" end if %> <b></font> </body> </html>
23. december 2003 - 22:36
#6
-Tja, den virker ikke når jeg sætter den ind... Den gemmer som den plejer og skriver "Oplysningerne er nu gemt!"
23. december 2003 - 22:37
#7
<html> <head> <title></title> </head> <body bgcolor="#9FB7C0"> <font face="verdana" color="#497383" size="2"><b> <% Set rs = Server.CreateObject("ADODB.RecordSet") Set Conn = Server.CreateObject("ADODB.Connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/ansogning.mdb") strSQL = "SELECT * FROM ansogning WHERE brugernavn = '" & Request.Form("brugernavn") & "'" rs.Open strSQL, strDSN, 2, 2 if not rs.EOF then rs.Close() strDSN.Close() Response.write("brugeren findes...") else rs.AddNew rs("brugernavn") = Request.Form("brugernavn") rs("password") = Request.Form("password") rs("navn") = Request.Form("navn") rs("email") = Request.Form("email") rs("alder") = Request.Form("alder") rs("kon") = Request.Form("kon") rs("amt") = Request.Form("amt") rs("kommune") = Request.Form("kommune") rs("job") = Request.Form("job") rs("ansogning") = Request.Form("ansogning") rs("dato") = Now() rs.Update 'lukker pænt igen rs.Close set rs = Nothing response.Write "Oplysningerne er nu gemt!" end if %> <b></font> </body> </html> Min fejl... Dette burde virke :-) Glemte nottet!
23. december 2003 - 22:39
#8
Microsoft VBScript runtime error '800a01a8' Object required: 'Provider=Microsoft.J' /ansogning_ok.asp, line 18
23. december 2003 - 22:41
#9
hvad er linie 18 ?
23. december 2003 - 22:42
#10
Nevermind, jeg ved hvad det er: ret: strDSN.Close() til set strDSN = nothing
23. december 2003 - 22:45
#11
Juhuu, så virker det.. :) Tak... Jeg lader jer dele pointene, da i begge bidragede... Hvis du lige opretter et svar...
23. december 2003 - 22:47
#12
Så pyt da...
23. december 2003 - 22:48
#13
Takker for points... Glædelig jul. ..Ellebæk!
Kurser inden for grundlæggende programmering