Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 34
  1. #11
    ho fatto una pagina unendo le cose che mi hai detto e finalmente gia vedo la pagina del form senza errori...
    scrivo il messaggio e al momento dell'invio compare

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

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

    /bbart/invia.asp, line 99



    la quale linea bastarda è

    sql2="Select * from Iscritti"

    che si trova nella pagina da me fatta(per modo di dire da me :maLOL: così ...



    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
    
    %>
    
    
    <%
    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")
    sql2="Select * from Iscritti"
    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
    %>
    
    
    
    
    </p>
    </BODY>
    </HTML>
    ora mi ammazza
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #12
    Ma certo, anzi è la soluzione migliore: quando funzionerà, poi la arricchirai con tutte le immagini e faccine che vorrai.

    Allora, per passi:

    - devi creare un semplice form, con due campi testo (o textarea) per titolo messaggio e messaggio.
    - ID_Mittente lo recuperi dalla variabile di sessione creata (immagino) quando l'utente si è loggato.
    - per l'invio (a tutti o uno solo) potresti creare, all'interno dello stesso form, una select box che recupera gli ID e nomi degli utenti in questo modo:

    codice:
    <select name="destinatario">
    <option value=""> Scegli il destinatario </option>
     <%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"
    rs.Open sql,Conn,3,3
    do until rs.eof
    id = rs("ID")
    nome = rs("nome_utente")
    %>
    <option value="<%=id%>"><%=nome%></option>
    <%rs.movenext
    loop%>
    <option value="tutti"> Tutti gli utenti</option>
    </select>
    rs.close
    set rs = nothing
    %>
    Poi doterai il tuo form di un pulsante submit e di uno reset.

    Nella pagina di destinazione avrai, per esempio:

    codice:
    ID_Mittente = session("ID")
    messaggio = request.form("messaggio")
    titolo_messaggio = request.form("titolo_messaggio")
    ID_destinatario = request.form("destinatario")
    e, a questo punto due procedure distinte (destinatario unico / tutti) che verranno innescate da una condizione:

    codice:
    if ID_destinatario = "tutti" then
    ...procedura per l'invio a tutti..
    else
    ...procedura per l'invio a uno solo..
    end if
    Delle procedure per l'invio abbiamo parlato prima.
    E' nato www.lombardiamotori.it

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

  3. #13
    siccome l'invio a tutti è solo per l'admin possiamo ancora riassumere? VVoVe:
    ora si procurerà una pistola

    ho fatto il primo passo ma sono bloccato sulle procedure

    www.melavivo.com/bbart/annunci.asp
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #14
    Beh, comunque un passettino è fatto.

    L'erroe del post precedente (che ho letto solo ora), beh, diciamo uno degli errori, è che se la query è

    sql2 = "select ecc. ecc."
    poi il recordset lo devi aprire così:
    rs2.open sql2 , conn, 3, 3

    cioè devi eseguire la stessa query sql2 che definisci sopra, non un'altra :maLOL:


    Nella creazione della select-box, per evitare quegli spazi vuoti, aggiungi un controllo tipo

    codice:
    <%if len(nome)>0 then%> 
    <option value="<%=id%>"><%=nome%></option>
    <%end if%>
    la parte in rosso, vedi tu se va bene in base al contenuto del database in modo da non perdere utenti ma neanche da avere quei buchi vuoti nella lista

    Poi ho notato che cliccando sul bottone che inoltra il form si ricarica la stessa pagina. Non va bene. L'action del form deve essere il nome di un'altra pagina (per esempio invia.asp) e in quella pagina dovrai creare lo script che processa i dati, e cioè che aggiorna la tabella MiniBlog e invia il messaggio o i messaggi.

    Inutile incasinarsi mettendo tutto nella stessa pagina: meglio dividere le pagine in modo da avere un codice modulare e più semplice.
    E' nato www.lombardiamotori.it

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

  5. #15
    Nella seconda pagina, quella a cui punta il form (abbiamo detto, per esempio, invia.asp), avrai:

    - istruzioni per recuperare le variabili:

    codice:
    ID_mittente = session("ID")
    messaggio = request.form("messaggio")
    titolo_messaggio = request.form("titolo_messaggio")
    ID_destinatario = request.form("destinatario")
    - condizione per avviare la routine per inviare messaggi a tutti o solo a un utente:

    codice:
    if ID_destinatario = "tutti" then
    
    ... invio a tutti ...
    
    else 
    
    ... invio a uno solo...
    
    end if
    - le due routine separate, che potrebbero essere:

    1. per l'invio a un solo utente la query sarà tipo quella che avevi nello script originale, aggiornando prima la tabella MiniBlog e poi inviando il messaggio (a proposito, non ho notato l'oggetto per l'invio, come fai?)

    2. per l'invio a tutti la cosa non è molto diversa, solo che la query per estrarre tutti i destinatari e l'apertura del relativo recordset sarà

    codice:
    sql = "Select * from Iscritti"
    rs.open sql, conn, 3, 3
    I record estratti li scorrerai con un ciclo tipo

    do until rs.eof

    .... all'interno del ciclo esegui le stessa procedura già fatta per l'invio di un solo messaggio, solo che nel campo ID_destinatario dovrai mettere non ID_destinatario recuperato dal request.form("destinatario") ma

    ID_destinatario = rs("ID")

    cioè l'ID dell'utente corrispondente al record corrente del recordset che stai scorrendo con il ciclo!

    Chiudi il ciclo con

    rs.movenext
    loop


    e okkio a:

    - usare i nomi giusti per i vari campi
    - chiudere e distruggere il recordset e la connessione dopo l'uso

    Altra cosa: per l'aggiornamento della tabella MiniBlog non è il caso di fare una query di select sulla tabella, creare un recordset e fare

    rs.addnew

    Puoi evitare di creare e aprire il recordset usando una query di update (vedi un mio post più sopra):
    codice:
    sql = "update MiniBlog (nome dei campi....) values (valore dei campi)"
    conn.execute sql
    Questo dipende anche da come vuoi inviare i messaggi, come farai?
    E' nato www.lombardiamotori.it

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

  6. #16
    ascoltando i tuoi consigli
    sono giunto a questo....

    riporto solo il codice asp della pagina inviatutti.asp che è sia form che action senza l'html

    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 User from Iscritti"
    rs.Open sql,Conn,3,3
    
    do until rs.eof
    
    ID_Destinatario=rs("User")
    
    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
    
    %>
    <%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")
    sql2="Select * from Iscritti"
    rs2.Open sql2,Conn,3,3
    if verifyAlreadyExist=false then
    
    %>
    <form action="inviatutti.asp" method="POST" name="inputForm">
    <input type="text" name="Titolo_Messaggio" size="50" style="border: 1px solid #8D9AA8" maxlength="20" value="da Staff"></TD>
    <textarea rows="5" name="Messaggio" cols="34"></textarea>
    <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
    %>
    e mi da questo errore
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''da Staff, 'ciaoooooooo prova messaggiooo'.

    /bbart/inviatutti.asp, line 54


    la quale linea 54 risulta essere

    codice:
    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 
     :master:
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  7. #17
    Sicuramente manca il singolo apice dopo due dei valori nella query (titolo messaggio e messaggio), aggiungilo e riprova.
    E' nato www.lombardiamotori.it

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

  8. #18
    inserito ma ...


    Microsoft VBScript compilation error '800a03ea'

    Syntax error

    /bbart/inviatutti.asp, line 53

    ......', '"&Titolo_messaggio& ' ", '"&Messaggio& ' ", #" & now() & "#)"
    ....--------------------------^termina sotto l'apice inserito


    http://www.melavivo.com/bbart/inviatutti.asp
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  9. #19
    avevo sbagliato la posizione dell'apice...cmq pur mettendo l'apice in modo giusto...

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

    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

    /bbart/inviatutti.asp, line 54

    che è sempre questa linea


    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
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  10. #20
    La sintassi va bene se i dati sono stringhe, se ID_mittente oppure ID_destinatario sono numerici, il singolo apice va tolto.

    Inoltre verifica per bene la sintassi per now() , non sono sicuro, fai una ricerca nel forum ......
    E' nato www.lombardiamotori.it

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

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 © 2026 vBulletin Solutions, Inc. All rights reserved.