Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1

    messaggio privato a tutti gli utenti

    allora cari ascoltatori innasitutto allegria :maLOL:

    ho un database access strutturato così

    ID;ID_Mittente;ID_Destinatario;Titolo_Messaggio;Me ssaggio;Data_Messaggio;check

    vorrei fare una pagina che invia titolo e messaggio a tutti gli ID_Destinatario

    insomma un messaggio per tutti gli iscritti
    come faccio?

    io per farlo da utente a utente uso questo

    codice:
    <%
    Session.LCID = 1040
    verifyAlreadyExist=false
    ID_Mittente=Session("ID")
    ID_Destinatario=Request("ID_Destinatario")
    Titolo_Messaggio=Replace(Trim(Request.form("Titolo_Messaggio")),"'","''")
    Messaggio=Replace(Trim(Request.form("Messaggio")),"'","''")
    if ID_Destinatario<>"" and ID_Mittente<>"" and Titolo_Messaggio<>"" and Messaggio<>""  then
    
    
    
    						Set Conn = Server.CreateObject("ADODB.Connection")
    						Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb")
    						Set rs=Server.CreateObject("ADODB.RecordSet")
    						sql="Select * from MiniBlog"
    						rs.Open sql,Conn,3,3
    						
    						 rs.AddNew
    						   rs("ID_Mittente")=ID_Mittente
    						   rs("ID_Destinatario")=ID_Destinatario
    						   rs("Titolo_Messaggio")=Titolo_Messaggio
    						   rs("Messaggio")=Messaggio
    			
    						   rs("Data_Messaggio")=Now()
    						 rs.update
    						rs.close
    						set rs=nothing
    						conn.close
    						set conn=nothing
    						verifyAlreadyExist=true
    
    end if
    
    %>


    grazie
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Fammi capire:

    - l'elenco degli utenti sta nella tabella miniblog o in un'altra tabella?

    - il campo ID identifica gli utenti o i messaggi?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    l'elenco degli utenti è in una tabella utenti a parte

    e l'id sta per id messaggi totali di tutti gli utenti
    poi ogni utente legge isuoi in base all'id_mittente

    e l'id della tabella utenti coincide con l'ID_Destinatario/Id_Mittente della tabella miniblog a seconda di chi invia e chi riceve
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    Potresti fare:

    codice:
    <%
    Session.LCID = 1040
    verifyAlreadyExist=false
    ID_Mittente=Session("ID")
    Titolo_Messaggio=Replace(Trim(Request.form("Titolo_Messaggio")),"'","''")
    Messaggio=Replace(Trim(Request.form("Messaggio")),"'","''")
    
    if ID_Mittente<>"" and Titolo_Messaggio<>"" and Messaggio<>""  then
    
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb")
    Set rs=Server.CreateObject("ADODB.RecordSet")
    
    sql="Select distinct utente from tabella_utenti"
    rs.Open sql,Conn,3,3
    
    do until rs.eof
    
    ID_Destinatario=rs("utente")
    
    sql2 = "Insert into MiniBlog (ID_mittente, ID_destinatario, Titolo_messaggio, Messaggio, Data_messaggio) values ('"&ID_mittente&"', '"&ID_destinatario&"', '"&Titolo_messaggio&'", '"&Messaggio&'", #" & now() & "#)"
    conn.execute sql2
    
    rs.movenext
    loop
    						
    rs.close
    set rs=nothing
    
    conn.close
    set conn=nothing
    
    end if
    
    %>
    salvo errori od omissioni........
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    innansitutto grazzissime :-)

    però mi da errore

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Iscritti.ID='.

    /bbart/inviatutti.asp, line 100


    dove c'è la query per rs2 con questo codice


    codice:
    <%
    Set rs2=Server.CreateObject("ADODB.RecordSet")
    sql="Select * from Iscritti where Iscritti.ID=" & ID_Destinatario
    rs2.Open sql,Conn,3,3
    if verifyAlreadyExist=false then
    
    %>

    grazie ancora
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  6. #6
    Infatti ID_destinatario non esiste ancora quando scrivi quell'istruzione.

    Il movimento cinese è:

    - estrarre tutti i nomi utente dalla tabella utenti
    - per ogni nome utente creare un ID_destinatario
    - per ogni ID_destinatario inserire nella tabella MiniBlog un record che ha quell'ID_destinatario, come ID_mittente te (session(ID)) e come titolo_messaggio e messaggio quelli che hai inserito nel form.

    Lascia la query sql come l'avevo postata io.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #7
    Oooops, sql2, dicevi!

    Hai inserito l'istruzione

    ID_Destinatario=rs("utente")?

    Ma perchè rs2? Il recordset è uno solo!
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    posto tutta la pagina così com'è
    in realta c'era un pezzo di codice sotto che ti ho omesso ...ovvero rs e rs2 le due query che pensavo non cambiassero

    codice:
    <%
    Session.LCID = 1040
    verifyAlreadyExist=false
    ID_Mittente=Session("ID")
    ID_Destinatario=Request("ID_Destinatario")
    Titolo_Messaggio=Replace(Trim(Request.form("Titolo_Messaggio")),"'","''")
    Messaggio=Replace(Trim(Request.form("Messaggio")),"'","''")
    if ID_Destinatario<>"" and ID_Mittente<>"" and Titolo_Messaggio<>"" and Messaggio<>""  then
    
    
    
    						Set Conn = Server.CreateObject("ADODB.Connection")
    						Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb")
    						Set rs=Server.CreateObject("ADODB.RecordSet")
    						sql="Select * from MiniBlog"
    						rs.Open sql,Conn,3,3
    						
    						 rs.AddNew
    						   rs("ID_Mittente")=ID_Mittente
    						   rs("ID_Destinatario")=ID_Destinatario
    						   rs("Titolo_Messaggio")=Titolo_Messaggio
    						   rs("Messaggio")=Messaggio
    			
    						   rs("Data_Messaggio")=Now()
    						 rs.update
    						rs.close
    						set rs=nothing
    						conn.close
    						set conn=nothing
    						verifyAlreadyExist=true
    
    end if
    
    %>
    
    
    <%
    if Session("ID")="" or  Session("ID")=null then
    %>
    	<script>
    		function closeAll(){
    			window.opener.focus(); 
    			window.opener.location.href="default.asp"
    			window.close(); 
    		}
    	</script>
    <%
    Response.write("Ti devi prima loggare ..... Clicca Qui")
    
    else
    
    %>
    
    <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb")
    		
    Set rs=Server.CreateObject("ADODB.RecordSet")
    sql="Select * from Iscritti where Iscritti.ID=" & Session("ID")
    rs.Open sql,Conn,3,3
    
    %>
    
    <%
    Set rs2=Server.CreateObject("ADODB.RecordSet")
    sql="Select * from Iscritti where Iscritti.ID=" & ID_Destinatario
    rs2.Open sql,Conn,3,3
    if verifyAlreadyExist=false then
    
    %>
    <form action="invia.asp" method="POST" name="inputForm">				
    			
    <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="380" HEIGHT="299" align='center'>
    
    <TR>
    <TD ROWSPAN="5" COLSPAN="1" WIDTH="34" HEIGHT="126">
    	[img]img_invia/invia_1x1.gif[/img]</TD>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="324" HEIGHT="18">
    	[img]img_invia/invia_1x2.gif[/img]</TD>
    <TD ROWSPAN="5" COLSPAN="1" WIDTH="22" HEIGHT="126">
    	[img]img_invia/invia_1x3.gif[/img]</TD>
    </TR>
    
    <TR>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="324" HEIGHT="34">
    	[img]img_invia/invia_2x1.gif[/img]</TD>
    </TR>
    
    <TR>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="324" HEIGHT="11">
    	[img]img_invia/invia_3x1.gif[/img]</TD>
    </TR>
    
    <TR>
    <TD WIDTH="324" HEIGHT="20" background="img_invia/invia_4x1.gif">
    	
        <input type="text" name="Titolo_Messaggio" size="50" style="border: 1px solid #8D9AA8" maxlength="20" value="da <%=rs("user")%>"></TD>
    </TR>
    
    <TR>
    <TD WIDTH="324" HEIGHT="43" background="img_invia/invia_5x1.gif">
    	<font face="Verdana" size="1">Altre Faccine</font></TD>
    </TR>
    
    <TR>
    <TD WIDTH="34" HEIGHT="128" background="img_invia/invia_6x1.gif">
    	</TD>
    <TD WIDTH="324" HEIGHT="128" background="img_invia/invia_6x2.gif">
    
          <p align="center">
          [img]faccine/5.gif[/img]
          [img]faccine/13.gif[/img]
          [img]faccine/12.gif[/img]
          [img]faccine/11.gif[/img]
          [img]faccine/1.gif[/img]
          [img]faccine/20.gif[/img]
          [img]faccine/15.gif[/img]
          [img]faccine/27.gif[/img]
          [img]faccine/24.gif[/img]
          [img]faccine/23.gif[/img]
          [img]faccine/22.gif[/img]
          [img]faccine/25.gif[/img]
    	  
    
          <textarea rows="5" name="Messaggio" cols="34"></textarea><font face="Verdana"><font style="font-size: 9pt" size="1">
    
              <input type="submit" value="Invia Messaggio" name="B1" style="border: 1px solid #8D9AA8"></font></font></p>
    
    </TD>
    <TD WIDTH="22" HEIGHT="128" background="img_invia/invia_6x3.gif">
    	</TD>
    </TR>
    
    <TR>
    <TD ROWSPAN="2" COLSPAN="1" WIDTH="34" HEIGHT="27">
    	[img]img_invia/invia_7x1.gif[/img]</TD>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="324" HEIGHT="11">
    	[img]img_invia/invia_7x2.gif[/img]</TD>
    <TD ROWSPAN="2" COLSPAN="1" WIDTH="22" HEIGHT="27">
    	[img]img_invia/invia_7x3.gif[/img]</TD>
    </TR>
    
    <TR>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="324" HEIGHT="16">
    	[img]img_invia/invia_8x1.gif[/img]</TD>
    </TR>
    
    <TR>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="34" HEIGHT="18">
    	[img]img_invia/invia_9x1.gif[/img]</TD>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="324" HEIGHT="18">
    	[img]img_invia/invia_9x2.gif[/img]</TD>
    <TD ROWSPAN="1" COLSPAN="1" WIDTH="22" HEIGHT="18">
    	[img]img_invia/invia_9x3.gif[/img]</TD>
    </TR>
    
    </TABLE>
    	<input type="hidden" name="Mittente" value="<%=rs("User")%>">
    	<input type="hidden" name="ID_Mittente" value="<%=ID_Mittente%>">
    	<input type="hidden" name="Destinatario" value="<%=rs2("User")%>">
    	<input type="hidden" name="ID_Destinatario" value="<%=ID_Destinatario%>" >
    	  
    
        </form>
    			<%
    
    else
    %>
    <script>
    window.close(); 
    </script>
    
    
    <%
    
    response.Write("
    <form name='form1'>Chiudi Finestra
    La finestra si chiuderà automaticamente </form>")
    end if
    end if
    %>

    scusami sto abusando della tua gentilezza
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  9. #9
    1. le due query che usi per creare rs e rs2 dovresti chiamarle in modo diverso, per distinguerle (per esempio sql e sql2, tanto per essere fantasiosi...): lo script può anche funzionare, perchè quando apri rs2, sql (la prima) è già stata sovrascritta con il nuovo valore (la nuova query), ma è buona norma distinguerle anche con un nome diverso, ti faciliterà ogni intervento successivo sul codice.

    2. il codice è molto lungo e spero di averlo capito: in questa pagina viene prima inserito nella tabella MiniBlog un nuovo messaggio e poi l'utente loggato, pescato nella tabella utenti, invia all'utente scelto (ma non capisco da dove arriva ID_destinatario ) gli invia dicevo un singolo messaggio con relativo titolo.

    Mi sembra che ID_destinatario non lo recuperi da nessuna parte, e quindi che rs2 è sempre vuoto, quindi il contenuto del campo "hidden" ID_destinatario è vuoto e anche al ricaricamento di pagina non succede niente.

    Se vuoi che l'utente loggato mandi un messaggio a tutti gli iscritti, la query per creare RS2 deve essere qualcosa come:

    sql2 = "Select * from Iscritti"

    e basta. Quindi:

    - sql2 e non più sql (di sql ce ne sono già abbastanza)
    - niente condizioni where, visto che gli iscritti li vuoi recuperare tutti.

    A questo punto la routine per inviare il messaggio deve essere contenuta all'interno di un ciclo che scorre tutti gli utenti (che dovranno diventare destinatari) e per ognuno di essi invia in messaggio (e, credo, dovrebbe anche fare l'update della tabella MiniBlog, se vuoi tenere nel database tutti i messaggi inviati)

    Se l'invio del singolo messaggio da un singolo ID_Mittente a un singolo ID_destinatario funziona (ma resta il problema di recuperare ID_Destinatario, eventualmente ce ne occupiamo dopo...), potresti semplicemente lasciare lo script così com'è, e aggiungere da qualche parte un bottone per inviare quel messaggio a tutti gli utenti: se l'utente sceglie di inviare al singolo iscritto, viene avviata la prima procedura, se preme il bottone "invia a tutti" viene avviata la seconda (quella che ti ho suggerito e che devi ancora creare).

    Come vedi hai un bel po' di carne al fuoco, buon divertimento, ho l'impressione che ti farai risentire...
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #10
    come da programma rieccomi!


    scusa se insisto e so anche che sta per partire una sedia schiantata alla mia schiena!

    ma unapaginetta semplice semplice che abbia solo il form di invio con titolo e messaggio con mittente me medesimo
    si puo fare che arrivi a tutti?

    lasciando stare il passato che è sempre passato :maLOL:

    se fossi donna ti direi ti amo....
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.