Foros del Web » Programando para Internet » ASP Clásico »

Validar si el usuario existe

Estas en el tema de Validar si el usuario existe en el foro de ASP Clásico en Foros del Web. Que tal como estan espero que bien y que alguien me pueda ayudar el problema que tengo es tratar de cuando un usuario se registra ...
  #1 (permalink)  
Antiguo 21/07/2006, 10:44
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Validar si el usuario existe

Que tal como estan espero que bien y que alguien me pueda ayudar el problema que tengo es tratar de cuando un usuario se registra y existe el username que eligio mostrar un mensaje o por ultimo no dejar que se registre bajo el mis mo username, GRACIAS y espero que alguien me pueda ayudar

DISCULPE POR NO COLOCARLO CON CODIGO PERO EL OPERA NO ME ABRE LA VENTANITA
<%
Dim usuarios
Dim usuarios_numRows
Set usuarios = Server.CreateObject("ADODB.Recordset")
usuarios.ActiveConnection = MM_acceso_STRING
usuarios.Source = "SELECT * FROM usuarios "
usuarios.CursorType = 0
usuarios.CursorLocation = 2
usuarios.LockType = 1
usuarios.Open()

usuarios_numRows = 0
' *** Declaro variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If


MM_abortEdit = false


MM_editQuery = ""
%>
<%


If (CStr(Request("MM_insert")) = "form1") Then

MM_editConnection = MM_acceso_STRING
MM_editTable = "usuarios_alma"
MM_editRedirectUrl = "ok.asp"
MM_fieldsStr = "nombre|value|apellido_pat|value|apellido_mat|valu e|email|value|rut|value|dig|value|plataforma|value |login|value|username|value|password|value|pregunt a_secreta|value|respuesta|value"
MM_columnsStr = "nombre|',none,''|apellido_pat|',none,''|apellido_ mat|',none,''|email|',none,''|rut|',none,''|dig|', none,''|plataforma|',none,''|login|',none,''|usern ame|',none,''|password|',none,''|pregunta_secreta| ',none,''|respuesta|',none,''"


MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")


For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next


If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If

End If
%>

<%


Dim MM_tableValues
Dim MM_dbValues


'*** es aca donde tengo el problema, recogo el dato del formulario lo guardo en una variable hago un loop para buscar entre todos los registro si ya existe uno ya registrado pero aun lo guarda***'

MM_valUsername=CStr(Request.Form("username"))
While ((Repeat__numRows <> 0) AND (NOT usuarios.EOF))
IF usuarios.Fields("username") <> MM_valUsername

If (CStr(Request("MM_insert")) <> "") Then
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
Repeat__numRows = 0
ELSE
Repeat__index=Repeat__index+1
Repeat__numRows=Repeat__numRows-1
END IF
usuarios.MoveNext()
Wend
  #2 (permalink)  
Antiguo 21/07/2006, 14:19
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 4 meses
Puntos: 2
"SELECT * FROM usuarios where usuario="&usuario

asi te dira si el usuario buscado existe.


saludos
__________________
Manual de ASP Avanzado ;-)
  #3 (permalink)  
Antiguo 24/07/2006, 15:45
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias por la respuesta, aunque lo resolvi de otra forma, gracias por la disposicion de su ayuda

pongo a disposicion de ud el codigo

Código:
If (CStr(Request("MM_insert")) = "form1") Then

rut=Request.Form("rut")
dig=Request.Form("dig")
username=Request.Form("username")

Dim usuario
Dim usuario_numRows
Dim Repeat__numRows
Dim Repeat__index

Set usuario = Server.CreateObject("ADODB.Recordset")
usuario.ActiveConnection = MM_acceso_STRING
usuario.Source = "SELECT * FROM usuarios_alma"
usuario.CursorType = 0
usuario.CursorLocation = 2
usuario.LockType = 1
usuario.Open()
usuario_numRows = 0

Repeat__numRows = -1
Repeat__index = 0
usuario_numRows = usuario_numRows + Repeat__numRows

While ((Repeat__numRows <> 0) AND (NOT usuario.EOF)) 
	IF usuario.Fields("username") = username THEN
		Response.Redirect("fallo.asp")
		Repeat__numRows = 0
	ELSE
			MM_editConnection = MM_acceso_STRING
			  MM_editTable = "usuarios_alma"
			  MM_editRedirectUrl = "ok.asp"
			  MM_fieldsStr  = "nombre|value|apellido_pat|value|apellido_mat|value|email|value|rut|value|dig|value|pform_m|value|supervisor|value|login|value|username|value|password|value|pregunta_secreta|value|respuesta|value"
			  MM_columnsStr = "nombre|',none,''|apellido_pat|',none,''|apellido_mat|',none,''|email|',none,''|rut|',none,''|dig|',none,''|plataforma|',none,''|id_supervisor|',none,''|login|',none,''|username|',none,''|password|',none,''|pregunta_secreta|',none,''|respuesta|',none,''"
			
			  ' create the MM_fields and MM_columns arrays
			  MM_fields = Split(MM_fieldsStr, "|")
			  MM_columns = Split(MM_columnsStr, "|")
			  
			  ' set the form values
			  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
				MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
			  Next
			
			  ' append the query string to the redirect URL
			  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
				If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
				  MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
				Else
				  MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
				End If
			  End If
			  Dim MM_tableValues
Dim MM_dbValues
	If (CStr(Request("MM_insert")) <> "") Then
		
		  ' create the sql insert statement
		  MM_tableValues = ""
		  MM_dbValues = ""
		  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
			MM_formVal = MM_fields(MM_i+1)
			MM_typeArray = Split(MM_columns(MM_i+1),",")
			MM_delim = MM_typeArray(0)
			If (MM_delim = "none") Then MM_delim = ""
			MM_altVal = MM_typeArray(1)
			If (MM_altVal = "none") Then MM_altVal = ""
			MM_emptyVal = MM_typeArray(2)
			If (MM_emptyVal = "none") Then MM_emptyVal = ""
			If (MM_formVal = "") Then
			  MM_formVal = MM_emptyVal
			Else
			  If (MM_altVal <> "") Then
				MM_formVal = MM_altVal
			  ElseIf (MM_delim = "'") Then  ' escape quotes
				MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
			  Else
				MM_formVal = MM_delim + MM_formVal + MM_delim
			  End If
			End If
			If (MM_i <> LBound(MM_fields)) Then
			  MM_tableValues = MM_tableValues & ","
			  MM_dbValues = MM_dbValues & ","
			End If
			MM_tableValues = MM_tableValues & MM_columns(MM_i)
			MM_dbValues = MM_dbValues & MM_formVal
		  Next
		  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

		  If (Not MM_abortEdit) Then
			' execute the insert
			Set MM_editCmd = Server.CreateObject("ADODB.Command")
			MM_editCmd.ActiveConnection = MM_editConnection
			MM_editCmd.CommandText = MM_editQuery
			MM_editCmd.Execute
			MM_editCmd.ActiveConnection.Close
		
			If (MM_editRedirectUrl <> "") Then
			  Response.Redirect(MM_editRedirectUrl)
			End If
		  End If
	End If
			Repeat__numRows = 0	
	END IF
	Repeat__index=Repeat__index+1
	Repeat__numRows=Repeat__numRows-1
usuario.MoveNext()
Wend
END IF
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:26.