20. april 2005 - 21:35Der er
8 kommentarer og 1 løsning
Skjul Zero Length
Hejsa.
Jeg har lavet et system hvor der er nogle felter der skal udfyldes. Og i det system har jeg så gjot sådan at hvis felter ikke er udfyldt gives der en fejl:
<b><font color="red"> <% if Request.Form("titel") = "" Then response.write "Du skal skrive en overskrift.<br>" end if%> <% if Request.Form("Nyhed") = "" Then response.write "Du skal skrive en nyhed.<br>" end if%> <% if Request.Form("Billede") = "" Then response.write "Du skal angive et billede.<br>" end if%> </font></b>
Men nu er problemet så bare at den samtidig viser en anden fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Field 'nyheder.Titel' cannot be a zero-length string.
/Nyheder/Skriv.asp, line 34
Så det kommer til at se således ud:
Du skal skrive en overskrift. Du skal skrive en nyhed.
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Field 'nyheder.Titel' cannot be a zero-length string.
/Nyheder/Skriv.asp, line 34
Så jeg ville høre hvordan man kan skjule den fejl der med Zero-Length?
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Hvis det skal være helt rigtigt burde du lavet det tjek på felterne ved hjælp af javascript på clienten. Der er ingen grund til at sende hele din form over til serveren for at den skal sende en side retur hvor der står at nogle felter ikke er udfyldt.
Hvis så man skal skrive noget skal det så se således ud:
if (Request.Form("titel") <> "Tekst her") and (Request.Form("Nyhed") <> "Tekst her") and (Request.Form("Billede") <> "Tekst her") then conn.execute(dinsql) end if
<b><font color="red"> <% tjektal = 0 %> <% if Request.Form("titel") = "" Then response.write "Du skal skrive en overskrift.<br>" tjektal = 1 end if%> <% if Request.Form("Nyhed") = "" Then response.write "Du skal skrive en nyhed.<br>" tjektal = 1 end if%> <% if Request.Form("Billede") = "" Then response.write "Du skal angive et billede.<br>" tjektal = 1 end if%> </font></b> <% if tjektal = 0 then conn.execute(sql) end if %>
<!--#include file="../Plus/beskyt.asp" --> <!--#include file="../Plus/Tjek.asp" --> <!-- #include file = "../Plus/Online.asp" --> <!--#Include file="../Plus/Tid.asp"--> <!--#Include file="../Moentsystem/moenter.asp"--> <b><font color="red"> <% if Request.Form("titel") = "" Then response.write "Du skal skrive en overskrift.<br>" end if%> <% if Request.Form("Nyhed") = "" Then response.write "Du skal skrive en nyhed.<br>" end if%> <% if Request.Form("Billede") = "" Then response.write "Du skal angive et billede.<br>" end if%> </font></b> <% Set Conn = Server.CreateObject("ADODB.Connection") ' Husk at angive den rigtige sti til din database DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/Nyheder.mdb") ' Åben databaseforbindelsen Conn.Open DSN Forfatter = session("brugernavn") Brugerid = session("id") ip = Request.ServerVariables("REMOTE_ADDR") tekst = Replace(Request.form("Nyhed"), VbCrlf, "<br>") dato = DanskDatoTid(Now) strSQL = "INSERT INTO nyheder (titel,brugerid,nyhed,dato,billede,forfatter,ip) VALUES('" & Request.Form("titel") & "','" & Brugerid & "','" & tekst & "','" & dato & "','" & Request.Form("billede") & "','" & Forfatter & "', '" & ip & "')" Conn.Execute(strSQL) response.redirect("../Forside.asp") Set conn = Nothing %>
Tror bare jeg opgiver det der. ellers tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.