- Home
- Categorie
- Coding e Sistemistica
- Coding
- Dove ho sbagliato?
- 
							
							
							
							
							
Dove ho sbagliato?Prima del restyling funzionava tutto, ora non riesco più ad accedere alle pagine riservate. Questi i dati inseriti: Caratteristiche del db: 
 Login.mdbTabella: utenti Campi: UserID e Password - Il form è situato in pagina index non protetta *
 [HTML]<td style="width: 265px;" class="style56">UserID:<br />
 <input name="txtUserID" style="width: 190px;" type="UserID" /><br /> 
 </td>
 </tr>
 <tr><td style="width: 265px;" class="style56"> 
 Password:
 <input name="txtPassword" maxlength="4" style="width: 187px;" type="Password" />
 </td>
 </tr>
 <tr>
 <td style="width: 265px;" class="style57">
 input name="Submit" value="Invia" style="width: 91px;" type="submit" />
 </td>
 [/HTML]Logon.asp <% Dim UserID Dim Password UserID = Replace(Request.Form("UserID"), "'", "''") Password = Replace(Request.Form("Password"), "'", "''") Dim cn Set cn = Server.CreateObject("ADODB.Connection") cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("login.mdb/utenti")&""; Dim sql sql = "SELECT ID FROM utenti WHERE UserID LIKE'" &UserID& "' AND Password='" &Password& "'" Dim rs Set rs = cn.Execute(sqlstmt, rowsupdated) Dim autenticato if rs.eof then autenticato = false else autenticato = true end if rs.Close cn.Close Set rs = Nothing Set cn = Nothing if autenticato = true then Session("Autenticato") = "OK" Response.Redirect("homapage.html") else Response.Redirect("login.html") end if %>A questo punto dovrebbe aprirmi la pagina protetta :homepage.html 
 Invece rispondeMicrosoft VBScript compilation error '800a0401' 
 Expected end of statement
 /Login.asp, line 9
 cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("login.mdb/utenti")&"";Dove ho sbagliato? Grazie per l?aiuto. 
 
- Il form è situato in pagina index non protetta *
- 
							
							
							
							
							L'ultimo punto e virgola dovrebbe andare tra virgolette se non sbaglio. 
 
- 
							
							
							
							
							
.....purtroppo anche spostando l'ultimo punto e virgola tra le ultime virgolette il risultato non cambia. 
 Grazie comunque
 
- 
							
							
							
							
							Ah ok! Comunque sei sicuro che si scriva "login.mdb/utenti"? 
 
- 
							
							
							
							
							@piero 53, 
 premetto che ASP non è il mio forte, ma ho solo fatto qualche ricerca su Google, potresti cortesemente provare questa:cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("login.mdb") Ci faccia sapere. 
 
- 
							
							
							
							
							
@MenteLibera, 
 ho provato ma la risposta è stata:Microsoft VBScript compilation error '800a0401' Expected end of statement 
 /Login.asp, line 9
 conn.Open "driver={Microsoft Access Driver (*.mdb)}";dbq="&Server.MapPath("login.mdb")&"";
 che significaMicrosoft VBScript errore di compilazione '800a0401 ' 
 Prevista fine istruzione
 / Login.asp, linea 9
 conn.Open "Driver = {Microsoft Access Driver (*. mdb)}"; DBQ = "& Server.MapPath (" login.mdb ") &" ";
 
- 
							
							
							
							
							Leggendo la riga d'errore non sembrerebbe che abbia caricato il file con la mia correzione perché vedo riportata l'originaria del post #1. Altra cosa: lo script di login riesce ad arrivare correttamente nella cartella in cui è situato il file "login.mdb"? 
 Se in altra cartella prestare attenzione a scrivere correttamente il percorso con i backslash.Ed ultimo, ma non meno ultimo di importanza, il database "login.mdb" è in una cartella con i permessi impostati corretti per l'esecuzione? 
 
- 
							
							
							
							
							
E' un problema di virgolette! 
 La stringa viene chiusa male e rimane aperta mandando fuori di testa il compilatore.
 Secondo me dovrebbe essere cosi:
 conn.Open "Driver = {Microsoft Access Driver (. mdb)}; DBQ = " & Server.MapPath ("login.mdb") & ";"
 *Come detto da MenteLibera, controlla anche se il file del db si trova dentro una cartella che ha accesso in lettura/scrittura altrimenti potresti avere altri problemi.