Funktioner til redigere og oprette på samme side
HejJeg sidder fast i nogle ting på en ASP side som skal have flere funktioner på en gang, men jeg kan ikke få det til at virke, med de sidste funktioner som er lagt på.
Jeg vil lige forklare lidt om siden:
Brugeren kan komme til siden fra 2 forskellige steder; enten fra en ”ny funktion” eller en ”redigere funktion”. Dette gør att man både har mulighed for at tilføje noget nyt til en DB, eller kan man redigere noget som allerede findes i DB; det kommer an på, hvis man har et id nummer med fra en anden side (redigere) eller ej (ny).
Funktionerne jeg har problemer med er følgende (skrivet i den rækkefølge de framgår i koden):
1. Når man klikker på Send knappen skal det lægges ind eller redigeres i DB, denne funktion lige i toppen af siden, og skal også finde ud af om det handler om en ny indtastning eller en redigering. Jeg er meget usikker på denne del af scriptet.
2. Længere nede på finden findes en ” If objRec.EOF Then” som giver fejl for mig, men kan ikke lige se, hvordan den skal skrives.
<!--#include file="../db/protect.inc"-->
<%
' Hvis der er blevet trykket på knappen "Send", og der er noget der skal opdateres
If Request.Form("Action") = "Send" Then
If <id er fundet på forgående side>
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source=" & Server.mapPath("../db/db.mdb;Provider=Microsoft.Jet.OLEDB.4.0;")
rec.Open ("nyheder")
rec.AddNew
rec("dato")=Request.Form("Dato")
rec("overskrift")=Request.Form("Overskrift")
tekst = Request.Form("Tekst")
If Not isNull(tekst) Then
btekst = Replace(tekst, vbCrLf, "<br>")
end if
rec("tekst")= Tekst
rec.Update
rec.Close
set rec=Nothing
response.redirect "info.asp"
' Hvis der er blevet trykket på knappen "Send", og informationen er ny.
Else
<Her er jeg ikke helt sikker på, hvad der skal stå, men er vel noget i stil med det overstående??>
End If
%>
<html>
<head>
<title>NoName</title>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="stylesheet" href="../div/nonamestyle.css" type="text/css">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="710" border="0" cellspacing="0" cellpadding="7" height="100%">
<tr>
<td width="125" height="60">
<p><font size="3">NoName</font></p>
</td>
<td height="60"> </td>
</tr>
<tr>
<td width="125" valign="top"><p>Nyheder<br>
- <a href="nyhed-edit.asp">Tilføj ny</a><br>
- <a href="nyhed-red.asp">Redigere / Slet</a></p>
<p>Job<br>
- Redigere</p>
</td>
<td valign="top">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source=" & Server.mapPath("../db/db.mdb;Provider=Microsoft.Jet.OLEDB.4.0;")
sql = "SELECT dato , overskrift , tekst FROM nyheder WHERE (id=" & request("id") & ")"
Set objRec = Conn.Execute(sql)
If objRec.EOF Then
sql = "" <Dette virker ikke helt efter hensigten:-( >
Set objRec = Conn.Execute(sql)
End If
%>
<form name="indtastning" method="post" action="nyhed-edit.asp">
<p>Dato:<br>
<input name="Dato" type="text" value='<%= objRec("dato") %>' size="50" maxlength="30">
</p>
<p>Overskrift:<br>
<input type="text" value='<%= objRec("overskrift") %>' name="Overskrift" size="50" maxlength="30">
</p>
<p>Tekst:<br>
<textarea name="Tekst" cols="50" rows="20" wrap="VIRTUAL"><%= objRec("tekst") %></textarea>
<br>
<input type="submit" name="Action" value="Send">
</p>
</form>
</td>
</tr>
</table>
<%
objRec.Close
Set objRec=Nothing
Conn.Close
Set Conn=Nothing
%>
</body>
</html>
Håber der er nogen der kan hjælp på den anden side, så er der måske en chance for at jeg finder ud af ASP på et eller andet tidspunkt :-)
På forhånd tak for hjælpen.
Scorpion
