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
%>
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!
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
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
%>
253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e