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

validaaAARGGHHH!!!

Estas en el tema de validaaAARGGHHH!!! en el foro de ASP Clásico en Foros del Web. hola. mi problema es este: hice un script de loguin que funciona perfecto, pero me di cuenta de un detalle: dos usuarios con distintos datos ...
  #1 (permalink)  
Antiguo 20/03/2002, 12:02
 
Fecha de Ingreso: marzo-2002
Mensajes: 5
Antigüedad: 22 años, 3 meses
Puntos: 0
validaaAARGGHHH!!!

hola. mi problema es este: hice un script de loguin que funciona perfecto, pero me di cuenta de un detalle: dos usuarios con distintos datos podían tener una misma password e id....lo que es un problema. así que para eso cree un asp que recibe los datos: hago una coneccion a la db para ver si id y pass existen; si existen, redirecciono al formulario de registro; si no existen, creo una instruccion sql que inserta los datos en la tabla correspondiente y lo ejecuto; pero la porqueria esta sigue dejando pasar los datos repetidos...debe ser mi dislexia sql...
  #2 (permalink)  
Antiguo 20/03/2002, 12:05
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: validaaAARGGHHH!!!

¿Puedes poner la sentencia que utilizas para comprobar la existencia del login y password?.
Ah, te aconsejo que sólo controles que no se repita el usuario, que el password se repita no es ningún problema
  #3 (permalink)  
Antiguo 21/03/2002, 18:05
 
Fecha de Ingreso: marzo-2002
Mensajes: 5
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: validaaAARGGHHH!!!

He aqui la sentencia que revisa y luego decide....los campos son "name" y "passw"; los campos correspondientes en la tabla "gente" son "nick" y "password".....

' vemos si nick o pass existen

set con = server.createobject("adodb.connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/usuarios.mdb")
set rc=server.createobject("adodb.recordset" )

sql = "SELECT password FROM gente WHERE nick ='" & name & "'"
rc.Open sql, Con

If not rc.eof then

If (Request.Form("passw")) = rc("password") Then
Response.Redirect"inscripcion.asp?falla=nick_ o_password_usados"
end if
end if

'-------------------------------
' si nick o pass no existen

sql="insert into gente (nick,password,nombres,apellidos,sexo,fechanac,est civil,pais,ciudad,direccion,telefono,celular,email ) values (" & "'" & nick & "'," & "'" & pass & "'," & "'" & nomb & "'," & "'" & apell & "'," & "'" & sex & "'," & "'" & nac & "'," & "'" & estcivil & "'," & "'" & country & "'," & "'" & ciudad1 & "'," & "'" & direcc & "'," & "'" & fono & "'," & "'" & mov & "'," & "'" & mail & "')"

con.execute sql

set rc=nothing
set con=nothing
  #4 (permalink)  
Antiguo 21/03/2002, 19:05
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 117
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: validaaAARGGHHH!!!

porque no validas antes de hacer el insert con un select, y si no existe un registro con ese criterio recien lo insertas, en caso contrario envia un mensaje que nick ya existe.
algo asi

sql="select * from gente where nick=" & nick & ""
rc.Open sql, Con
if rc.eof then
sql="insert into gente (nick,password,nombres,apellidos,sexo,fechanac,est civil,pais,ciudad,direccion,telefono,celular,email ) values (" & "'" & nick & "'," & "'" & pass & "'," & "'" & ...........................
end if


Otra alternativa es que en tu base de datos pongas como clave el campo NICK y PASSWORD.

saludos.
Nilton.

  #5 (permalink)  
Antiguo 22/03/2002, 21:22
 
Fecha de Ingreso: marzo-2002
Mensajes: 5
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: validaaAARGGHHH!!!

algunas personas me han dicho que no entendieron completamente lo que estoy haciendo.... así que aquí va el codigo de nuevo...
'--------------------------------------------------------------
'campos del formulario

name=request("name")
passw=request("passw")
'--------------------------------------------------------------
set con = server.createobject("adodb.connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/usuarios.mdb")
set rc=server.createobject("adodb.recordset" )
'--------------------------------------------------------------
sql="select nick from gente where nick='" & name & "'"
rc.Open sql, Con
if rc.eof then
'--------------------------------------------------------------
sql="insert into gente (nick,password,nombres,apellidos,sexo,fechanac,est civil,pais,ciudad,direccion,telefono,celular,email ) values (" & "'" & nick & "'," & "'" & pass & "'," & "'" & nomb & "'," & "'" & apell & "'," & "'" & sex & "'," & "'" & nac & "'," & "'" & estcivil & "'," & "'" & country & "'," & "'" & ciudad1 & "'," & "'" & direcc & "'," & "'" & fono & "'," & "'" & mov & "'," & "'" & mail & "')"
'--------------------------------------------------------------
else
'--------------------------------------------------------------
Response.Redirect"inscripcion.asp?falla=nick_ o_password_usados"
end if
'--------------------------------------------------------------
con.execute sql
'--------------------------------------------------------------
set rc=nothing
set con=nothing

response.redirect"ok.asp"

Comunicador Grafico 09-4759729
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 21:58.