webForumDet fria alternativet

Hur gör jag?

ASPur ASP

10 svar · 377 visningar · startad av Vincent

VincentMedlem sedan sep. 200263 inlägg
#1

Hur gör jag för att jag ska kunna skicka mess till vem som hälst så här ser koden ut på sidan som formulären är på
------------------------------------------------------------------------------------
<%
If Session("login") <> "ok" Then
Session("meddelande") = "du har blivit utloggad"
Response.Redirect "index.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db.mdb")&";pwd=losen"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From kompis Where ID1 = "&Session("id")
RecSet.Open Addera, Connect, 3, 3
%>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" colspan="3"><b>Skicka
ett meddelande till någon av dina vänner </b></td>
</tr>
<tr>
<td valign="top" colspan="3">
<form name="form1" method="post" action="do_send.asp">
<% If Request.QueryString("direct") = "no" Then %>
<input type="text" name="to" size="30" maxlength="50" value="">
Till...
<br>
<input type="text" name="rubrik" size="30" maxlength="50">
Rubrik<br>
Meddelande<br>
<textarea name="text" cols="50" rows="8"></textarea>
<br>
<input type="submit" name="Submit" value="Skicka meddelandet">
</form>
</td>
</tr>
</table>
</body>
</html>

------------------------------------------------------------------------------------
Och så här ser koden ut som skickar iväg messet
------------------------------------------------------------------------------------

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db.mdb")&";pwd=losen"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From message"
RecSet.Open Addera, Connect, 3, 3
RecSet.AddNew
RecSet("tillID") = Request.Form("to")
RecSet("rubrik") = Request.Form("rubrik")
RecSet("text") = Request.Form("text")
RecSet("datum") = Date
RecSet("read") = 0
RecSet("namn") = Session("username")
RecSet("fromID") = Session("id")
RecSet.Update
RecSet.Close
Connect.close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "skicka_mess.asp?direct=no"
%>

------------------------------------------------------------------------------------
det är ett community aspsidanscommunity v.1.0 hur ska jag göra
för att kunna skicka mess till vem som hälst?

PallemanMedlem sedan dec. 2000557 inlägg
#2

1. Kolla vilken typ av mailkomponent som används på din server.
2. Skapa en liten funktion som använder komponenten i fråga och skicka din mail med hjälp av den. (ex. CDO-NTS, JMail)

OveRRidEMedlem sedan feb. 200112 078 inlägg
#3

Om du återkommer med namnet på komponenten så kan vi nog hjälpa dig. :)

voigtann1Medlem sedan juni 20019 519 inlägg
#4

det är nog ingen komponent.. utan typ Community Mess-skickande-sak

OveRRidEMedlem sedan feb. 200112 078 inlägg
#5

Aha. Nu förstår jag. Dags att läsa tråden ytterligare en gång. :r

Du vill alltså inte skicka ett mail, utan ett bara ett 'mess'? Men, till vem som helst låter lite konstigt, du menar inte till alla?

PallemanMedlem sedan dec. 2000557 inlägg
#6

Ok, Palle fattar också nu.. :r ;)

VincentMedlem sedan sep. 200263 inlägg
#7

Jo men hur gör jag så att det visas ett fält som jag skriver in namnet i så skickas det till den personen om det inte finns så ska den bara skita i det och ej skicka!

aljMedlem sedan sep. 2002538 inlägg
#8

Läste inte inlägget, så då får jag väl ta bort allt jag skrev :p

OveRRidEMedlem sedan feb. 200112 078 inlägg
#9

Problemet med din kod är att när du väl fyller i informationen i formuläret, så får du välja en mottagare, och fältet är ett vanligt textfält, som har maxsize 50 och en size på 30. Detta ger ett intryck av att det är användarnamnet som skall fyllas i.

Däremot i filen som tar emot formulärdata:t, (din undre kod), vill scriptet hämta det som står i denna ruta och tror att det är ett user-ID, det står uttryckligen; RecSet("tillID") = Request.Form("to").

Du måste byta ut fältet "to" i ditt formulär mot en rullgardingsmeny som innehåller användarnas namn och ID-nummer så att relationerna i databasen blir rätt. Typ:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db.mdb")&";pwd=losen" 
Set RecSet = Server.CreateObject("ADODB.Recordset") 
Addera = "Select * From kompis" 
RecSet.Open Addera, Connect, 3, 3 
%> 

<select name="userId">
<% do until recset.eof %>
   <option value="<%=recset("usrId")%>"><%=recset("username")%>
<% recset.movenext
loop
%>
</select>

Och sen ta emot det ungefär såhär:

<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db.mdb")&";pwd=losen" 
Set RecSet = Server.CreateObject("ADODB.Recordset") 
Addera = "Select * From message" 
RecSet.Open Addera, Connect, 3, 3 
RecSet.AddNew 
[b]RecSet("tillID") = Request.Form("userId")[/b]
RecSet("rubrik") = Request.Form("rubrik") 
RecSet("text") = Request.Form("text") 
RecSet("datum") = Date 
RecSet("read") = 0 
RecSet("namn") = Session("username") 
RecSet("fromID") = Session("id") 
RecSet.Update 
RecSet.Close 
Connect.close 
Set RecSet = nothing 
Set Connect = nothing 
Response.Redirect "skicka_mess.asp?direct=no" 
%>
VincentMedlem sedan sep. 200263 inlägg
#10

men då blir det ju en option med alla namn hur gör jag för att få ett fält som man skriver in bara namnet? det var schysst att du hjälpte mig så långt!

OveRRidEMedlem sedan feb. 200112 078 inlägg
#11

Det du frågar efter är ju precis det som du har i ditt script i dagsläget. :q

127 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)