webForumDet fria alternativet

Ändra text i ett formulär resulterar fel?

ASP

2 svar · 210 visningar · startad av Sammy

Medlem sedan maj 2000202 inlägg
Frågan#1

Sitter här med en uppdaterings-funktion (via en sida) men får det inte att fungera helt korrkt?

Jag har en startsida där nyheter presenteras och så långt inga som helst problem, men när jag ändrar texten via ett formulär så visas en länk trots att det inte är skrivet något i den posten?

Så här ser raden ut på nyhetssidan:

         If IsNull(RStemp("innehall")) OR IsEmpty(RStemp("innehall")) OR RStemp("innehall") = "" then
          Response.Write ""
         Else
          Response.Write " <a href=nyheter_artikel.asp?idnr="& RStemp("IDNR") &"><img src=bilder/pil.gif border=0></a> <a href=nyheter_artikel.asp?idnr="& RStemp("IDNR") &" class=date3>Läs...</a>"
         End If

Och den koden innebär att om posten innehall är tom så visas inte länken. Så långt är det helt ok...

Men när jag vill ändra innehållet och låter innehalls-posten vara tom så kommer länken fram trots att posten innehall är tom?

Så här ser koden ut för uppdateringssidan:

<%
If Request.QueryString("do")= "action" Then

Set Conn = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("../databaser/arkiv.mdb")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

Skribent	= Request.Form("skribent")
Email		= Request.Form("email")

If Request.Form("kategori") = "NYHET" then
Kategori   	= "NYHET"
ElseIf Request.Form("kategori") = "MATCHRAPPORT A-LAG" then
Kategori        = "MATCHRPTA"
ElseIf Request.Form("kategori") = "MATCHRAPPORT B-LAG" then
Kategori        = "MATCHRPTB"
End If

Rubrik          = Request.Form("rubrik")
Inledning	= FixaTecken(Request.Form("inledning"))
Innehall	= FixaTecken(Request.Form("innehall"))

If Innehall = "" then
Conn.execute("Update nyheter Set skribent='" & skribent & "',email='" & Email & "',kategori='" & kategori & "',rubrik='" & rubrik & "',inledning='" & inledning & "',innehall='" & innehall & "'  Where idnr = "& Request.Querystring("id"))
Else
Conn.execute("Update nyheter Set skribent='" & skribent & "',email='" & Email & "',kategori='" & kategori & "',rubrik='" & rubrik & "',inledning='" & inledning & "' Where idnr = "& Request.Querystring("id"))
End If

Conn.Close
Set Conn = Nothing

Response.Redirect "news_admin.asp"

End If
%>

Trots att jag alltså låter posten innehåll vara tom så verkar den inte bli det? Länken kommer fram på nyhetssidan ändå efter att jag postat/ändrar inlägget och INTE låtit mig skriva något i innehalls-posten (på formuläret)?

Någon som har tips och råd?

Medlem sedan jan. 20032 285 inlägg
#2
If Innehall <> "" then
Conn.execute("Update nyheter Set skribent='" & skribent & "',email='" & Email & "',kategori='" & kategori & "',rubrik='" & rubrik & "',inledning='" & inledning & "',innehall='" & innehall & "'  Where idnr = "& Request.Querystring("id"))
Else
Conn.execute("Update nyheter Set skribent='" & skribent & "',email='" & Email & "',kategori='" & kategori & "',rubrik='" & rubrik & "',inledning='" & inledning & "' Where idnr = "& Request.Querystring("id"))
End If
Medlem sedan maj 2000202 inlägg
#3

Perfekt.. det fungerade ;)

Men det visst du väl ;) Tack för din korrigering!

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)