Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Kommentera funktion

Postades av 2006-05-29 12:16:10 - Marcus Wennerberg, i forum asp - allmänt, Tråden har 18 Kommentarer och lästs av 629 personer

Hej

Jag håller på med en kommentera artikel funktion. Men har fastnat nu :( vet inte redigt hur jag ska fortsätta :S

koden jag har:


<% Response.Buffer = True %>
<LINK REL=stylesheet HREF="stil.css" TYPE="text/css">
<%
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")&";"
Set news = Server.CreateObject("ADODB.Recordset")

Addera = "SELECT artiklar.rubrik, artiklar.bild_nyhet, artiklar.nyhet, artiklar.Datum, artiklar.bild_text, artiklar.last, artiklar.skribent_id, redaktionen.ID, redaktionen.namn, redaktionen.email FROM redaktionen INNER JOIN artiklar ON redaktionen.ID = artiklar.skribent_id WHERE artiklar.id = " &Request.QueryString("visa")
news.Open Addera, Conn, 1, 2
%>

<html>
<head>
</head>
<body link="#000000" vlink="#000000" alink="#000000">
<table border="0" width="400" id="table2" cellspacing="0">
	<tr>
		<td><font face="Verdana" style="font-size: 7pt">Allsvenskan / Artikel /  <b> <%=news("rubrik")%></b></font></td>
	</tr>
</table>

<table border="0" width="178" id="table3">
	<tr>
		<td><font face="Verdana" style="font-size: 7pt">&nbsp;</font></td>
	</tr>
</table>

<table border="1" cellpadding="0" cellspacing="0" style="border-width:0; border-collapse: collapse" bordercolor="#111111" width="400" id="table1">

<tr>
    <td width="100%" style="border-style: none; border-width: medium" align="center"><font face="Verdana"><img class="img" src="<%=news("Bild_nyhet")%>" align="left"></font></td>
</tr>
  
<tr>
    <td width="100%" style="border-style: none; border-width: medium; font-family:Verdana; font-size:10px; font-style:italic"><font class="stor" size="1"><span style="font-weight: 400"><%=news("bild_text")%><br>&nbsp;</span></font></td>
  </tr>
  
  <tr>
    <td width="100%" style="border-style: none; border-width: medium"><font class="stor" size="4"><%=news("rubrik")%><br></font><font face="Verdana" size="2"><br></font></td>
  </tr>
  
  <tr>
    <td width="100%" style="border-style: none; border-width: medium"><font style="font-size: 8pt"><%=Replace(news("nyhet"),vbCrLf,"<br>")%></font></td>
  </tr>
  
  <tr>
    <td width="100%" style="border-style: none; border-width: medium" align="right"><align="right"><font class="text"><b><font face="Verdana" size="2">
	<br>
	&titel=<%=news("namn")%>');"><%=news("namn")%></font><font size="2">&nbsp;</font></b></font><b><font size="2"><br>&nbsp;</font></b><font size="1" face="Verdana">Publicerad <%=news("datum")%></font></td>
  </tr>
  
</table>



<%
Conn.Execute("update artiklar set last = last + 1 where id = " & CLng(Request.QueryString("visa")))
%>

<%
news.Close
%>






<table border="0" width="400" id="table4">
	<tr>
		<td><hr><font face="Verdana"><span style="font-size: 8pt; font-weight: 700">
		<br>
		</span>
		<span style="font-size: 9pt; font-weight: 700; text-decoration:underline">
		Kommentarer</span><span style="font-size: 9pt"> <br>
&nbsp;</span></font></td>
	</tr>
	
	
	
<%
Addera = "SELECT * FROM artikelkommentar WHERE artikel_id = '" &Request.QueryString("visa") & "'"
news.Open Addera, Conn, 1, 2
Do While Not news.EOF
%>
  <tr>
<td width="100%"><font face="Verdana"><span style="font-size: 8pt"><b>"><%=news("namn")%></b> </span>
<span style="font-size: 7pt">(<%=news("datum")%>)</span><span style="font-size: 8pt"><br>
<%=news("kommentar")%><hr size="1" noshade color="#000000"></span></font></td>
</tr>


<%
news.MoveNext
Loop
news.close
%>


	</tr>
	<tr>
		<td><font face="Verdana"><span style="font-size: 8pt; font-weight: 700">Kommentera</span><span style="font-size: 8pt"> (E-post frivilligt)</span></font></td>
	</tr>
	<tr>
		<td>
		<form method="POST" action="artikel.asp?visa=laggtill">
			
			<table border="0" width="222" id="table5">
				<tr>
					<td width="64"><font face="Verdana">
					<span style="font-size: 8pt">Namn</span></font></td>
					<td width="148"><input type="text" name="namn" size="20"></td>
				</tr>
				<tr>
					<td width="64"><font face="Verdana">
					<span style="font-size: 8pt">E-post</span></font></td>
					<td width="148"><input type="text" name="email" size="20"></td>
				</tr>
			</table>
			
			<p><textarea rows="4" name="kommentar" cols="25"></textarea><br>
			<input type="submit" value="Skicka &gt;&gt;" name="skicka"></p>
		</form>
		</td>
	</tr>
</table>


<%
If Request.QueryString("visa") = "laggtill" Then

	strnamn		        = SafeSQL(Request.Form("namn"))
	stremail 		    = SafeSQL(Request.Form("mail"))
	strkommentar		= SafeSQL(Request.Form("kommentar"))
	strartikel_id		= SafeSQL(Request.QueryString("visa"))
	strDatum			= now()
	
Addera.Execute("INSERT INTO artikelkommentar (namn,email,kommentar,artikel_id,datum)" & "VALUES (#" & strnamn & "#,'" & stremail & "','" & strkommentar & "','" & strartikel_id& "','" & strdatum& "')") 
	


END IF
%>



<%
Conn.Close
Set news = nothing
Set Conn = nothing
%>



</body>
</html>


Tacksam för all hjälp jag kan få


Svara

Sv: Kommentera funktion

Postades av 2006-05-29 14:21:42 - Jonas Boman

du gör det för krångligt för dig själv...

Först och främst är det TR du skall loopa - vilket kommer generera i fel
<code>
<%
Addera = "SELECT * FROM artikelkommentar WHERE artikel_id = '" &Request.QueryString("visa") & "'"
news.Open Addera, Conn, 1, 2
Do While Not news.EOF
%>
<tr><!-- flyttat in till loopen -->
<td width="100%"><%=news("namn")%><br>
&nbsp;<%=news("kommentar")%></td>
</tr>
<%
news.MoveNext
Loop
news.close
%>
</code>
Sen tycker jag inte att recordsetet skall kallas för news, som du gjort. Det kan bli förvirrande efter ett tag. Döp om den till comment eller liknande istället.


Kan Form-action ha detta värde? "--WEBBOT-SELF--"
Det kanske det kan. Jag har inte stött på det innan iaf.

Vart får du artikelID:t ifrån? Hur följer det med fårn förrg sida?

Övrigt ser det bra ut. Vart skall du ha kommentarerna? Samma sida eller separat sida?


Svara

Sv:Kommentera funktion

Postades av 2006-05-29 14:29:56 - Marcus Wennerberg

ok, tack, har fått själva visningen att fungera tillsammans med rätt artikel. Problemet är när man ska lägga till ny kommentar. Kommentaren är på samma sida som visar artiklen.
--WEBBOT-SELF-- kom upp automatiskt när jag la in textrutorna. Är det den man ska ändra för att anropa själva sparande funktionen?


Svara

Sv: Kommentera funktion

Postades av 2006-05-29 18:16:54 - Jonas Boman

ja, action är den sida som formuläret postas till och som sedan kommer att spara kommentaren.


Svara

Sv:Kommentera funktion

Postades av 2006-05-29 19:11:08 - Marcus Wennerberg

ok, har nu följande kod till Kommenterafunktionen:

<table border="0" width="400" id="table4">
	<tr>
		<td><hr><font face="Verdana"><span style="font-size: 8pt; font-weight: 700">
		<br>
		</span>
		<span style="font-size: 9pt; font-weight: 700; text-decoration:underline">
		Kommentarer</span><span style="font-size: 9pt"> <br>
&nbsp;</span></font></td>
	</tr>
	
	
	
<%
Addera = "SELECT * FROM artikelkommentar WHERE artikel_id = '" &Request.QueryString("visa") & "'"
news.Open Addera, Conn, 1, 2
Do While Not news.EOF
%>
  <tr>
<td width="100%"><font face="Verdana"><span style="font-size: 8pt"><b>"><%=news("namn")%></b> </span>
<span style="font-size: 7pt">(<%=news("datum")%>)</span><span style="font-size: 8pt"><br>
<%=news("kommentar")%><hr size="1" noshade color="#000000"></span></font></td>
</tr>


<%
news.MoveNext
Loop
news.close
%>


	</tr>
	<tr>
		<td><font face="Verdana"><span style="font-size: 8pt; font-weight: 700">Kommentera</span><span style="font-size: 8pt"> (E-post frivilligt)</span></font></td>
	</tr>
	<tr>
		<td>
		<form method="POST" action="artikel.asp?visa=laggtill">
			
			<table border="0" width="222" id="table5">
				<tr>
					<td width="64"><font face="Verdana">
					<span style="font-size: 8pt">Namn</span></font></td>
					<td width="148"><input type="text" name="namn" size="20"></td>
				</tr>
				<tr>
					<td width="64"><font face="Verdana">
					<span style="font-size: 8pt">E-post</span></font></td>
					<td width="148"><input type="text" name="email" size="20"></td>
				</tr>
			</table>
			
			<p><textarea rows="4" name="kommentar" cols="25"></textarea><br>
			<input type="submit" value="Skicka &gt;&gt;" name="skicka"></p>
		</form>
		</td>
	</tr>
</table>


<%
If Request.QueryString("visa") = "laggtill" Then

	strnamn		                = SafeSQL(Request.Form("namn"))
	stremail 		                = SafeSQL(Request.Form("mail"))
	strkommentar		= SafeSQL(Request.Form("kommentar"))
	strartikel_id		= SafeSQL(Request.QueryString("visa"))
	strDatum			= now()
	
Addera.Execute("INSERT INTO artikelkommentar (namn,email,kommentar,artikel_id,datum)" & "VALUES (#" & strnamn & "#,'" & stremail & "','" & strkommentar & "','" & strartikel_id& "','" & strdatum& "')") 
	


END IF
%>



Men hur får man själva sparandet att fungera? Nu går den till artikel.asp?visa=laggtill och där får jag felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.

som tillhör själva artikeldelen på raden:
news.Open Addera, Conn, 1, 2

men när man trycker på lägg till så ska man ju komma tillbaka till den artiklen som man skrev kommentaren på.

Hur gör man allt detta ?? :S


Svara

Sv: Kommentera funktion

Postades av 2006-05-29 19:24:05 - Per Persson

"Kommentera funktion" - Vilken funktion skall vi kommentera?
"kommentera artikel funktion" - Syntax error; 'artikel' är inget adjektiv.


Svara

Sv:Kommentera funktion

Postades av 2006-05-29 19:27:28 - Marcus Wennerberg

ja, Jag försöker göra ett formulär så besökarna kan kommentera den artikel de har läst. Jag har koden som jag skrev i ett tidigare inlägg.


Svara

Sv: Kommentera funktion

Postades av 2006-05-29 20:27:08 - Jonas Boman

du skickar ju inte med artikelID:t...

Det är INTE smart att använda "visa"-variabeln som du gör nu. ArtikelID skall ju vara där.
action="?task=laggtill"
Lägg till den i ett textfält istället
<input type="text" name="strartikel_id" value="<%=request.querystring("visa"))%>">

sedan på nästa sida
if request.querystring("task")="laggtill" Then
strartikel_id= request.form("strartikel_id")


Svara

Sv:Kommentera funktion

Postades av 2006-05-29 20:40:48 - Marcus Wennerberg

det är bara en sida :S, artiklen och kommentera ligger i samma ASP fil :S ska jag ändra alla visa till task? även den på artikel delen? har uppdaterat 1:a inlägget med hela koden.


Svara

Sv: Kommentera funktion

Postades av 2006-05-29 22:08:53 - Jonas Boman

Nej, eftersom du skriver action=?visa=laggtill så skickar du inte med artikelID till kommentaren och det krockar sedan när du skall visa artikeln. Det finns väl ingen artikel som har ID "laggtill" som du använder request.querystring("visa") till...


Svara

Sv:Kommentera funktion

Postades av 2006-05-29 22:37:58 - Marcus Wennerberg

ok, då har jag ändrat ett par visa till task. Men måste man ha en ruta som själva artiklens id syns i? Det går inte att göra utan?


Svara

Sv: Kommentera funktion

Postades av 2006-05-30 16:12:39 - Jonas Boman

snälla nån...
använd <input type=hidden>

eller lägga id:t i en querystring i actionadressen...


Svara

Sv:Kommentera funktion

Postades av 2006-06-01 18:31:21 - Marcus Wennerberg

ok, får försöka med on "osynlig" ruta. men när man trycker på spara så får jag felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'artiklar.id ='.

på raden:
news.Open Addera, Conn, 1, 2

troligen på denna felet ligger

Addera = "SELECT artiklar.rubrik, artiklar.bild_nyhet, artiklar.nyhet, artiklar.Datum, artiklar.bild_text, artiklar.last, artiklar.skribent_id, redaktionen.ID, redaktionen.namn, redaktionen.email FROM redaktionen INNER JOIN artiklar ON redaktionen.ID = artiklar.skribent_id WHERE artiklar.id = " &Request.QueryString("visa")


Men hur löser jag detta?? :S


Svara

Sv: Kommentera funktion

Postades av 2006-06-03 16:51:43 - Jonas Boman


istället för "Request.QueryString("visa")" i SQL skall du ju skriva REQUEST.FORM("namnpåhiddenfield")

Addera = "SELECT artiklar.rubrik, artiklar.bild_nyhet, artiklar.nyhet, artiklar.Datum, artiklar.bild_text, artiklar.last, artiklar.skribent_id, redaktionen.ID, redaktionen.namn, redaktionen.email FROM redaktionen INNER JOIN artiklar ON redaktionen.ID = artiklar.skribent_id WHERE artiklar.id = " &Request.QueryString("visa")


Du borde lära dig det elementära i ASP. Ett tips är att köpa dig en bok eller gå en kurs.
Här hjälper vi gärna till, men vi levererar inte gärna den färdiga lösningen utan tänket.
Lycka till!


Svara

Sv:Kommentera funktion

Postades av 2006-06-04 11:03:36 - Mikael Kristiansson

Kan även tipsa dig om att lägga in värdena som du hämtar i varsin variabel så att du kan kontrollera att dem innehåller det dem bör innehålla innan du stoppar in dem i en SQL-sats.
Sen stoppar du in variabeln i SQL-satsen där den ska vara.
På detta sättet kan du göra olika kontrollera innan du anropar databasen vilket dels ökar säkerheten men även minskar belastningen på din databas/serverplats.


Svara

Sv:Kommentera funktion

Postades av 2006-06-04 11:38:05 - Marcus Wennerberg

provade att ändra till CInt(Request.QueryString("visa")), får då ett annat fel:
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

den posten finns :S


Svara

Sv: Kommentera funktion

Postades av 2006-06-04 12:16:38 - Mikael Kristiansson

Det du skickar med i din QueryString är ju strängvärdet laggtill.
Med CInt försöker du göra om laggtill till ett heltal, vilket naturligtvis inte går.
Läs Jonas inlägg så får du rätt på det!


Svara

Sv:Kommentera funktion

Postades av 2006-06-05 16:07:29 - Peter Larsson

Skriv om, skriv rätt :)

Säg att du har två sidor, "ShowArticle.asp" och "SaveComment.asp".

I ShowArticle bör du ha följande:
- Artikel
- Kommentar formulär

Kommentar formuläret bör se ut:
<code>
<form action="SaveComment.asp?articleID=[id]" method="post">
<!-- Dina kommentar fält och skicka-knapp -->
</form>
</code>

([id] _skall_ vara IDt för artikeln i databasen)

Och i "SaveComment.asp" gör du följande:
<code>
1. Hämta "articleID" från QueryString.
2. Hämta alla formulär-fält från Request.Form.
3. Spara kommentar i databas med artikelID="articleID".
</code>

Detta är _EN_ lösning och en enkel sådan.
Hojta till om du denna lösning ej förstår.

/ Peter


Svara

Sv: Kommentera funktion

Postades av 2006-06-05 17:35:16 - Marcus Wennerberg

Tack för tipset :D

Gjorde en sida till förutom den som visar artklan som man skrev in kommentaren i och det verkar fungera :D

Tack alla för hjälpen :D


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 600
27 953
271 705
4 016
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies