Rieccomi con un nuovo problema.
Sto realizzando un registro di cleasse online e allo scopo ho modificato (o per lo meno ho cercato di modificare) un vecchio script trovato su internet e che serviva se non ricordo male per la ricerca del CAP.
Il funzionamento è questo: il genitore può, con un nome utente e password, visualizzare la scheda del proprio figlio e solo quella.
Ora sembra funzionare tutto tranne due particolari:
1) se inserisco il nome utente e lascio vuota la casella password o viceversa, mi da questo errore
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
/assenze_profitto/alunni.asp, line 46
la linea incriminata è
rstusername.Open sql,conn,3,3
ecco il codice:
2) se inserisco come username un nome con l'apice (es: d'amato)mi restituisce nella casella username d''amato (e non è bello a vedersi).codice:<% password = trim(request.form("password")) password = replace(password, "'", "''") username = trim(request.form("username")) username = replace(username, "'", "''") dbconn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../mdb-database/alunni.mdb") Set conn=Server.CreateObject ("ADODB.Connection") conn.open dbConn Set rstusername=Server.CreateObject ("ADODB.Recordset") Sql = "Select * from studenti" if username<>"" and password<>"" then sql=sql& " where " end if if password<>"" then sql=sql& "password like '" & password & "'" end if if password<>"" and username<>"" then sql=sql & " and " end if if username<>"" then sql=sql& "username like '" & username & "'" end if rstusername.Open sql,conn,3,3 totrecord = rstusername.recordcount %>
A parte il codice un po' incasinato (sono alle prime armi), dove sbaglio?
Il sistema è sicuro per la protezione dei dati?
Spero di essere stato chiaro
Grazie

Rispondi quotando