Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Controllare email e codice

    codice:
    sql = "SELECT email, codice FROM tbl WHERE email='" &request("email")& "' and codice='" & codice & "'"
    response.write sql
    Set Rec = Server.CreateObject("ADODB.Recordset") 
    Rec.Open sql, conn, 3, 3 
    
    if not Rec.bof and not Rec.eof then 
    Response.write "procedura KO"
    
    else
    
    response.write "procedura OK"
    questo code dovrebbe controllare l'esistenza in un dbase di un email e di un codice personale assegnato automaticamente ad ogni utente; quando si cerca di inserire un email o un codice già presenti nel dbase la procedura dovrebbe dare KO... invece restituisce sempre OK...
    dove sbaglio?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di X_Gold*
    Registrato dal
    Nov 2004
    Messaggi
    445
    if not Rec.bof and not Rec.eof then
    Response.write "procedura KO"

    else

    response.write "procedura OK"

    traduzione :


    se il cursore non si trova all'inizio del recordset E il cursore non si trova alla fine del recordset, allora scrivi "procedura ko"

    diversamente

    scrivi "procedura ok"

    secondo te perchè :rollo:

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    se mi sono rivolto al forum è perchè non ho le idee chiare...
    mi pare che sia lo spirito di questo forum e di chi lo frequenta

    cerco risposte non altre domande... grazie

    cmq se faccio il controllo sui campi singolarmente il code funziona regolarmente...

  4. #4
    Utente di HTML.it L'avatar di X_Gold*
    Registrato dal
    Nov 2004
    Messaggi
    445
    Originariamente inviato da orcim
    se mi sono rivolto al forum è perchè non ho le idee chiare...
    mi pare che sia lo spirito di questo forum e di chi lo frequenta

    cerco risposte non altre domande... grazie

    cmq se faccio il controllo sui campi singolarmente il code funziona regolarmente...

    una condizione che dice due cose contrastanti sarà sempre falsa.

    la domanda era retorica

    scusa se ho cercato di farti comprendere lo sbaglio evitando di correggerlo senza farti capire...

    scrivila cosi' :

    codice:
    if Rec.recordcount > 0 then 
    Response.write "procedura ok"
    
    else
    
    response.write "procedura ko"
    end if

    credevo che lo spirito del forum fosse far capire cio' che non è chiaro, non aggiustare i codici.



  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da X_Gold*
    una condizione che dice due cose contrastanti sarà sempre falsa.
    credevo che lo spirito del forum fosse far capire cio' che non è chiaro, non aggiustare i codici.
    Non ti devi scusare... hai capito bene qual'è lo spirito del forum, tanto è vero che non ho chiesto di aggiustarmi il codice (dove l'hai letto?) ma di capire perchè se scrivo così funziona:
    codice:
    sql = "SELECT email FROM tbl WHERE email='" &request("email")& "' "
    response.write sql
    Set Rec = Server.CreateObject("ADODB.Recordset") 
    Rec.Open sql, conn, 3, 3 
    
    if not Rec.bof and not Rec.eof then 
    Response.write "procedura KO"
    
    else
    
    response.write "procedura OK"
    mentre se scrivo la query così:
    codice:
    sql = "SELECT email, codice FROM tbl WHERE email='" &request("email")& "' and codice='" & codice & "'"
    non mi fa più nessun controllo. Ancora non l'ho capito.
    Grazie

  6. #6
    Utente di HTML.it L'avatar di X_Gold*
    Registrato dal
    Nov 2004
    Messaggi
    445
    Originariamente inviato da orcim
    Non ti devi scusare... hai capito bene qual'è lo spirito del forum, tanto è vero che non ho chiesto di aggiustarmi il codice (dove l'hai letto?) ma di capire perchè se scrivo così funziona:
    codice:
    sql = "SELECT email FROM tbl WHERE email='" &request("email")& "' "
    response.write sql
    Set Rec = Server.CreateObject("ADODB.Recordset") 
    Rec.Open sql, conn, 3, 3 
    
    if not Rec.bof and not Rec.eof then 
    Response.write "procedura KO"
    
    else
    
    response.write "procedura OK"
    mentre se scrivo la query così:
    codice:
    sql = "SELECT email, codice FROM tbl WHERE email='" &request("email")& "' and codice='" & codice & "'"
    non mi fa più nessun controllo. Ancora non l'ho capito.
    Grazie

    perchè non ci sono record che corrispondono a l'email con codice che gli hai passato

  7. #7
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da X_Gold*
    perchè non ci sono record che corrispondono a l'email con codice che gli hai passato
    forse non mi spiego bene... nel dbase ho registrato:
    email = mia_email@mio_dominio.com
    codice = 357841E56
    se riprovo a registrami con:
    email = mia_email@mio_dominio.com
    codice = diverso da quello di prima
    non mi avvisa che mia_email@mio_dominio.com esiste già.

    Chiaro?

  8. #8
    Forse perchè il campo codice è numerico e tu invece nella query lo metti tra virgolette, trasformandolo così in una stringa.

    Siccome una stringa non è MAI uguale ad un numero, ovvero per esempio

    15='15'

    ti darà sempre falso, quel che ottieni è che la tua query non trova mai nulla.

    C'ho preso?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  9. #9
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da Shores
    Forse perchè il campo codice è numerico e tu invece nella query lo metti tra virgolette, trasformandolo così in una stringa.

    Siccome una stringa non è MAI uguale ad un numero, ovvero per esempio

    15='15'

    ti darà sempre falso, quel che ottieni è che la tua query non trova mai nulla.

    C'ho preso?
    Grazie ma il campo codice è alfanumerico come sopra detto... 357841E56

  10. #10
    Utente di HTML.it L'avatar di X_Gold*
    Registrato dal
    Nov 2004
    Messaggi
    445
    con il cod. che usi fai un controllo per vedere se esiste una email con quel codice, non se esiste quel'email.


    se cambi il codice il db non trova corrispondenza email-codice
    quindi dice che non ce ne sono di record secondo il criterio immesso.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.