webForumDet fria alternativet

Hjälp :-(

4 svar · 180 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 099 inlägg
#1

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
#2

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
#3

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
#4

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
#5

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

130 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)