• 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


  • Moderatore

    @gelova said:

    L'errore è cambiato
    il file inviomail.asp è questo
    ❌x:x

    At least one of the From or Sender fields is required, and neither was found

    Cerchiamo di capirli i messaggi di errore.
    Almeno un mittente è necessario.
    Quindi cdoMessage.From=Request.Form("email") non contiene l'email


  • User Attivo

    Allora sono due le cose o il form è costruito male o sono io che non ho capito un tubo......
    credo che l'unica cosa necessaria sia l'email del destinatario non quella del mittente,come faccio a sapere l'email del mittente (il mittente è colui che riempie il form) .
    Considera che il form ha questi campi Nome,Cognome,Città,email,Commenti (come si evince dal codice) :bho:


  • User Attivo

    @gelova said:

    Allora sono due le cose o il form è costruito male o sono io che non ho capito un tubo......
    credo che l'unica cosa necessaria sia l'email del destinatario non quella del mittente,come faccio a sapere l'email del mittente (il mittente è colui che riempie il form) .
    Considera che il form ha questi campi Nome,Cognome,Città,email,Commenti (come si evince dal codice) :bho:

    L'email mittente è quella inserita dall'utente (Request("email")) quindi sta bene così ma andrà in errore se lasci quel campo vuoto. Deve essere un campo obbligatorio.


  • User Attivo

    Madai scusami ma questo codice che mi hai dato tu non dovrebbe servire appunto a validare i campi ?

    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
    Ma allora perchè se lascio il campo email vuoto mi dà la classica pag.bianca ?:bho: