webForumDet fria alternativet

popup fråga vid nytt meddelande

ASP

21 svar · 472 visningar · startad av Qimen

Medlem sedan juni 20015 009 inlägg
Frågan#1

Hej

Hur ska man gå tillväga så att när man är inloggad och får ett ny meddelande så ska det komma upp en popup ruta, som här på wf, där den frågar om man vill läsa det. Om man vill så skickas man vidare till en sida där man kan läsa det.

Funderade på att man kanske kan lägga en kod i toppen på varje sida och när en sida laddas så kollar den av om det finns ngr nya meddelande. Om det finns så popup.

Är det svårt att göra detta?

Man kan kanske bygga vidare på detta?

<%SQL = "SELECT Count(*) From meddelanden WHERE Till LIKE '" & session("username") & "' AND Kolla LIKE '" & session("kolla") & "' "
Set RecSet = Connect.Execute(SQL)%>

Eller inte, vet inte alls hur jag ska bygga upp detta. :)

Medlem sedan juni 20019 519 inlägg
#2
<%
SQL = "SELECT Count(*) as antal From meddelanden WHERE Till LIKE '" & session("username") & "' AND Kolla LIKE '" & session("kolla") & "' "
Set RecSet = Connect.Execute(SQL)
antal = recset("antal")

if antal <> 0 then
newmess = "[b]javakod här[/b]"
else
newmess = ""
end if
%>
<body <%=newmess%>

Kan inte javascript alltför bra.. men något "alert('du har <%=antal%> nya meddelande vill du läsa dom?')"

Medlem sedan feb. 200112 078 inlägg
#3

Varför använda LIKE? Utan % är de väl ganska meninglösa?

<%SQL = "SELECT Count(*) From meddelanden WHERE Till = '" & trim(session("username")) & "' AND Kolla = '" & session("kolla") & "' [b]AND olast = 1[/b]"
Set RecSet = Connect.Execute(SQL)%>

if not recset.eof then
%>
<script>
<!--
   alert('Du har fått ett nytt privat meddelande!');
//-->
</script>
<%
end if
%>

Huruvida du får Ok och Avbryt i popupen, det får du fråga snubbarna/snubborna i JavaScript-forumet om.

Medlem sedan juni 200032 967 inlägg
#4

OveRRidE skrev:

Huruvida du får Ok och Avbryt i popupen, det får du fråga snubbarna/snubborna i JavaScript-forumet om.

Man använder confirm() istället för alert().

mvh,

Medlem sedan juni 20015 009 inlägg
#5

Hummm

jag får:

dummawebbläsare skrev:

Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/pxworld/01verktyg.asp, line 72

72:

Set RecSet = Connect.Execute(SQL)

Har:

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

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM anvandare where namn = '"&session("username")& "' "

RecSet.Open SQL, Connect, 3,3

Som ligger i toppen av varje sida.

Medlem sedan feb. 200112 078 inlägg
#6

Du har stavat fel till något kolumnnamn eller liknande. Jag har iallfall för mig att den säger så då.

Medlem sedan feb. 200112 078 inlägg
#7

@nders skrev:

OveRRidE skrev:

Huruvida du får Ok och Avbryt i popupen, det får du fråga snubbarna/snubborna i JavaScript-forumet om.

Man använder confirm() istället för alert().

mvh,

Nu får jag nästan skicka dig till JavaScript-forumet, snabel! :e

Medlem sedan juni 20019 519 inlägg
#8

kan det vara att session("username") är tomt?

Medlem sedan juni 20015 009 inlägg
#9

Men det som är konstigt är att den koden jag postade först har jag kopierat direkt ifrån startsidan och där funkar den koden, jag trodde man var tvungen att ändra om lite i den eftersom med den koden kan man ju skriva ut om man har ngr meddelande eller ej med <%=RecSet.Fields(0)%>.

Medlem sedan juni 20015 009 inlägg
#10

session username måste finnas för annars kan man ju inte vara inloggad

Medlem sedan aug. 2002157 inlägg
#11

testa skriv ut session username då

Medlem sedan juni 200032 967 inlägg
#12

Se till att du inte har förstört objektet Connect innan du försöker använda det igen.

Mvh

Medlem sedan juni 20015 009 inlägg
#13

skriver jag ut sql satsen får jag:

SELECT Count(*) From meddelanden WHERE Till = 'Qimen' AND Kolla = 'Nej' AND olast = 1

Hummm sessionen är Qimen.

Medlem sedan juni 20015 009 inlägg
#14

tar jag bort AND olast = 1 så får jag en popup även om jag inte har ngr meddelande. Så det är väl den som krånglar.

Medlem sedan feb. 200112 078 inlägg
#15

Qimen skrev:

skriver jag ut sql satsen får jag:

SELECT Count(*) From meddelanden WHERE Till = 'Qimen' AND Kolla = 'Nej' AND olast = 1

Hummm sessionen är Qimen.

Har du en kolumn som heter 'olast' då? För den la jag till som förslag i SQL-satsen. Isåfall stämmer felmesset.

Medlem sedan jan. 20032 285 inlägg
#16

Är inte så bra på felmeddelanden, men kan det bero på att olast inte är av typen tal? Har bara sett engelska felmeddelanden innan. ;) Annars verkar det nog vara så att olast inte finns, som OveRRidE sa! :)

Medlem sedan feb. 200112 078 inlägg
#17

Kolumnen 'olast' måste vara av typen Tal, ja. Hade det varit text, hade den varit innesluten i apostrofer.

Medlem sedan juni 20015 009 inlägg
#18

Men jag har en kolumn som heter kolla och den har värdena ja eller nej. Hur ska jag ändra ovanstående kod då?

Medlem sedan aug. 20002 272 inlägg
#19
SELECT Count(*) [b]AS rakna[/b] From meddelanden WHERE Till = 'Qimen' AND Kolla = 'Nej' AND olast = 1

Eller behöver man inte skriva det?? ;)

Medlem sedan feb. 200112 078 inlägg
#20

Och 'kolla' är ifall användaren har läst den eller ej? Text-typ?

<%SQL = "SELECT Count(*) From meddelanden WHERE Till = '" & trim(session("username")) & "' AND kolla = 'no' "
Set RecSet = Connect.Execute(SQL)%>

if not recset.eof then
%>
<script>
<!--
   alert('Du har fått ett nytt privat meddelande!');
//-->
</script>
<%
end if
%>
276 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
139 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
140 ms — ändringar (db)