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

Error en verificacion correo!!!!!

Estas en el tema de Error en verificacion correo!!!!! en el foro de ASP Clásico en Foros del Web. Tengo el codigo del archivo profile_update.asp, que permite modificar el archivo personal de cada usuario, sin embargo, en el campo de la contraseña solo se ...
  #1 (permalink)  
Antiguo 14/11/2002, 19:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
Error en verificacion correo!!!!!

Tengo el codigo del archivo profile_update.asp, que permite modificar el archivo personal de cada usuario, sin embargo, en el campo de la contraseña solo se comprueba que si es o no un campo vacio y necesito una comprobacion más rigurosa. La funcion de validar el correo esta en el archivo IsEmailValid.asp y funciona perfectamente, sin embargo no se como llamar dicho archivo.
Es muy importante. Gracias

Archivo profile_update.asp
<%
Option Explicit
Dim sql, rsUser, username, firstname, email, notfilled(2), badflag, count, calltype, password

username = Request.Cookies("username")

'Assign form values to variables

firstname = Request.Form("firstname")
email = Request.Form("email")
password = Request.Form("password")


'Check everything's been filled in, badflag determines whether error function is called
badflag = 0

if firstname = "" then
notfilled(0) = "First Name"
badflag = 1
end if
if email = "" then
notfilled(1) = "Email"
badflag = 1
end if
if password = "" then
notfilled(2) = "Password"
badflag = 1
end if

if badflag = 1 then
signuperror("nofield")
end if

'Open connection and insert user details into the database
%>
<%
Dim ConnectString, conn

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("siteusers.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%

Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "users WHERE username = '" & username & "'", conn, 3, 3

if rsUser("password") = password then
rsUser("firstname") = firstname
rsUser("email") = email
rsUser.Update
else
signuperror("badpwd")
end if
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing

Response.Redirect("profile.asp?updated=true")
%>


<%Function signuperror(errortype)%>
<html>
<head>
<title>Your Profile</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000">
<font face="arial,helvetica" size=2>

<%if errortype = "nofield" then%>
<p><b>You have not filled in the following fields correctly:</b></p>

<p>
<%for count = 0 to 2%>
<%if notfilled(count) <> "" then%>
<b><%=notfilled(count)%></b><br>
<%end if%>
<%next%>
</p>

<%else%>

<p>Your password is incorrect</p>

<%end if%>

<p><a href="javascript:self.history.go(-1)">Please try again</a></p>

</font>
</body>
</html>
<%Response.end
End Function%>






Archivo IsEmailValid.asp

<%
Function IsEmailValid(strEmail)

Dim strArray, strItem, i, c

IsEmailValid = True

strArray = Split(strEmail, "@")

If UBound(strArray) <> 1 Then
IsEmailValid = False
Exit Function
End If

For Each strItem In strArray
' no part can be void
If Len(strItem) <= 0 Then
IsEmailValid = False
Exit Function
End If

For i = 1 To Len(strItem)
c = LCase(Mid(strItem, i, 1))
' if there is an illegal character in the part
If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then
IsEmailValid = False
Exit Function
End If
Next

If Left(strItem, 1) = "." Or Right(strItem, 1) = "." Then
IsEmailValid = False
Exit Function
End If
Next

If InStr(strArray(1), ".") <= 0 Then
IsEmailValid = False
Exit Function
End If

i = Len(strArray(1)) - InStrRev(strArray(1), ".")
If i <> 2 And i <> 3 And i <> 4 Then
IsEmailValid = False
Exit Function
End If
If InStr(strEmail, "..") > 0 Then
IsEmailValid = False
Exit Function
End If

IsEmailValid = True

End Function
%>
Archivos Adjuntos
Tipo de Archivo: zip isemailvalid.zip (1,5 KB (Kilobytes), 1 visitas)

Última edición por luisgls; 14/11/2002 a las 19:14
  #2 (permalink)  
Antiguo 14/11/2002, 19:20
Avatar de deprabado  
Fecha de Ingreso: febrero-2002
Mensajes: 649
Antigüedad: 23 años, 2 meses
Puntos: 0
Por que mejor no lo valida viendo si existe en la bd???
  #3 (permalink)  
Antiguo 15/11/2002, 14:08
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
validacion en bd

El tema es que el usuario introduce un nuevo correo que no esta en la base de datos y necesito que sea un correo valido
  #4 (permalink)  
Antiguo 15/11/2002, 14:11
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
a lo mas puedes validar el formato del correo..

[email protected]

como pretendes validar que el correo sea valido?....a menos que envies un correo a esa casilla para validar si llego a destino o fue devuelto.
  #5 (permalink)  
Antiguo 15/11/2002, 14:15
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
validar correo

El codigo que publiqué en la segunda parte del codigo te muestra como validar el correo, ok, esto no significa que el correo exista o que este en uso, simplemente que no se introducen caracteres incorrectos como por ejemplo 2 veces el signo @ o que exista un espacio dentro del correo, ... u otros caracteres invalidos
exactamente validar el formato del correo. ¿puedes ayudarme?
  #6 (permalink)  
Antiguo 15/11/2002, 14:23
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
por eso te digo...

la unica forma de validar el correo online seria enviar un email a ese correo y esperar la notificacion si el correo llego bien o no...

"Tell me when this message has been delivered"

no se si las componentes de envio de email (aspemail,cdont, aspmail...etc) tenga la propiedad de chequearte si el correo llego a destino...

si es asi..tendrias que tener al usuario en espera que te llegue el mensaje de vuelta....y eso no es viable.

si te das cuenta...en ninguna suscripcion te validad en linea si tu correo es valido o no...porque simplemente no existe ningun servicio que tenga la informacion de los trillares de correos existentes.

me entiendes?
  #7 (permalink)  
Antiguo 15/11/2002, 14:52
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 6 meses
Puntos: 0
si, te entiendo, pero era a lo otro a lo que me referia, a lo del formato del correo, siento no haberme explicado bien. La funcion que comprueba que no se ha introducido caracteres incorrectos lo realizo con Function IsEmailValid(strEmail) , que devuelve valores de true y false. He intentado poner las lineas que llamen a esta funcion en el primer archivo, pero no lo consigo, me podrias orientar?. Gracias
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:02.