• User Attivo

    @Legolas said:

    <%
    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") = "il tuo smtp"
    .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 = request.form("mail")
    objMail.To = "qui ci metti la mail del destinatario" ' Destinatario
    objMail.Subject = "Oggetto mail"
    objMail.HTMLBody = "Ciao la tua user è: " & user & " e la tua password è:" & password
    objMail.Send()
    Set objMail = Nothing
    

    %>

    Scusami Legolas se solo ho provato il codice da te inviatomi, (ho avuto qualche problema di troppo) ma prima di provarlo ho nuovamente controllato e secondo me vi è qualcosa che non và !
    @Legolas said:

    objMail.To = "qui ci metti la mail del destinatario" ' Destinatario
    Lo scopo del form con registrazione (oltre naturalmente alla registrazione stessa) è anche quella di sapere chi si è registrato, e questo desidererei saperlo tramite un'email che mi arriva non appena l'utente si è appena registrato !


  • Moderatore

    objMail.To = "qui ci metti la mail del destinatario" ' Destinatario

    La mail deve arrivare a te giusto?

    Quindi ci metti la tua email

    Ciao


  • User Attivo

    Non ho ben capito come vanno legati i due gruppi di codici quello della registrazione utente e quello dell'invio email
    Io li ho scritti così,ho provato la registrazione avviene ma l'email non la manda :bho:

    @Legolas said:

    <%
    dim nome
    dim user
    dim pwd
    'evitiamo l'SQL Injection replicando gli apici
    nome=Replace(request.form("form_nome"),"'","''")
    user=Replace(request.form("form_user"),"'","''")
    password=Replace(request.form("form_password"),"'","''")
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/pass.mdb")
    sql = "SELECT * FROM pass WHERE user = '" & user & "'"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3

    If rs.EOF then

    RS.AddNew
    rs.Fields("nome")=nome
    rs.Fields("user")=user
    rs.Fields("pwd")=pwd
    rs.update
    RS.Close
    Set RS=Nothing
    conn.Close
    Set conn=Nothing
    response.redirect("reg_ok.htm")

    Else

    Response.Write("User giá esistente")
    Response.End
    RS.Close
    Set RS=Nothing
    conn.Close
    Set conn=Nothing

    End if

    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") = "mio smtp.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 = request.form("mail")
    objMail.To = "[email protected]" ' Destinatario
    objMail.Subject = "Oggetto mail"
    objMail.HTMLBody = "Ciao la tua user è: " & user & " e la tua password è:" & password
    objMail.Send()
    Set objMail = Nothing
    %>


  • User Attivo

    gelova prova a ragionare anche da solo... altrimenti tra un po' Legolas emette fattura 😄

    gelova, credo che tu debba fare una query al dastabase per recuperare l'email alla quale inviare la registrazione


  • User Attivo

    Avete ragione....ma è la prima volta che mi cimento in queste cose scusatemi se sono diventato insistente 😞


  • User Attivo

    Vi prego non odiatemi...........ma ho ancora qualche problema !
    Una volta che la registrazione è andata a buon fine, si aprirà la pagina
    "reg_ok.htm" che dà il benvenuto ecc....
    Ma ho notato che anche se non mi registro posso accedere a quella pagina,
    scrivendo sulla barra di navigazione :
    "http://pagina di inserimento dati/reg_ok.htm"

    Quindi in pratica chiunque conoscendo il nome della pag. potrà accedere saltando la procedura di registrazione :mmm:


  • Moderatore

    Puoi benissimo usare le var di sessione così controlli se l'utente è registato.
    Se lo è gli mostri la pagina altrimenti gli mostri altro

    Ciao:ciauz:


  • User Attivo

    le var di sessione
    Cosa sarebbero le var di sessione :mmm:


  • User Attivo

    Gelova la mia piccola esperienza mi dice di consigliarti questo semplice script che uso pure io

    <%
    if Session("Autenticato")<>"OK" then
    Response.Redirect("index.asp")
    end if
    %>

    dove index.asp è la pagina che gli spunta se non è autenticato....differentemente se lo è glispunta la pagina versola quale ha effettivamente puntato!
    questa stringa la metti all'inizio codice della pagina....nella linea 1 anche!


  • User Attivo

    Grazie 1000 !!!!


  • User Attivo

    Ho provato il tuo script ma con dispicere devo dirti che non mi funziona
    l'ho modificato in base alla sessione del mio codice così:

    <%
    if Session("registrato")="sicuro" then
    Response.Redirect("index.asp")
    end if
    %>
    Questo è il mio file che fa il check

    <%
    dim user
    dim pwd
    dim url
    user=replace(request.form("form_user"),"'","''")
    pwd=replace(request.form("form_password"),"'","''")
    url=request.form("form_url")
    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("mdb-database/pass.mdb")
    Set rs = Server.CreateObject("ADODB.Recordset")
    qry = "Select * from pass Where ((user='"
    qry = qry & user & "') AND (pwd='"
    qry = qry & pwd & "'));"
    rs.ActiveConnection = conn
    rs.CursorLocation = 2
    rs.Open qry
    Response.Expires=0
    if rs.EOF then
    response.redirect("check_out.htm")
    else
    session("registrato")="sicuro"
    rs.close
    set rs = nothing
    conn.close
    set conn = nothing
    response.redirect(url)
    end if
    %>


  • User Attivo

    allora ammettiamo che la pagina che non vuoi far vedere è la pagina dopolaregistrazione.asp
    e quella del login è login.asp

    allora
    questo è il codice della pagina dololaregistrazione.asp :
    <%
    .......
    ...........
    %>

    tu il pezzo di codice che ti ho dato devi metterlo nel codice dalla pagina dopolaregistrazione.asp prima del suo codice <% .....................%>
    capito..?
    ovviamente modifica la pagina index.asp con quella del tuo login!
    prova ad andare in questa pagina mia http://www.la-maglia-rosanero.com/foto_stadio/archiviofoto/add.asp come vedi on sei validato e ti rimanda alla pagina di login nel mio caso index.asp!

    tu hai INTEGRATO il pezzodi codice nel tuo codice...invece devi separarli per come te l'h o dato!
    tipo

    <%
    if Session("Autenticato")<>"OK" then
      Response.Redirect("index.asp")
    end if
    %>
    <html>
    <head>
    <title>aggiungi record</title>
    </head>
    <body bgcolor="#FF99CC">
    <div align="center">
    <center>
    <form method="post" action="add-process.asp">
    <p>&nbsp;</p>
    <table width="660" border="0" cellspacing="0" cellpadding="1" height="230" align="center" bgcolor="#000000" id="table1">
        <tr> 
          <td height="66" width="967"> 
            <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" height="201" id="table2">
    
    

    questo è parte del codice dall pagina che ti ho appena fatto vedere


  • User Attivo

    Ma è proprio quello che ho fatto, il tuo codice e cioè
    <%
    if Session("registrato")="sicuro" then
    Response.Redirect("reicreg.htm")
    end if
    %>
    L' ho inserito in cima alla pagina da nascondere e cioè
    "reg_ok.htm" che sarebbe la pagina che appare dopo l'avvenuta corretta registrazione
    naturalmente l'ho modificata perchè la mia pag "check.asp" in session era diversa (vedi sopra) :bho:


  • User Attivo

    Aspetta.....Aspetta.....!!!!
    Ho provato a rinominare la pag da nascondere (reg_ok.htm)
    da htm ad asp e funziona, ma allora le pag da nascondere devono per forza essere in asp ?


  • User Attivo

    eh siamo in sezione asp 🙂
    si solo per l'asp funziona 🙂


  • User Attivo

    Ho provato a lasciare vuoti i campi e cliccare sul tasto registrami e mi appare un schermata bianca con un errore cosa dovrei inserire per obbligare l'utente a riempire tutti i campi ?

    Grazie !!!!!


  • User Attivo

    @gelova said:

    Ho provato a lasciare vuoti i campi e cliccare sul tasto registrami e mi appare un schermata bianca con un errore cosa dovrei inserire per obbligare l'utente a riempire tutti i campi ?

    Grazie !!!!!

    Ricerca validazione form su google.

    Ad ogni modo ti consiglio di validare il form sia via javascript che, successivamente, via asp. Via asp devi controllare che i valori immessi dall'utente siano validi, ad esempio qualcosa del genere:

    
    nome = Request("nome")
    dataNascita = Request("dataNascita")
    
    If nome = "" then errore = "Nome &eacute; vuoto<br>"
    If dataNascita = "" or not IsDate(dataNascita) then errore = errore  & "Data di nascita non valida<br>"
    ...
    
    If errore <> "" then
     Response.Write(errore)
     Response.End
    Else
    ...
    End if
    
    

    :ciauz:


  • User Attivo

    Mi da questo errore > Microsoft VBScript compilation error '800a03f6'
    Expected 'End'

    Il codice è questo

    <%
    theSchema="http://schemas.microsoft.com/cdo/configuration/"
    Set cdoConfig=server.CreateObject("CDO.Configuration")
    cdoConfig.Fields.Item(theSchema & "sendusing")=2
    cdoConfig.Fields.Item(theSchema & "smtpserver")="smtp.soluzionepc.it"
    cdoConfig.Fields.Update

    set cdoMessage=Server.CreateObject("CDO.Message")
    cdoMessage.Configuration=cdoConfig

    cdoMessage.From=Request.Form("email")
    cdoMessage.To="[email protected]"
    cdoMessage.Subject=Request.Form("subject")
    cdomessage.HtmlBody="Nome:" & request.form("nome") & "<br/>Cognome:" & Request.form("cognome") & "<br/>Citta:" & request.form("citta") & "<br/>Email:" & request.Form("email") & "<br/>Commenti:" & request.Form("commenti")
    cdoMessage.Send

    Set cdoMessage=Nothing
    Set cdoConfig=Nothing

    nome = Request("nome")
    cognome = Request("cognome")
    citta = Request(citta)
    email = Request(email)
    commenti = Request(commenti)

    If nome = "" then errore = "Nome é vuoto<br>"
    If cognome = "" then errore = "cognome é vuoto<br>"
    If citta = "" then errore = "citta é vuoto<br>"
    If email = "" then errore = "email é vuoto<br>"
    If cognome = "" then errore = "commenti é vuoto<br>"
    If errore <> "" then
    Response.Write(errore)
    Response.End

    ❌x:x


  • Moderatore

    @gelova said:

    Mi da questo errore
    Il codice è questo

    ❌x:x

    Aggiungi end if alla fine

    Ciao


  • User Attivo

    L'errore è cambiato > CDO.Message.1 error '8004020d'
    At least one of the From or Sender fields is required, and neither was found.
    /inviomail.asp, line 15

    il file inviomail.asp è questo

    <%
    theSchema="http://schemas.microsoft.com/cdo/configuration/"
    Set cdoConfig=server.CreateObject("CDO.Configuration")
    cdoConfig.Fields.Item(theSchema & "sendusing")=2
    cdoConfig.Fields.Item(theSchema & "smtpserver")="smtp.soluzionepc.it"
    cdoConfig.Fields.Update

    set cdoMessage=Server.CreateObject("CDO.Message")
    cdoMessage.Configuration=cdoConfig

    cdoMessage.From=Request.Form("email")
    cdoMessage.To="[email protected]"
    cdoMessage.Subject=Request.Form("subject")
    cdomessage.HtmlBody="Nome:" & request.form("nome") & "<br/>Cognome:" & Request.form("cognome") & "<br/>Citta:" & request.form("citta") & "<br/>Email:" & request.Form("email") & "<br/>Commenti:" & request.Form("commenti")
    cdoMessage.Send <--------------line 15

    Set cdoMessage=Nothing
    Set cdoConfig=Nothing

    nome = Request("nome")
    cognome = Request("cognome")
    citta = Request(citta)
    email = Request(email)
    commenti = Request(commenti)

    If nome = "" then errore = "Nome é vuoto<br>"
    If cognome = "" then errore = "cognome é vuoto<br>"
    If citta = "" then errore = "citta é vuoto<br>"
    If email = "" then errore = "email é vuoto<br>"
    If cognome = "" then errore = "commenti é vuoto<br>"
    If errore <> "" then
    Response.Write(errore)
    End if
    ❌x:x