webForumDet fria alternativet

Pling vid nytt inlägg

ASP

29 svar · 519 visningar · startad av kaktusen

Medlem sedan juni 2002139 inlägg
Frågan#1

Hej,

Jag har en gästbok/nyhetsforum.
Och då jag skriver ett inlägg så vill jag att man ska höra ett ljud el. ett pling.

Hur gör jag det?

Såhär ser koden för själva gästboksidan ut:

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

<html>

<head>
</head>

<body>
<% Session.LCID = 1053 %>
<%
If Session("inloggad") <> "OK" Then
Response.Redirect "login.html"
End If
%>

<META HTTP-EQUIV="REFRESH" CONTENT="60;URL=nyheter.asp">

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & db

Set RecSet = Server.CreateObject("ADODB.Recordset")

Oppna = "Select * From Nyheter Order By ID Desc"

RecSet.Open Oppna, Connect

If RecSet.EOF Then %>
<table width="470" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="470" align="center"><strong>Inga nyheter är inlagda!</strong></td>
</tr>
</table>

<%Else%>
<table width="470" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="470" align="left"><strong></strong></td>
</tr>
</table>
<br>
<%
Z = 0
Do Until Z = 30 or RecSet.EOF %>
<table width="470" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="470" align="left"><b><font size="2" color="#0000FF"><%=RecSet("Rubrik")%></b> | <%=FormatDateTime(RecSet("Datum"),0)%></td></font>
</tr>
<tr>
<td colspan="1"><%=RecSet("Nyhet")%></td>
</tr><hr>
</table>
<br>
<%
Z = Z--1
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
End If
%>

</body>

</html>

Tack på förhand!

Medlem sedan juni 2002139 inlägg
#2

Jag la in denna kod i .asp filen:
<EMBED src="chimes.wav" autostart=true repeat=false height=0
width=0>

Men eftersom .asp filen uppdateras automatiskt en gång i minuten så hörs detta ljud varje gång sidan uppdateras (en gång i minuten) vilket är lite irriterande i längden.

Förslag på hur jag ska göra?

Mvh

Medlem sedan okt. 20005 273 inlägg
#3

Har du något tids-fält så borde du ju kunna kolla om det på den senaste minuten blivit något nytt inlägg, om det har det så skriver du ut <embed......... annars inte

mvh icaaq

Medlem sedan juni 2002139 inlägg
#4

hej icaaq!

vad menar du med tids-fält och var isåfall ser man om jag har det?

Medlem sedan dec. 20002 526 inlägg
#5

Han menar formodligen if-sats(?) som du kor och kollar, typ har du nagot "status-falt" for meddelanden? Dvs, om det ar ett nytt sa har det varde "Nytt" annars "Gammalt" eller liknande, om det ar nagot inlagg med vardet "Nytt" sa kor du ljudet, annars inte.

Medlem sedan okt. 20005 273 inlägg
#6

kaktusen skrev:

hej icaaq!

vad menar du med tids-fält och var isåfall ser man om jag har det?

Jag menar om du har något Date/Time fält i databasen där du ser när inläggen är gjorda. Om du har det eller lägger till det så kan du göra på följande sätt.....när jag kollat igenom koden ser jag ju att du har ett datumfält så du borde kunna göra så här

[red]
<!-- #include file="settings.asp" --> 

<html> 

<head> 
</head> 

<body> 
<% Session.LCID = 1053 %> 
<% 
If Session("inloggad") <> "OK" Then 
Response.Redirect "login.html" 
End If 
%> 

<META HTTP-EQUIV="REFRESH" CONTENT="60;URL=nyheter.asp"> 

<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & db 

Oppna = "Select * From Nyheter Order By ID Desc" 

Set RecSet = Connect.Execute(Oppna)

If RecSet.EOF Then %> 
<table width="470" cellpadding="0" cellspacing="0" border="0"> 
<tr> 
<td width="470" align="center"><strong>Inga nyheter är inlagda!</strong></td> 
</tr> 
</table> 

<%
Else
     If DateDiff("S", RecSet("Datum"), Now()) < 60 Then
          Response.Write "<EMBED src='chimes.wav' autostart=true repeat=false height=0 
width=0>" & vbCrLf
     End If
%> 
<table width="470" cellpadding="0" cellspacing="0" border="0"> 
<tr> 
<td width="470" align="left"><strong></strong></td> 
</tr> 
</table> 
<br> 
<% 
Z = 0 
Do Until Z = 30 or RecSet.EOF %> 
<table width="470" cellpadding="0" cellspacing="0" border="0"> 
<tr> 
<td width="470" align="left"><b><font size="2" color="#0000FF"><%=RecSet("Rubrik")%></b> | <%=FormatDateTime(RecSet("Datum"),0)%></td></font> 
</tr> 
<tr> 
<td colspan="1"><%=RecSet("Nyhet")%></td> 
</tr><hr> 
</table> 
<br> 
<% 
Z = Z--1 
RecSet.MoveNext 
Loop 
RecSet.Close 
Set RecSet = Nothing 
End If 
%> 

