jboy_87Medlem sedan aug. 20011 099 inlägg Jag har femfält där man skriver in användarnamn,epost mm.....
Fälten får ju inte vara tomma när man skickar informationen med submit
(Då får ett felmeddelande av typen
Microsoft OLE DB Provider for ODBC Drivers fel '80004005'
[Microsoft][Drivrutin för ODBC Microsoft Access] Fältet 'medlemmar.Namn' får inte vara tomt.
/regga.asp, rad 9
Hur undviker jag att det går att sända iväg informationen med tomma fält....?
så här ser koden ut:
<%
if Request.Form("losen") = Request.Form("losen2") then
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/medlemmar.mdb") & ";"
namn = Request.Form("ID")
set rs = connection.execute("select 1 from medlemmar where namn = '" & namn & "'")
if rs.eof then
SQL = "INSERT INTO medlemmar (Namn, Losen) VALUES ('" & namn &"','" & Request.Form("losen") &"')"
Connection.Execute SQL,,128
ok = true
else
session("galet") = namn & " är redan upptaget!"
ok = false
end if
rs.close
set rs = nothing
connection.close
set connection = nothing
if ok then
response.redirect "default.asp"
else
response.redirect "blimedlem.asp"
end if
else
session("galet") = "Du måste skriva lika lösen i båda fälten!"
Response.Redirect "blimedlem.asp"
end if
%>
LinaMedlem sedan jan. 2001332 inlägg För det första skall du se till att databasen tillåter fälten att vara tomma...
Det är inte den som skall spärra det anser jag...
Sen kan du ju kolla det på olika sätt...
Ett är ASP och då tar du ju och kollar värdena innan dom läggs till i databasen...
Om värdena är tomma ska det ju inte läggas ner utan då skall du ju skicka tillbaka besökaren till formuläret
Ex (obs saxat direkt ur huvudet):
If NOT request.form("formulärfält") = "" Then
'Lägg ner i databasen
Else
'skicka tillbaka besökaren
End if
Annars går det ju att göra kollen med Javascript... Men det får du kolla på i det forumet...
------------------
Du lever bara en gång och den gången är nu!
[Redigerat av Lina den 08 aug 2001]
icaaqMedlem sedan okt. 20005 273 inlägg Kolla in denna: http://cgi.webforum.nu/wf/Forum11/HTML/003302.html#3
Ett antal personer här använder denna så det är bara att fråga om det strular :OO
------------------
I like ¼ £ whith cheese
HarbackMedlem sedan juni 2001206 inlägg Sen när du skickar tillbaka besökaren ifall den inte skrivit in något kan du lägga med en QueryString som sedan kollas på formulärsidan för att berätta vad besökaren gjorde för fel.
Ex.
laggtill.asp
If NOT request.form("formulärfält") = "" Then
'Lägg in i databasen
Else
Response.Redirect "form.asp?tom=namn"
End if
form.asp
If Request.QueryString("tom") = "namn" Then
Response.Write "Du glömde fylla i namnet!"
'Resten av formuläret
------------------
MVH
Harback
jboy_87Medlem sedan aug. 20011 099 inlägg Kan nån visa vart jag ska lägga in följande koden:
Snälla skriv hela koden!!
If NOT request.form("formulärfält") = "" Then
'Lägg ner i databasen
Else
'skicka tillbaka besökaren
End if
Och så här ser koden ut:
<%
if Request.Form("losen") = Request.Form("losen2") then
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/medlemmar.mdb") & ";"
namn = Request.Form("ID")
NamnEfter = Request.Form("NamnEfter")
Epost = Request.Form("Epost")
set rs = connection.execute("select 1 from medlemmar where namn = '" & namn & "'")
if rs.eof then
SQL = "INSERT INTO medlemmar (Namn, Losen, NamnEfter, Epost) VALUES ('" & namn &"','" & Request.Form("losen") &"','" & NamnEfter &"','" & Epost &"')"
Connection.Execute SQL,,128
ok = true
else
session("galet") = namn & " är redan upptaget!"
ok = false
end if
rs.close
set rs = nothing
connection.close
set connection = nothing
if ok then
response.redirect "default.asp"
else
response.redirect "blimedlem.asp"
end if
else
session("galet") = "Du måste skriva samma lösenord i båda fälten!"
Response.Redirect "blimedlem.asp"
end if
%>