Avatar billede plato Juniormester
13. februar 2003 - 09:43 Der er 8 kommentarer og
1 løsning

ASP Kommentarfelt

Hejsa..

Er der en meget venlig sjæl der vil hjælpe mig?

Jeg poster et stykke kode nedenfor, i denne kode vil jeg gerne at en besøgende kan skrive kommentarer i et form felt under nyheden.
http://www.trailersiden.dk/nyhedsarkivcom.asp?id=428

Det skal selvfølgelig passe til det id der vises, så de samme kommentarer ikke vises ved alle nyheder.

Det skal ikke være noget fancy, bare kommentaren som brugeren har skrevet kommer mellem nyheden og formfeltet.

Noget ligesom det her:
http://www.connery.dk/index.php?artikelid=800

Databasen hedder : arkiv.mdb
tabellen der viser nyheden hedder : arkiv
Og der er en tabel i databasen der hedder 'comments' med følgende kolonner:
navn
date
comment
nyhedid    <- tænkte det skulle bruges

Der gives gerne flere point.

Her kommer koden:

    <!--#include file="top.asp"-->


<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("arkiv.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  id = request.querystring("id")

  objConn.Execute (strSQL) 
end if

strSQL = "SELECT * FROM arkiv WHERE id LIKE '" & Request.QueryString("id") & "'"
Set rs = objConn.Execute(strSQL)

If Not rs.EOF Then
    overskrift = rs("overskrift")
    tekst = rs("tekst")
    navn = rs("navn")
    kilde = rs("kilde")
    link = rs("link")
    pic = rs("pic")

Else
    Response.Write "<b>Der er noget galt med id'et</b><br><br>"
End If

%>


    <table cellpadding="0" cellspacing="1" border="0">
        <tr>
            <td colspan="2" class="opdateringtop" width="530" height="15" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%=overskrift%></td>
        </tr>
        <tr>
            <td class="fire" align="middle" width="65"><img src="images/ts_top_billede_opdatering.gif"></td>
            <td rowspan="4" width="461" class="fire" bgcolor="#FFFFFF" align="middle"><br>
                <table cellpadding="0" cellspacing="0" border="0">
                    <tr>   
                        <td colspan=3 height="100" valign="top"><span id="font"><%=tekst%></td>
                          </td>
                    </tr>
                    <tr>
                        <td width="152" height="12"><span id="font"><b>»</b>Navn: <%=navn%></td><td width="152" align="middle"><span id="font"><b>»</b>Kilde: <%=kilde%></td><td width="152" align="right"><a href="<%=link%>" target="_new"><b>»</b>Direkte link</A></td>
                    </tr>
                </table>
        </tr>
        <tr>
            <td class="fire" width="65" height="80" align="middle" bgcolor="#FFFFFF"><img src="pics/<%=pic%>" height="70" width="53"></td>
        </tr>
        <tr>
            <td class="fire" align="middle" width="65"><img src="images/ts_bund_under_billede_opdateringb.gif"></td>
        </tr>
        <tr>
            <td class="fire" align="middle" width="65" height="9"><img src="images/ts_bund_under_billede_opdatering.gif"></td>
        </tr>
    </table>



<!--#include file="bottom.asp"-->
Avatar billede eagleeye Praktikant
13. februar 2003 - 10:25 #1
Du laver en input form og den skal indeholde et nanve og kommentar felt. Så skal den også indeholder det unkike ID på den nyhed kommentaren er til.



<form action="" method="post">
<input type="hidden" name="artikelid" value="<%=RS("ID")%>">
<input type="hidden" name="funktionn" value="gem">
Navn <input type="text" name="navn"><br>
Kommentar <textarea name="kommentar" cols="50" rows="15"></textarea><br>
<input type="submit" value="Send kommentar"><br>
</form>


Så kan du i toppen af din fil efter der åbnet for en connection til databasen så man kan gemme kommentaren.:

<%
'Tjek om formen er send til siden
if Request.ServerVariables("REQUEST_METHOD") = "POST" AND Request.Form("function") = "gem" then
  navn = Replace(Request.Form("navn"),"'","''")
  kommentar = Replace(Request.Form("kommentar"),"'","''")
  id = Request.Form("id")
  SQL = "INSERT INTO kommentarTB (artikelID, navn, kommentar, dato) VALUES ("
  SQL = SQL & id & ", "
  SQL = SQL & "'" & navn & "', "
  SQL = SQL & "'" & kommentar & "', "
  SQL = SQL & "now() )"
  objConn.Execute(SQL)
end if



Så er kommentare gemt.

Hvis du vil udskrive kommentarne som skal ligge efter du har udskrevet nyheden og koden skal også ligge før den omtalte form til at skrive en komentar i.:

SQL = "SELECT * FROM kommentare WHERE artikelID = '" & Request.QueryString("id") & "'"
Set rs = objConn.Execute (SQL)

do while not rs.EO
  Response.write "NAvn : " & rs("navn") & "<br>"
  Response.write rs("kommentar") & "<br>"
  rs.Movenext
loop


Layout er der ikke tænkt på der er bare koden til det.
Avatar billede plato Juniormester
13. februar 2003 - 11:28 #2
Finder den ikke selv id, hvis jeg henter nyheden med:
http://www.trailersiden.dk/nyhedsarkivcom.asp?id=428

Det skulle den helst gerne
Avatar billede plato Juniormester
13. februar 2003 - 12:00 #3
Det gakker helt for mig..

Er det muligt at sende databasen og asp siden til dig?
Tror jeg har lavet en kolonne der ikke skal være der.. Og jeg har ændret navnene i koden, men er egentlig ikke helt sikker på det er rigtigt.
Avatar billede eagleeye Praktikant
13. februar 2003 - 12:58 #4
Ja du kan sende det til eagleeye@c.dk men jeg har først mulighed for at kigge på det i aften.

Jo det rigtigt du kan hendte ID fra QueryStringen i stedet for fra db'en:

<input type="hidden" name="artikelid" value="<%=Request.QueryString("id")%>">
Avatar billede plato Juniormester
13. februar 2003 - 13:04 #5
Tusind tak. Jeg har sendt det.
Du må gerne lave det sådan at kommentaren selv finder ud af hvilken nyhed det er.. Det med ID.
Avatar billede monstersurf Praktikant
13. februar 2003 - 15:20 #6
Ej sq eagleeye ikke bruge rows og cols på textarea !!

brug i stedet

STYLE="width: 300; height: 200;"
Avatar billede eagleeye Praktikant
13. februar 2003 - 19:41 #7
monstersurf>> Roger
Avatar billede monstersurf Praktikant
13. februar 2003 - 21:03 #8
hehe ;)
Avatar billede plato Juniormester
13. februar 2003 - 21:59 #9
Takker mange gange.

Du kan se resultatet på http://www.trailersiden.dk/nyhedsarkiv.asp og klikke på en nyhed.
Hvis der selvfølgelig er nogen der gider kommenterer nyheder ;-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester