Impostare un controllo da database, di dati immessi in un form asp

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
Buon giorno a tutti,
la domanda di oggi è un po' difficilina, almeno per me. Non so neppure se sia realizzabile.

- descrizione del problema:
Ho un form in asp che contiene diversi campi che l'utente deve inserire. Il primo (Cognome nome e classe) è un campo testo a digitazione libera da parte dell'utente.

Per evitare errori o immissione di testo a caso vorrei realizzare questo tipo di controllo:

L'utente scrive il cognome in lettere (la prima maiuscola il resto minuscolo - e questo andrebbe definito nel controllo)
L'inserimento del cognome viene comparato con una tabella del database (data.mdb) e se non presente in essa si riceve messaggio d'errore.

I miei due file che definiscono e controllano l'inserimento sono due e vi copio il codice:

Codice:
<script type="text/javascript">
function anteprima(ff){
larghezza = 600;
altezza = 400;
var x = (screen.width-larghezza-10)/2; 
var y = (screen.height-altezza)/2; 
window.open('','anteprima','width=' + larghezza + ',height=' + altezza + ',left=' + x + ',top=' + y);
oldTarget = ff.target
oldAction = ff.action
ff.target='anteprima' 
ff.action='anteprima.asp' 
ff.submit()
ff.target = oldTarget // aggiunta per non perdere il target alla pagina inserisci.asp
ff.action = oldAction
}

</script>
<form method="post" action="inserisci1.asp">
<p align="left"><font face="arial" size="2"><b>Nome cognome e classe dello studente/studentessa<br>
<input name="Cognome e classe" value="<%=request.form("Cognome e classe")%>" size="20" type="text"></b></font></p>
<p align="left"><font face="arial" size="2"><b>Email - di un genitore<br>
<input name="IndirizzoPostaElettronica" value="<%=request.form("IndirizzoPostaElettronica")%>" size="20" type="text"></b></font></p>
<p align="left"><font face="arial" size="2"><b>Telefono cellulare - di un genitore<br>
<input name="TelefonoCellulare" value="<%=request.form("TelefonoCellulare")%>" size="20" type="text"></b></font></p>
<p align="left"><font face="arial" size="2"><b>Cognome Insegnante con cui si desidera prenotare il colloquio</b><span style="font-weight: bold;"></span></font><font face="arial" size="2"><span style="font-weight: bold;"></span><b><br>
<select name="NomeInsegnante">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("data/data.mdb") 
SQL = "Select * FROM NomeInsegnante"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL, Conn
Do While Not objRS.EOF
Response.write "<option name=""" & objRS("NomeInsegnante") & """>" & objRS("NomeInsegnante") & "</option>"  & vbCRLF

objRS.MoveNext
Loop

Response.write"</select>"

objRS.Close
Set objRS = Nothing
Conn.Close
Set Conn = Nothing

%>
 
<br><br>
<input value="Invia" name="B1" type="submit"> <input type="button" value="Anteprima" onclick="anteprima(this.form)"></font></p>
</form>

il secondo, inserisci1.asp

Codice:
<%
a=request.form("Cognome e classe")
b=request.form("IndirizzoPostaElettronica")
c=request.form("TelefonoCellulare")
d=request.form("NomeInsegnante")


' Controllo inserimento indirizzo email Regular Expression minimo 3 lettere per il nome prima di @
Function RegExpTest(strng)                                                    
Dim regEx 
Set regEx = New RegExp                                                      
regEx.Pattern =  "^[\w\-\.]*[\w\.][\w\-\.]*[\w\.][\w\-\.]*[\w\.]\@[\w\.]*[\w\-\.]+[\w\-]+[\w]\.+[\w]+[\w]$"
regEx.IgnoreCase = True
RegExpTest = regEx.Test(strng)                                      
End Function 

' Controllo inserimento numero di telefono Regular Expression solo Numeri
Function RegExpTest1(strng1)                                                    
Dim regEx1 
Set regEx1 = New RegExp                                                      
regEx1.Pattern =  "^[0-9]"
RegExpTest1 = regEx1.Test(strng1)                                      
End Function 


' controllo pagina di provenienza se diversa dal form ritorna a quella pagina
conferma=request.form("conferma") 
conferma=request.servervariables("http_referer")
if conferma = "" then
response.redirect "prenota.asp" ' redirect alla pagina di compilazione del form
end if


' Controllo inserimento Nome campo vuoto primo carattere no spazio
if a = ""  or MID((a),1,1) = " " then 
Response.Write"Inserire il Cognome e la Classe! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if




' controllo inserimento email campo vuoto primo carattere no spazio
if b = ""  or MID((b),1,1) = " " then 
Response.Write"Inserire l'indirizzo di Email! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo e validazione inserimento indirizzo email
if not(RegExpTest(b)) then 
Response.Write"Inserire un indirizzo di Email Valido! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento Numero Cellulare campo vuoto primo carattere no spazio 
if c = ""  or MID((c),1,1) = " " then 
Response.Write"Inserire il Numero di Cellulare! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo e validazione Numero Cellulare
if not(RegExpTest1(c)) then 
Response.Write"Il campo Numero Cellulare pu&ograve; contenere solo Numeri! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento Numero Cellulare non deve contenere numeri minori o maggiori di 10 3383333333 
if Len(c) < 10 or Len(c) > 10 then 
Response.Write"Il Numero di Cellulare deve contenere dieci (10) Numeri! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if



'apro la connessione
set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")

Set rs=server.CreateObject("ADODB.Recordset")
rs.Open "Contatti" ,OBJdbConnection,3,3
rs.AddNew
rs("Cognome e classe")=a
rs("IndirizzoPostaElettronica")=b
rs("TelefonoCellulare")=c
rs("NomeInsegnante")=d
rs.update
rs.Close
OBJdbConnection.Close
response.write "Scrittura avvenuta correttamente!"
%>

Nel database ci sono attualmente 2 tabelle:

- Contatti con i campi: IDContatto - Cognome e classe - IndirizzoPostaElettronica - TelefonoCellulare - NomeInsegnante
- NomeInsegnante con i campi: IDElencoIndirizzi - NomeInsegnante

Suppongo che, premessa la fattibilità della cosa, dovrei creare un'altra tabella con nome Cognome e classe (che dovrebbe verificare i cognomi immessi e dopo verifica positiva scriverli nel campo relativo della prima tabella)

Qualche idea?
Grazie 1000
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

Asp, come altri linguaggi non è CaseSensitive, scrivere Vale2 VALE2 VaLe2 se non c'è un controllo sull'inserimento esatto del dato richiesto puoi scrivere il dato tutto miniscolo, tutto maiuscolo o alternato.

E' possibile controllare il corretto inserimento di un campo es: Nome, se mi iscrivo come Vale2 solo se inserisco il dato correttamente nel campo del form posso accedere.
C'è un modo per farlo, ma deve essere comparato con il dato esatto che si trova nel DB.

Ti serve una nuova tabella dove sono inseriti i nomi che devi controllare es: se ci sono tre utenti

Mario
Marco
Maurizio

Possono scrivere un messaggio solo ed esclusivamente se inseriscono il dato (Nome) esattamente come quello che si trova nel DB

mario - MaRio - MARIO non verranno accettati solo Mario.

Questo controllo deve essere fatto nella sequel (sql), quindi non vedo il problema del primo carattere in Maiuscolo e gli altri in minuscolo.

Se si chiama Mario può inserire messaggio o altro solo se scrive il suo Nome esattamente come si trova nella tabella del DB con i nomi inseriti.

Valeria.
 

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
C'è un modo per farlo, ma deve essere comparato con il dato esatto che si trova nel DB.
--------------------------------
Proprio di questo stavo parlando!



Questo controllo deve essere fatto nella sequel (sql), quindi non vedo il problema del primo carattere in Maiuscolo e gli altri in minuscolo.
--------------------------------------------------------------------
e operativamente parlando come si fa??:crying:
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

in ASP per controllare il CaseSensitive si usa StrComp

questo è un esempio con il controllo del dati del form con quelli del db

fatto una nuova tabella chiamata Cognome e classe e inseriti i nomi:


Codice:
<%
a=request.form("Cognome e classe")
b=request.form("IndirizzoPostaElettronica")
c=request.form("TelefonoCellulare")
d=request.form("NomeInsegnante")



' Controllo inserimento Nome campo vuoto primo carattere no spazio
if a = ""  or MID((a),1,1) = " " then 
Response.Write"Inserire il Cognome e la Classe! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Autore Valeria (Vale2 dal forum mrwebmaster)

Dim strDB
strDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")
 
Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.Open strDB

Dim rs1
Set rs1 = Server.CreateObject("ADODB.Recordset")

' Confronto dato inserito con quello presente nel db

strSQL="SELECT * FROM [Cognome e classe] WHERE StrComp([Cognome e classe], '" & [a] & "', 0) = 0" 
rs1.Open strSQL,cn

if rs1.eof then 
rs1.close
set rs1 = nothing
set cn = nothing
Response.Write"Il dato inserito non è presente nel nostro Database, Controlla Maiuscole e minuscole "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Controllo inserimento indirizzo email Regular Expression minimo 3 lettere per il nome prima di @
Function RegExpTest(strng)                                                    
Dim regEx 
Set regEx = New RegExp                                                      
regEx.Pattern =  "^[\w\-\.]*[\w\.][\w\-\.]*[\w\.][\w\-\.]*[\w\.]\@[\w\.]*[\w\-\.]+[\w\-]+[\w]\.+[\w]+[\w]$"
regEx.IgnoreCase = True
RegExpTest = regEx.Test(strng)                                      
End Function 

' Controllo inserimento numero di telefono Regular Expression solo Numeri
Function RegExpTest1(strng1)                                                    
Dim regEx1 
Set regEx1 = New RegExp                                                      
regEx1.Pattern =  "^[0-9]"
RegExpTest1 = regEx1.Test(strng1)                                      
End Function 


' controllo pagina di provenienza se diversa dal form ritorna a quella pagina
conferma=request.form("conferma") 
conferma=request.servervariables("http_referer")
if conferma = "" then
response.redirect "prenota.asp" ' redirect alla pagina di compilazione del form
end if


' Controllo inserimento Nome campo vuoto primo carattere no spazio
if a = ""  or MID((a),1,1) = " " then 
Response.Write"Inserire il Cognome e la Classe! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento email campo vuoto primo carattere no spazio
if b = ""  or MID((b),1,1) = " " then 
Response.Write"Inserire l'indirizzo di Email! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo e validazione inserimento indirizzo email
if not(RegExpTest(b)) then 
Response.Write"Inserire un indirizzo di Email Valido! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento Numero Cellulare campo vuoto primo carattere no spazio 
if c = ""  or MID((c),1,1) = " " then 
Response.Write"Inserire il Numero di Cellulare! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo e validazione Numero Cellulare
if not(RegExpTest1(c)) then 
Response.Write"Il campo Numero Cellulare pu&ograve; contenere solo Numeri! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento Numero Cellulare non deve contenere numeri minori o maggiori di 10 3383333333 
if Len(c) < 10 or Len(c) > 10 then 
Response.Write"Il Numero di Cellulare deve contenere dieci (10) Numeri! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if



'apro la connessione
set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")

Set rs=server.CreateObject("ADODB.Recordset")
rs.Open "Contatti" ,OBJdbConnection,3,3
rs.AddNew
rs("Cognome e classe")=a
rs("IndirizzoPostaElettronica")=b
rs("TelefonoCellulare")=c
rs("NomeInsegnante")=d
rs.update
rs.Close
OBJdbConnection.Close
response.write "Scrittura avvenuta correttamente!"
%>


Valeria.
 

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
Grazie per la tua indicazione, ho modificato un po' tutta la struttura dell'applicazione ma a me sembra che in quest'ultima versione funzioni al meglio.

Mi spiego:

Ho creato un database access con le seguenti caratteristiche:
Tabella Contatti con i seguenti campi: IDContatti - Cognome - Nome - Classe - Sezione - IndirizzoPostaElettronica - TelefonoCellulare - NomeInsegnante
Tabella NomeInsegnante con i seguenti campi: ID - NomeInsegnante
Tabella Utenti con i seguenti campi: ID - Cognome - Nome - Classe - Sezione

Ho modificato la pagina prenota.asp aggiungendo al form gli elementi mancanti
Ho modificato la pagina anteprima.asp facendo la stessa cosa
Ho copiato lo script corretto da te per validare l'inserimento con comparazione in dbase (l'ho lasciato solo sul campo Cognome) e ho modificato lo script teenendo conto dei campi variati del form

Adesso la situazione è questa:
L'utente dopo essersi autenticato con le proprie chiavi accede all'applicazione:

desk.jpg

Dopodiché, il primo dato che digita: il Cognome, viene verificato sul database. Se esiste prosegue nella compilazione del form altrimenti no.
In sostanza a me basta questo di controllo poiché nella registrazione è importante che l'utente non sbagli il cognome o, in alternativa, se ci fosse qualche malintenzionato deve beccare un cognome giusto tra quelli registrati.

WOW!!!!
 

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
Ricercando la perfezione?????

Mi sono accorto che fatto 100 si può fare 101:mavieni:

E allora ho messo i controlli sul dbase sia sul nome che sul cognome e funziona .......ma

Io digito un cognome tra quelli presenti e l'applicazione lo valida
Poi digito il nome e se presente tra quelli della tabella lo valida.

Il problema è che se esiste il cognome Rossi e il nome Mario l'applicazione li valida entrambi. Ma Rossi si chiama Enrico e non Mario (che è comunque presente tra i nomi della tabella)

Vorrei in sostanza che al Cognome Rossi potesse essere associato solo il nome Enrico e non qualunque altro nome presente.

la mia tabella è Utenti con i seguenti campi: ID - Cognome - Nome - Classe - Sezione

Qiundi dovrei collegare il Cognome al Nome

Posto il codice del file inserisci1.asp che ho modificato sulla base dei suggerimenti di Valeria (per il primo controllo: quello sul cognome) e che poi ho rimodificato per mettere un controllo anche sul nome

Codice:
<%
a=request.form("Cognome")
b=request.form("Nome")
c=request.form("Classe")
d=request.form("Sezione")
e=request.form("IndirizzoPostaElettronica")
f=request.form("TelefonoCellulare")
g=request.form("NomeInsegnante")



' Controllo inserimento Cognome campo vuoto primo carattere no spazio
if a = ""  or MID((a),1,1) = " " then 
Response.Write"Inserire il Cognome  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Autore Valeria (Vale2 dal forum mrwebmaster)

Dim strDB
strDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")
 
Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.Open strDB

Dim rs1
Set rs1 = Server.CreateObject("ADODB.Recordset")

' Confronto dato inserito con quello presente nel db

strSQL="SELECT * FROM [Utenti] WHERE StrComp([Cognome],'" & [a] &  "', 0) = 0" 
rs1.Open strSQL,cn

if rs1.eof then 
rs1.close
set rs1 = nothing
set cn = nothing
Response.Write "<b>Il dato inserito non e' presente nel nostro Database</b>. Controlla Maiuscole e minuscole. Il cognome dovrebbe essere scritto con la sola prima lettera maiuscola. I cognomi composti o i doppi cognomi vanno scritti lasciando uno spazio tra il primo e il secondo ad esempio Di Giovanni oppure Levi Montalcini  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


' Controllo inserimento Nome campo vuoto primo carattere no spazio
if b = ""  or MID((b),1,1) = " " then 
Response.Write"Inserire il Nome  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
controllo inserito da Toscano copiando Valeria



Set cn = CreateObject("ADODB.Connection")
cn.Open strDB

Dim rs2
Set rs2 = Server.CreateObject("ADODB.Recordset")

' Confronto dato inserito con quello presente nel db

strSQL="SELECT * FROM [Utenti] WHERE StrComp([Nome],'" & [b] &  "', 0) = 0" 
rs2.Open strSQL,cn

if rs2.eof then 
rs2.close
set rs2 = nothing
set cn = nothing
Response.Write"<b>Il dato inserito non e' presente nel nostro Database. </b>Controlla Maiuscole e minuscole. Il nome dovrebbe essere scritto con la sola prima lettera maiuscola. I nomi composti vanno scritti lasciando uno spazio tra il primo e il secondo ad esempio Carlo Alberto e non CarloAlberto o Carlo-Alberto "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Controllo inserimento Classe campo vuoto primo carattere no spazio
if c = ""  or MID((c),1,1) = " " then 
Response.Write"Inserire la classe  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo inserimento Sezione campo vuoto primo carattere no spazio
if d= ""  or MID((d),1,1) = " " then 
Response.Write"Inserire la sezione  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if





' Controllo inserimento indirizzo email Regular Expression minimo 3 lettere per il nome prima di @
Function RegExpTest(strng)                                                    
Dim regEx 
Set regEx = New RegExp                                                      
regEx.Pattern =  "^[\w\-\.]*[\w\.][\w\-\.]*[\w\.][\w\-\.]*[\w\.]\@[\w\.]*[\w\-\.]+[\w\-]+[\w]\.+[\w]+[\w]$"
regEx.IgnoreCase = True
RegExpTest = regEx.Test(strng)                                      
End Function 

' Controllo inserimento numero di telefono Regular Expression solo Numeri
Function RegExpTest1(strng1)                                                    
Dim regEx1 
Set regEx1 = New RegExp                                                      
regEx1.Pattern =  "^[0-9]"
RegExpTest1 = regEx1.Test(strng1)                                      
End Function 


' controllo pagina di provenienza se diversa dal form ritorna a quella pagina
conferma=request.form("conferma") 
conferma=request.servervariables("http_referer")
if conferma = "" then
response.redirect "prenota1.asp" ' redirect alla pagina di compilazione del form
end if


' controllo inserimento email campo vuoto primo carattere no spazio
if e = ""  or MID((b),1,1) = " " then 
Response.Write"Inserire l'indirizzo di Email! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo e validazione inserimento indirizzo email
if not(RegExpTest(e)) then 
Response.Write"Inserire un indirizzo di Email Valido! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento Numero Cellulare campo vuoto primo carattere no spazio 
if f = ""  or MID((f),1,1) = " " then 
Response.Write"Inserire il Numero di Cellulare! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' Controllo e validazione Numero Cellulare
if not(RegExpTest1(f)) then 
Response.Write"Il campo Numero Cellulare pu&ograve; contenere solo Numeri! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if


' controllo inserimento Numero Cellulare non deve contenere numeri minori o maggiori di 10 3383333333 
if Len(f) < 10 or Len(f) > 10 then 
Response.Write"Il Numero di Cellulare deve contenere dieci (10) Numeri! "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if



'apro la connessione
set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")

Set rs=server.CreateObject("ADODB.Recordset")
rs.Open "Contatti" ,OBJdbConnection,3,3
rs.AddNew
rs("Cognome")=a
rs("Nome")=b
rs("Classe")=c
rs("Sezione")=d
rs("IndirizzoPostaElettronica")=e
rs("TelefonoCellulare")=f
rs("NomeInsegnante")=g
rs.update
rs.Close
OBJdbConnection.Close
response.write "Scrittura avvenuta correttamente!"
%>

come sempre grazie dell'aiuto!
 

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
Risolto!

Modificando la stringa di Vale2 che controllava la corrispondenza dei cognomi:

Codice:
Dim strDB
strDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")
 
Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.Open strDB

Dim rs1
Set rs1 = Server.CreateObject("ADODB.Recordset")

' Confronto dato inserito con quello presente nel db

strSQL="SELECT * FROM [Utenti] WHERE StrComp([Cognome],'" & [a] &  "', 0) = 0" 
rs1.Open strSQL,cn

if rs1.eof then 
rs1.close
set rs1 = nothing
set cn = nothing
Response.Write "<b>Il dato inserito non e' presente nel nostro Database</b>. Controlla Maiuscole e minuscole. Il cognome dovrebbe essere scritto con la sola prima lettera maiuscola. I cognomi composti o i doppi cognomi vanno scritti lasciando uno spazio tra il primo e il secondo ad esempio Di Giovanni oppure Levi Montalcini  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if

in questo modo:

Codice:
Dim strDB
strDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/data.mdb")
 
Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.Open strDB

Dim rs1
Set rs1 = Server.CreateObject("ADODB.Recordset")

' Confronto dato inserito con quello presente nel db

strSQL="SELECT IDElencoIndirizzi FROM [Utenti] WHERE StrComp([Cognome],'" & [a] &  "', 0) = 0  AND StrComp([Nome],'" & [b] &  "', 0) = 0"
rs1.Open strSQL,cn

if rs1.eof then 
rs1.close
set rs1 = nothing
set cn = nothing
Response.Write "<b>Il dato inserito non e' presente nel nostro Database</b>. Controlla Maiuscole e minuscole. Il cognome e il nome dovrebbero essere scritti con la sola prima lettera maiuscola. I cognomi composti o i doppi cognomi (stesso dicasi per i nomi) vanno scritti lasciando uno spazio tra il primo e il secondo ad esempio Di Giovanni oppure Levi Montalcini  "
response.write"<a href="" javascript:void(0)""a onclick=""javascript:history.back(0)""; >Torna indietro e correggi</a>"
response.end
end if

Ho il controllo dei due campi in modo coerente e cioè al cognome Rossi corrisponde solo il nome Mario perché ho correlato i due campi allo stesso ID.
 
Discussioni simili
Autore Titolo Forum Risposte Data
T impostare il controllo dei dati immessi dagli utenti su form asp Classic ASP 8
S impostare un testo e una img nella stessa riga con jsPDF Javascript 0
K Impostare scala di proporzione (Indesign) Webdesign e Grafica 0
S Impostare attributo "onclick" Javascript 5
G Impostare suggerimenti campo text di un form Javascript 2
K [MySQL] Impostare Database MySQL 2
Tommy03 Variabile PHP per impostare una proprietà CSS PHP 2
Cosina [PHP] Impostare colore singolo elemento in fwrite PHP 2
P impostare due Vlan su router - dhcp su seconda sottorete e statico su prima Reti LAN e Wireless 0
G [HTML] Impostare dimensione immagini in un div HTML e CSS 2
D Consiglio su come impostare IP statico Reti LAN e Wireless 0
G [PHP] composer: impostare l'autoloading più facilmente PHP 0
A [Javascript] Impostare immagine sfondo da checkbox, sito web Javascript 1
Trapano [PHP] come impostare un if else PHP 10
M [Photoshop] impossibile impostare Profilo colori Photoshop 1
booklisa [PHP] Impostare constanti nelle url PHP 7
ANDREA20 [PHP] Non riesco ad impostare reset password invio via email PHP 6
S impostare colore sfondo di ogni cella di una datagridview Visual Basic 1
A impostare una query con operatori condizionali MySQL 1
LuigiDonato Come Impostare Tabelle MySQL 2
R Problema impostare valore textbox MS Access 0
D Select concatenate impostare di default dato memorizzato Javascript 4
M Consiglio su come impostare intervista conoscitiva con cliente per sito ad un gruppo musicale. Discussioni Varie 3
M Impostare sfondo Sviluppo app per Android 1
F [RISOLTO]js function per impostare minimo totale Javascript 8
Emix [RISOLTO]Impostare focus su textbox dopo foreach jQuery 16
A impostare la posizione iniziale di un blocco Javascript 0
giancadeejay Impostare tempo per vedere un immagine nell'array. Javascript 2
A hover impostare bordo HTML e CSS 9
B Impostare cartella temporaea immagine Javascript 1
B Impostare permessi su XAMPP Apache 0
N Impostare il tempo jQuery 5
G Come impostare il formato data per mysql MySQL 11
nim Impostare gli area tag HTML e CSS 3
S Come posso impostare a grandi linee questa tabella? PHP 8
P impostare e salvare impaginazione sito PHP 0
A Impostare tabelle per forum e codice php PHP 7
S Come impostare campi non obbligatori php PHP 5
SolidSnake4 impostare htaccess su aruba Hosting 1
A impostare un immagine con css HTML e CSS 17
H Creare una pagina che si collega a keepvid. come impostare il form? HTML e CSS 3
B Impostare un DIV in primo piano e un'altro DIV in secondo piano HTML e CSS 2
B impostare media player 11 Windows e Software 3
B impostare una pagina coi css HTML e CSS 1
G chido aiuto per impostare rete wifi Reti LAN e Wireless 0
S [VB.NET 2005 Express] Impostare una variabile Programmazione 0
Y impostare excel PHP 0
S impostare la index page HTML e CSS 3
D Impostare Invio Email HTML e CSS 3
R Variabile per impostare la tabella di una select Classic ASP 2

Discussioni simili