Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1

    Problemi con script per leggere da database mdb

    Premessa: non so nulla di Database
    Ordunque, stavo cercando qualcosa riguardante l'autenticazione mediante USER e PASSWORD e ho trovato un tutorial per aprire un semplice .mdb (una tabella chiamata "loginTable" con due colonne: "userName" e "password") e verificare se le due variabili inUserName e inPassword si trovano nel database.
    Il codice è il seguente:



    <%@Language=Vbscript%>
    <%Option Explicit%>
    <%
    Dim inUserName, inPassword

    ' Riceviamo da Flash le variabili "inUserName" e "inPassword"

    inUserName = Trim(Request("inUserName"))
    inPassword = Trim(Request("inPassword"))

    Dim myConnection
    Set myConnection=Server.CreateObject("ADODB.Connection ")
    myConnection.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.MapPath("login.mdb")
    myConnection.Open

    Dim loginSQL
    loginSQL = "SELECT * FROM loginTable WHERE userName = '" & inUserName & "'"

    Dim myRS
    Set myRS=Server.CreateObject("ADODB.Recordset")
    myRS.Open loginSQL, myConnection

    Dim mainMessage
    IF myRS.EOF THEN
    mainMessage="userInfo=false"
    ELSE
    IF(StrComp(myRS("password"), inPassword, vbTextCompare) =0) THEN
    mainMessage="userInfo=true"
    ELSE
    mainMessage = "userInfo=false"
    END IF
    END IF

    myRS.Close
    Set myRS=Nothing
    myConnection.Close
    Set myConnection=Nothing

    Response.Write(mainMessage)
    %>


    Ordunque, dopo aver testato lo script sia con Flash che "singolarmente" ho notato che in entrambi i casi pare proprio non funzionare. C'è qualche errore nello script??
    Where there is a will, there is a way

  2. #2
    ok risolto: bastava aggiungere una chiave al database al momento di salvarlo (e il tutorial diceva di non farlo..mah!)

    Ora però, se voglio AGGIUNGERE al database una nuova user e una nuova password che comandi uso??
    Where there is a will, there is a way

  3. #3
    Ho trovato uno script che sembra andar bene...fino alla riga:

    SQLTemp = "INSERT INTO loginTable (id, userName, password) VALUES ('" & id & "', " & inUserName & ", '" & inPassword & "')"

    Conn.execute(SQLTemp)

    Mi segnala errore di sintassi: dove stà??
    Where there is a will, there is a way

  4. #4
    Se non hai accesso diretto al database, la query per aggiungere un record è:

    codice:
    sql = "INSERT INTO loginTable (userName, password) VALUES (' " & nuovo_user & " ', ' " & nuova_password & " ') "
    myConnection.Execute sql
    Per i nomi delle variabili e della connessione ho cercato di usare i tuoi, ovviamente

    "nuovo_user" e "nuova_password"

    sono le variabili che contengono i valori da inserire.

    Ho inserito uno spazio tra i vari apici e simboli per renderli chiari, ma tu non ce lo mettere.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Nel tuo mancano due apici singoli intorno a userName e, se "id" è numerico, lì non ci vogliono
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  6. #6
    Con questa:



    inUserName = "nuovouser"
    inPassword = "nuovapassword"


    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("login.mdb")& ";"
    Conn.Open


    sql = "INSERT INTO loginTable (userName, password) VALUES (' " & inUserName & " ', ' " & inPassword & " ') "
    Conn.Execute sql


    mi da:

    Tipo di errore:
    Microsoft JET Database Engine (0x80040E14)
    Errore di sintassi nell'istruzione INSERT INTO.
    /login/register.asp, line 25
    Where there is a will, there is a way

  7. #7
    Non dovrebbe........
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    stò usando un database con una tabella (loginTable) e due campi, SENZA chiave. I due campi sono:

    userName (text)
    password (text)

    Il database si chiama login.mdb

    Ho provato anche a togliere gli spazi: nulla.



    <%

    Dim Conn
    Dim sql
    Dim SqlTemp
    Dim inUserName, inPassword

    inUserName = "nuovouser"
    inPassword = "nuovapassword"

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("login.mdb")& ";"
    Conn.Open

    sql = "INSERT INTO loginTable (userName, password) VALUES ('"&inUserName&"','"&inPassword&"')"
    Conn.Execute sql


    Conn.Close
    Set Conn = Nothing

    Response.Write("risposta=INSERITO NEL DATABASE")

    %>
    Where there is a will, there is a way

  9. #9
    Molto strano........le istruzioni per la conn e la query stanno meglio su una riga sola.....se continua a non fungere stampa la query facendo

    response.write(sql)

    e postala

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #10
    Momento, la provo qui da me.....
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.