- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Creare Pagina aggiungi record DB
-
arisalve.....
riprendo questopost....sperando di risolvere....
nonostante il settore aggiungi record del mi sito sia protetto da password...per evitare abusi da sconosciuti.....
quello che io vorrei è che una volta aggiunto un record mi sia mandata una notifica al mio indirizzo email dell'avvenuto inserimento.....c'è un modo per farlo?
-
@La Maglia Rosanero said:
arisalve.....
riprendo questopost....sperando di risolvere....
nonostante il settore aggiungi record del mi sito sia protetto da password...per evitare abusi da sconosciuti.....
quello che io vorrei è che una volta aggiunto un record mi sia mandata una notifica al mio indirizzo email dell'avvenuto inserimento.....c'è un modo per farlo?
che problemi hai nell'riutilizzare il codice cui siamo addivenuti in quest'altro thread: http://www.giorgiotave.it/forum/asp-asp-net/16850-invio-email-asp-mi-date-un-consiglio-3.html#post136850?Ovvero:
Dim objMail, objConfig Set objMail = Server.createObject("CDO.Message") Set objConfig = Server.createObject ("CDO.Configuration") With objConfig .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it" .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Fields.update End With Set objMail.Configuration = objConfig objMail.From = "[email protected]" ' Mittente objMail.To = "[email protected]" ' Destinatario objMail.Subject = "Inserito nuovo record nel DB xxx" ' Oggetto objMail.HTMLBody = "Qui puoi scrivere dettagli sulla DATA/ORA dell'inserimento, l'IP dell'utente che ha inserito etc. etc." ' Messaggio objMail.Send() Set objMail = Nothing
-
Ciao,
c'è questa discussione a proposito dell'invio di mail tramite asp.PS: ricordo che prima di richiedere un consiglio è vivamente consigliato fare una ricerca prima sul forum e poi eventualmente su Google per un dato problema.
-
paolocavo.....scusa....
la mi difficoltà sta nel collegare l'inserimento di un record con l'invio di notifica email!
quello è invece un form per invio email.....il concetto è uguale lo so ma non so come collegare l'inserimento del record all'invio di notifica email!
E io non intendo collegarlo al semplice pulsante invia record....ma anche a quando si agisce nel database senza passare dal form per l'inserimento del record....inmodo tale che chiunque riuscisse a mod il database non dal form ma dal database stesso il lo vengo a sapere!
-
@La Maglia Rosanero said:
paolocavo.....scusa....
la mi difficoltà sta nel collegare l'inserimento di un record con l'invio di notifica email!
quello è invece un form per invio email.....il concetto è uguale lo so ma non so come collegare l'inserimento del record all'invio di notifica email!
E io non intendo collegarlo al semplice pulsante invia record....ma anche a quando si agisce nel database senza passare dal form per l'inserimento del record....inmodo tale che chiunque riuscisse a mod il database non dal form ma dal database stesso il lo vengo a sapere!
Per la notifica di inserimento da web-form puoi tranquillamente inserire il codice che ti ha segnalato madai in una SUB e poi richiamarla subito dopo l'AddNew (meglio dopo aver chiuso la connessione al DB) del nuovo record.Per le notifiche dirette dal Database (senza passare dal tuo form) dovresti scrivere una
procedura memorizzata all'interno del database (tra i Moduli del DB). Non so se quest'ultima cosa è fattibile con MS Access in quanto so che non supporta i ***Trigger ***(=procedure che gesticono eventi nel DB: ON_INSERT, ON_DELETE, ON_UPDATE, ecc...) come invece avviene per MS SQL-Server, Oracle, ecc...PS: Personalmente non ritengo che il livello di criticità del tuo DB sia tale da richiedere simili contromisure, in ogni caso è utile porsi questi problemi. Facci sapere se trovi news sull'argomento.
-
allora prndendo spunto dallo script che mi hai detto su...ho fatto questo:
<%Dim objMail, objConfig
Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject ("CDO.Configuration")With objConfig .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it" .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Fields.update End With Set objMail.Configuration = objConfig objMail.From = "Add Record" ' Mittente objMail.To = "[email protected]" ' Destinatario objMail.Subject = "Inserito nuovo record nel DB" ' Oggetto objMail.HTMLBody = "E' Stato Inserito un nuovo record nel database per il motore di ricerca" ' Messaggio objMail.Send() Set objMail = Nothing %>
e questa è una pagina chiamata notifyrecord.asp
ora ho anche modificato la pagina non del form ma quella dello script vero e proprio cheinserisce il record nel db e ho messo un include file per la pagina notifyrecord.asp alla fine dello script dopo il %> che chiude lo script stesso!Ora si potrebbe fare che la semplice esecuzione della pagina notifyrecord.asp manda la mail! che ne dici???
come si può far si che lo script dica ciò??
-
Come mittente imposta un indirizzo email valido anche se inesistente altrimenti l'email potrebbe non partire.
Per il resto qual'è il problema? Mi sembra corretto quello che vuoi fare... l'include va bene. Prova.
-
allora ho fatto così :
<%Dim objMail, objConfig
Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject ("CDO.Configuration")With objConfig .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it" .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Fields.update End With Set objMail.Configuration = objConfig objMail.From = "[email protected]" ' Mittente objMail.To = "[email protected]" ' Destinatario objMail.Subject = "Inserito nuovo record nel DB" ' Oggetto objMail.HTMLBody = "E' Stato Inserito un nuovo record nel database per il motore di ricerca" ' Messaggio objMail.Send() Set objMail = Nothing %>
invece la pagina che aggiunge il record è questa :
<%
if Session("Autenticato")<>"OK" then
Response.Redirect("index.asp")
end if
%>
<!--#include file="connessione.asp"-->
<%
titolo=Request.Form("titolo")
anno=Request.Form("anno")
partita=Request.Form("partita")
data=Request.Form("data")
marcatori=Request.Form("marcatori")
size=Request.Form("size")
parole_chiave=Request.Form("parole_chiave")
url=Request.Form("url")
SQL = "INSERT INTO risultati (titolo,anno,partita,data,marcatori,size,parole_chiave,url)"
SQL = SQL&"VALUES('"&titolo&"','"&anno&"','"&partita&"','"&data&"','"&marcatori&"','"&size&"','"&parole_chiave&"','"&url&"')"
Conn.Execute(SQL)
Response.Redirect "recordok.asp"
%><!--#include file="notifyrecord.asp"-->praticamente aprendo la pagina notifyrecord.asp dovrebbe partire la mail in automatico e invece non parte nulla!
per quanto riguarda il secondo script postato....beh per funzionare prima dobbiamo far funzionare la pagina notifyrecord.asp
-
objMail.To = "[email protected]l" ' Destinatario
Hai scritto male la tua email... controlla, **c'è una ****l in più
**
-
azz eheheheh bene grazie per avermelo fatto notare.....non ci sarei mi arrivato
ora funziona!
senti per mettere i campi che sono stati inseriti???
come si fa?
-
Stai facendo grandi progressi... non ci arrivi da solo?
Pensaci su... hai riempito delle variabili (titolo, anno, etc.) che poi hai utilizzato per inserirne il contenuto nel DB. Quelle variabili però sono ancora piene delle info che ti servono, quindi le puoi utilizzare per costruire il body del messaggio... una cosa del genere:
body = "Inserito nuovo record bla bla bla." body = body & "Titolo: " & titolo body = body & "Anno: " & anno ... body = body & "IP insertore: " & Request.ServerVariables("REMOTE_ADDR") objMail.HTMLBody = body
-
grazie per i complimenti
quindi:Set objMail.Configuration = objConfig
objMail.From = "[email protected]" ' Mittente
objMail.To = "[email protected]" ' Destinatario
objMail.Subject = "Inserito nuovo record nel DB" ' Oggetto
body = body & "Titolo: " & titolo
body = body & "Anno: " & anno
body = body & "Partita: " & partita
body = body & "Data: " & data
body = body & "Marcatori: " & marcatori
body = body & "Size: " & size
body = body & "Parole Chiave: " & parole_chiave
body = body & "URL: " & url
objMail.HTMLBody = body
objMail.Send()
Set objMail = Nothing
%>giusto?
dovrebbe andare così giusto???
-
si... prova no?
-
praticamente funziona però mi invia la mail con Titolo: Anno: tutti infila orizzontale e non verticale capito???
dovrebbe essere così :
Titolo:
Anno:
....ho provato ad inserire un record nonostante lo inserisca e quindi esegue la pagina add.process.asp manda l'email.....ma solo con titolo: anno: senza nulla dopo cioè senza ciò che scrivo nei campi!!!
non capisco
-
@La Maglia Rosanero said:
praticamente funziona però mi invia la mail con Titolo: Anno: tutti infila orizzontale e non verticale capito???
Devi aggiungere il carattere di ritorno a capo ( vbCrLf ) all'interno della stringa che contiene il body:
[...] body = body & "Titolo: " & titolo & vbCrLf body = body & "Anno: " & anno & vbCrLf body = body & "Partita: " & partita & vbCrLf [...]
ecc... ecc...
PS: Si dice: "...non so se sono stato chiaro" e non "...capito???"
-
si scusa
allora.....
niente mi arriva la mail :
Inserito Nuovo Record con queste Caratteristiche Titolo: Anno: Partita: Data: Marcatori: Size: Parole Chiave: URL:usando questo codice :
Set objMail.Configuration = objConfig objMail.From = "[email protected]" ' Mittente objMail.To = "[email protected]" ' Destinatario objMail.Subject = "Inserito nuovo record nel DB" ' Oggetto body = body & "Inserito Nuovo Record con queste Caratteristiche" & vbCrLf body = body & "Titolo: " & titolo & vbCrLf body = body & "Anno: " & anno & vbCrLf body = body & "Partita: " & partita & vbCrLf body = body & "Data: " & data & vbCrLf body = body & "Marcatori: " & marcatori & vbCrLf body = body & "Size: " & size & vbCrLf body = body & "Parole Chiave: " & parole_chiave & vbCrLf body = body & "URL: " & url & vbCrLf objMail.HTMLBody = body objMail.Send() Set objMail = Nothing %>
non mi inserisce neanche cio che ho scritto nei campi!