Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Controlla nick e email già esistente

    Ciao ho scritto lo script qui sotto per la registrazione degli utenti e controllo pure se l'email è gia presente nel database. Ora volevo mettere nel codice anke se la login usata è già presente ma midiventa un casino perchè apro troppe volte il database. Sapreste dirmi un modo più veloce per controllare email e login e salvare i dati dell'utente nel db?
    thanks

    codice:
    <%
    	nome=request.form("nome")
    	cognome=request.form("cognome")
    	login=request.form("login")
    	password=request.form("password")
    	email=request.form("email")
    
    	Dim Conn3 
    	Set Conn3 = Server.CreateObject("ADODB.Connection") 
    	conn3.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/utenti.mdb") 
    	Set rs3 = Server.CreateObject("ADODB.Recordset") 
    	qry = "Select * from utenti Where (email='" 
    	qry = qry & email & "');" 
    	rs3.ActiveConnection = conn3
    	rs3.CursorLocation = 2 
    	rs3.Open qry
    	Response.Expires=0
    	if rs3.EOF then 
    	
    		Dim conn1 
    		Set conn1 = Server.CreateObject("ADODB.Connection") 
    		conn1.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/utenti.mdb") 
    		sql = "SELECT * FROM utenti" 
    		Set rs = Server.CreateObject("ADODB.Recordset") 
    		rs.Open sql, conn1, 3, 3 
    		RS.AddNew
    		
    		rs.fields("nome")=nome
    		rs.fields("cognome")=cognome
    		rs.fields("login")=login
    		rs.fields("password")=password
    		rs.fields("email")=email
    		
    		rs.update 
    		RS.Close 
    		Set RS=Nothing 
    		conn1.Close 
    		Set conn1=Nothing
    	
    		Set Conn = Server.CreateObject("ADODB.Connection") 
    		conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/utenti.mdb") 
    		Set rs = Server.CreateObject("ADODB.Recordset") 
    		qry = "Select * from utenti Where ((login='" 
    		qry = qry & login & "') AND (password='" 
    		qry = qry & password & "'));" 
    		rs.ActiveConnection = conn
    		rs.CursorLocation = 2 
    		rs.Open qry
    		Response.Expires=0
    		if rs.EOF then 
    			response.write "Utente non registrato."
    		else
    			id = rs("id")
    		rs.close
    		set rs = nothing 
    		conn.close 
    		set conn = nothing
    		end if
    
    	else
    		response.write "email già presente"
    	end if
    	
    	rs3.close
    	set rs3 = nothing 
    	conn3.close 
    	set conn3 = nothing
    %>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Io farei prima i controlli poi l'inserimento tipo:
    codice:
    nome=request.form("nome")
    	cognome=request.form("cognome")
    	login=request.form("login")
    	password=request.form("password")
    	email=request.form("email")
    'i dati email password e login devo essere presenti
    if email <> "" and password <> "" and Login <> "" Then
    Dim Conn 
    	Set Conn = Server.CreateObject("ADODB.Connection") 
    	conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/utenti.mdb") 
    sql= "SELECT login, email FROM utenti where email ='"&email&"'"
    Set rs = conn.Execute(SQL)
    if not rs.bof then
    e_mail = Rs("email")
    user = Rs("login")
    else
    'se non presente la mail inserisco i dati ho utilizzato insert perché + performante.
    'attenzione la parola password e parola riservata pertanto va racchiusa tra le parentesi [] 
    'se dovesse dare problemi cambia il nome nella tabella (tipo psw)
    SQL = "INSERT INTO utenti (nome,cognome,login,password,email)VALUES('"&nome&"','"&cognome&"','"&login&"','["&password&"]','"&email&"')"
    Conn.Execute(SQL)
    End if
    'verifico se mail o user sono nulli (non valorizzati) in tal caso faccio il login
    if e_mail = "" or user = "" Then
    sqll= "SELECT * FROM utenti where login ='"&login&"' and [password]='"&password&"'"
    Set rec = conn.Execute(SQLL)
    if rec.eof Then
    Errore = "Login o password errati"
    else
    Errore = rec("id")
    End if
    else
    if e_mail <> "" Then Errore = "Email già presente"
    if user <> "" Then Errore = "Login già presente"
    End if
    else
    'mancano i dati essenziali
    Errore = "Inserire email, login, password"  
    End if
    conn.close()
    set conn = nothing
    
    Response.write Errore
    Non l'ho verificato ma dovrebbe andare, cosi (credo) che sia il codice + "pulito" che ci possa essere.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

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.