hade nu tänkt att göra om hans skript lite så att man kan bara skicka till alla utom sig själv, så att den känner av om kalle är den som ska skicka osv... så att det sedan står för mottagaren att "Du har ett nytt meddelande från Kalle"
ni fattar nog va :q jag gör det :e
Du får väll skapa en post i meddelande tabellen som tex är en kryssruta och heter exempelvis read. om det är läst sätts det värdet till true annars inte. Varje gång du läser ett meddelande får du kolla om det är läst eller inte, om det inte tidigare är läst, markera kryssrutan.
Sedan där du ska visa om han har något oläst mail är det bara att ta och kolla om det finns någon i tabellen som inte är satt till true..
prova och be om hjälp när du har kodat lite
------------------
1 Man, 1 Million dead, The odds are just about even - Ash
men frågan är ju, hur gör man så att det står att det är från om te x jag Crisse6 är inne och skickar till Kalle så känner den av det att jag är Crisse6 och skickar till Kalle så att det sedan står att det är från mig?
har mixtrat lite nu i meddelandeskripet... jag har nu gjort så att den hämtar från databasen users.mdb där username är ett av fälten i en av tabellerna i users.mdb. Tabellen heter också users den andra message.
den hämtar alla medlemmar oså och visar det i en rullist... men för att den ska känna av att det te x är jag Crisse6 som är inne och kollar sina meddelande oså... la jag till Session ("username") men det gillade den inte... vad är fel på koden nedan... jag vill alltså att om jag Crisse6 är inne så står det om jag fått några meddelanden (det finns ju i funktionen) från rätt tabell...aja.. kolla här och säg mig vad som ska ändras... (psst... jag har ju som jag sa två tabeller en users och en message, users innehåller "username, namn, efternamn m.m... och message innehåller följande fält: msgID, msgFrom, msgTo, msgText)
<% Option Explicit %>
<!-- #include file="adovbs.inc" -->
<!-- #include file="checkb.inc" -->
<%
Dim iUsr, oCn, oRs1, oRs2, sSQL
'
' Ta emot parametern user från det tidigare formuläret.
iUsr = Session ("username")
'
' Kolla om det är en siffra vi har fått...
If (IsNumeric(iUsr)) Then
'
' Konvertera till integer.
iUsr = Cint(iUsr)
Else
'
' Vi har inte fått något värde skickat, och skriver ut ett felmeddelande om detta.
Response.Write "<b> Inget användar-id har skickats till det här skriptet. </b>"
Response.End
End If
'
' Sätt ihopp sql-frågan.
sSQL = "SELECT message.*, users.username FROM [users] INNER JOIN message ON users.ID = message.msgFrom "
sSQL = sSQL & "WHERE (((message.msgTo)=" & iUsr & "))"
Set oCn = Server.CreateObject("ADODB.Connection") ' Skapa en databaskoppling.
Set oRs1 = Server.CreateObject("ADODB.Recordset") ' Skapa ett recordset.
Set oRs2 = Server.CreateObject("ADODB.Recordset") ' Vi kommer att behöva 2 st recordset.
'
' Öppna databasen med connection-objektet.
oCn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("users.mdb")
'
' Här hämtar vi meddelanderna från databasen, som sparas i oRs1.
oRs1.Open sSQL, oCn, 3
'
' Här hämtar vi en lista på alla användare ur databasen, som sparas i oRs2.
oRs2.Open "SELECT users.* FROM [users]", oCn, 3
'
' Kolla så att vi verkligen har fått några användare i listan.
If (oRs2.Eof) Then
'
' Om inte så har vi ett litet problem.
Response.Write "<b> Megafel! det finns inga användare i databasen. </b>"
Response.End
End IF
%>
<html>
<body>
<table border="0" width="400">
<%
'
' Kolla om vi fått någonting i record-setet överhuvudtaget.
If (oRs1.Eof) Then
'
' Om inte, så meddelar vi det.
Response.Write "<tr><td> Inga meddlanden för tillfället. </td></tr>"
Else
'
' Loopa ända till slutet på recordsetet.
While Not(oRs1.Eof)
'
' Visa meddelandet.
Response.Write "<tr><td> <b> Från: </b> " & oRs1("usrName") & "</td></tr>"
Response.Write "<tr bgcolor=#E0E0E0 ><td>" & oRs1("msgText") & "</td></tr>"
'
' Skriv även ut ett formulär som ser till så att vi kan ta bort meddelanden.
Response.Write "<tr><td align=right><form method=post action=delete.asp ><input type=hidden name=usrid value=" & iUsr
Response.Write " ><input type=hidden name=msgid value=" & oRs1("msgID") & " ><input type=submit value=kasta></form></td></tr>"
'
' Gå till nästa post i recordset.
oRs1.MoveNext
Wend
End IF
%>
<tr><td>
<form method="post" action="send.asp">
<input type="hidden" name="id" value="<%= iUsr %>">
<b> Till: </b>
<select name="username">
<%
'
' Loopa igenom listan med användare.
While Not(oRs2.Eof)
'
' Skriv ut alla användare.
Response.Write "<option value=" & oRs2("ID") & " >" & oRs2("username") & vbcrlf
'
' Gå till nästa rad i listan.
oRs2.MoveNext
Wend
%>
</select> <br>
<b> Meddelande: </b> <br>
<textarea cols="45" rows="5" name="msg"></textarea>
<input type="submit" value="Skicka...">
</form>
</td></tr><tr><td align="right">
<a href="default.asp"> logga ut... </a>
</td></tr></table>
</body>
</html>
<%
oRs2.Close ' Stäng recordset 2.
oRs1.Close ' Stäng recordset 1.
oCn.Close ' Stäng connection.
%>
<!-- #include file="checkb2.inc" -->
</html>
Du säger att det inte fungerar med session("Username").
Sätter du värdet för session("username") någonstans?
Det är också lite brister i felhanteringen. I något läge gör du response.end utan att stänga kopplingen till databasen.
...
If (oRs2.Eof) Then
'
' Om inte så har vi ett litet problem.
Response.Write "<b> Megafel! det finns inga användare i databasen. </b>"
'borde vara en close här
Response.End
End IF
...
------------------ essentitia preter non sans multiplicandum
295 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2