</body> 
[/red]

Sen har jag en fråga vad ger

[red]FormatDateTime(datum, 0)[/red]

för resultat?

mvh icaaq

</html>

Medlem sedan dec. 20002 526 inlägg
#7

hmm... icaaq, gillar min variant mer... :e

pssst... haller med om det med formateringen av datumet.... kan inte ge mycket?!

Medlem sedan okt. 20005 273 inlägg
#8

Jo efter första koppen kaffe så kommer hjärnan igång lite och jag skulle nog köra på crisse6 variant, det är lite mer kodande men det är en bättre variant.

mvh icaaq

Medlem sedan aug. 2002207 inlägg
#9

icaaq skrev:

Sen har jag en fråga vad ger

[red]FormatDateTime(datum, 0)[/red]

för resultat?

mvh icaaq

</html>

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctformatdatetime.asp

Medlem sedan okt. 20005 273 inlägg
#10

Där ser man.... :)

mvh icaaq

Medlem sedan juni 2002139 inlägg
#11

När jag klistrade in texten så blev det "The page cannot be displayed"

Vad är fel?

Mvh

Här är koden jag la in:

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

<html>

<head>
</head>

<body>
<% Session.LCID = 1053 %>
<%
If Session("inloggad") <> "OK" Then
Response.Redirect "login.html"
End If
%>

<META HTTP-EQUIV="REFRESH" CONTENT="60;URL=nyheter.asp">

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & db

Oppna = "Select * From Nyheter Order By ID Desc"

Set RecSet = Connect.Execute(Oppna)

If RecSet.EOF Then %>
<table width="470" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="470" align="center"><strong>Inga nyheter är inlagda!</strong></td>
</tr>
</table>

<%
Else
If DateDiff("S", RecSet("Datum"), Now()) < 60 Then
Response.Write "<EMBED src='chimes.wav' autostart=true repeat=false height=0
width=0>" & vbCrLf
End If
%>
<table width="470" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="470" align="left"><strong></strong></td>
</tr>
</table>
<br>
<%
Z = 0
Do Until Z = 30 or RecSet.EOF %>
<table width="470" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="470" align="left"><b><font size="2" color="#0000FF"><%=RecSet("Rubrik")%></b> | <%=FormatDateTime(RecSet("Datum"),0)%></td></font>
</tr>
<tr>
<td colspan="1"><%=RecSet("Nyhet")%></td>
</tr><hr>
</table>
<br>
<%
Z = Z--1
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
End If
%>

</body>

Medlem sedan mars 20015 287 inlägg
#12

Vad är det riktiga felmeddelandet?
Slå av "vänliga felmeddelanden" eller vad det nu heter i webläsaren.

Medlem sedan juni 2002139 inlägg
#13

riktiga felmeddelandet?

*suck, gillar inte teknikens utveckling* :)

Medlem sedan nov. 20017 144 inlägg
#14

I I.E.

Verktyg/Internet-alternativ/Avancerat/visa egna HTTP-felmeddelanden.(Skall klickas ur. Nästan längst ner i listan.)

Medlem sedan juni 2002139 inlägg
#15

okej, det riktiga felmeddelandet är:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/nyheter.asp, line 36

Response.Write "<EMBED src='chimes.wav' autostart=true repeat=false height=0
----------------------------------------------------------------------------^

Medlem sedan juni 2002139 inlägg
#16

kan det bero på att det automatiskt blir ett "enter" vid vissa meningar?

Medlem sedan juni 2002139 inlägg
#17

nu verkar det fungera, ska se om ljudet också kommer som det ska :)

Medlem sedan juni 2002139 inlägg
#18

vad jag kan höra så kommer det inget ljud - fast att jag skriver ett inlägg.

Vad beror detta på? :(

Medlem sedan nov. 20017 144 inlägg
#19

Response.Write "<EMBED src='chimes.wav' autostart=true repeat=false height=0>"
Skall det kanske vara?!

Medlem sedan juni 2002139 inlägg
#20

Jo, men den finns redan.

Såhär ser den raden ut:

<% Else If DateDiff("S", RecSet("Datum"), Now()) < 60 Then Response.Write "<EMBED src='chimes.wav' autostart=true repeat=false height=0 width=0>" & vbCrLf
End If

Väldigt tacksam för hjälp!

264 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)