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

CUando usuario existe - ALERTA sin SUBMIT

Estas en el tema de CUando usuario existe - ALERTA sin SUBMIT en el foro de ASP Clásico en Foros del Web. hola a todos! Tengo un problema con validar si un usuario existe mediante ASP. Tengo el recordset hecho pero cuando el usuario oprime el boton ...
  #1 (permalink)  
Antiguo 03/03/2005, 11:14
 
Fecha de Ingreso: diciembre-2002
Ubicación: USA
Mensajes: 101
Antigüedad: 21 años, 5 meses
Puntos: 0
CUando usuario existe - ALERTA sin SUBMIT

hola a todos!
Tengo un problema con validar si un usuario existe mediante ASP.
Tengo el recordset hecho pero cuando el usuario oprime el boton para anadir a informacion, me sale una pagina de error de Internet Explorer diciendome que no se pueden duplicar datos.
Puedo hacer que dirija a otra pagina con el response.redirect donde el usuario pueda nuevamente ir a la pagina, pero los campos estarian vacios y quiero quiero que mejor me salga un Alert en la misma pagina o un POPUP sin cambiarme los otros datos que el usuario ya puso para que solo cambie ese textfield y no tenga que anadir los demas nuevamente...

GRACIAS
  #2 (permalink)  
Antiguo 03/03/2005, 11:22
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Bueno, eso quiere decir que entonces no estas validando en ASP, primero creo que deberias hacer una validacion para manejar esto, si no es asi, puedes hacerlo mediante un error handler...

On error resume Next
'Aqui el codigo que inserta en tu DB
If err.number <> 0 Then
%>
<script language="javascript">
alert("El usuario ya existe");
history.back(-1);
</script>
<%
End If


Pero de nuevo no es la mejor de las soluciones, lo que debes hacer es antes de hacer la incersion, asegurarte mediante tu campo que tienes de id, que ese usuario no exista...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 03/03/2005, 11:31
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Podés hacerlo así. Supongamos que tenés una página llamada formulario_alta.asp y otra que verifica que no exista el usuario y en caso de no existir, inserta los datos. Ésta última la llamo formulario_procesa.asp

En formulario_alta.asp, inicializás los inputs "intentando recoger los valores de él mismo" (si se entra por primera vez, no va a poder recoger nada puesto que no existen.. por lo tanto no mostrará nada):

Código:
<form action="formulario_procesa.asp"..>
<input type="text" name="usuario" value="<% = Request.Form("usuario") %>">
<input type="text" name="nombre" value="<% = Request.Form("nombre") %>">
<input type="text" name="apellido" value="<% = Request.Form("apellido") %>">
</form>
Bien, ahora en formulario_procesa.asp, recogés la información y "preguntás" si el usuario existe. Si no existe, insertás los datos y se terminó el problema.. si existe, hacés un server.transfer("formulario_alta.asp") y... ahora lo bueno... server.transfer() mantiene el estado de lo enviado por método POST. Entonces, al transferir la respuesta a la página del formulario, se va a efectuar el request.form() y te va a colocar los valores:

formulario_procesa.asp:

Código:
<%
usuario = Request.Form("usuario")
nombre = Request.Form("nombre")
apellido = Request.Form("apellido")

' te conectás a la BD y consultás si existe el usuario:
if re.EOF then
' no existe, así que lo insertás...
else
'existe, así que lo mandás al formulario:
server.transfer("formulario_alta.asp")
end if
%>
saludos
__________________
...___...
  #4 (permalink)  
Antiguo 03/03/2005, 11:55
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años, 1 mes
Puntos: 0
Cita:
Iniciado por Al Zuwaga
server.transfer("formulario_alta.asp")
saludos
Que diferencia hay entre poner server.transfer y Response.redirect
  #5 (permalink)  
Antiguo 03/03/2005, 12:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
...server.transfer() mantiene el estado de lo enviado por método POST
Response.Redirect() "pierde" ese estado
__________________
...___...
  #6 (permalink)  
Antiguo 03/03/2005, 13:35
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Asi es, para abundar un poco mas response.redirect y server.transfer, tienen como finalidad la redireccion, pero al ejecutar un server.transfer, no se vera un cambio en el cliente, es como decirle al usuario que esta en un lugar cuando realmente se encuentra en otro...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 04/03/2005, 09:53
 
Fecha de Ingreso: diciembre-2002
Ubicación: USA
Mensajes: 101
Antigüedad: 21 años, 5 meses
Puntos: 0
Creo que estoy terminando lo que quiero con la solucion de Al_Zuwaga !
Gracias expertos por responder y explicar tan bien u_goldman y Al_Zuwaga!!!

Última edición por blue_laser0; 04/03/2005 a las 09:57
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:34.