Ahora tengo una base de datos que recoge los datos de un formulario.
Dni, nombre, usuario, clave, email, etc.
Bueno pues resulta que hasta ahora pues me validaba si el dni, nombre, usuario, email, etc, y respondía un error.
Bueno pues ahora pongo un ejemplo.
Dentro del formulario hay un campo en el cual hay que escoger varias opciones:Policía Autonómica,Policia Nacional,Policia local,Otros
Pues bien hasta ahora no había problema cual fuera la opción que cogiera, ya que era independiente en la base de datos una entrada u otra, pero ahora resulta que tengo en la misma base de datos todos los dni de la policia local y quiero que cuando alguien policia local (haya seleccionado este cuerpo) y rellenado su dni, compruebe primero si es o no policia local y le conteste que no lo es, o bien le deje registrarse tras comprobación correcta.
En la base de datos esta tabla la he llamado escalafon y la que hasta ahora utilizaba para validar la bd se llama registro.
Todo ello aparte de las funciones que ya se hacían antes de comprobación, tales como no repetir usuarios, claves, email, etc. etc.
Bueno espero haberme explicado.
Os paso el código asp que recoge el formulario, a ver si me podéis ayudar. Si os hace falta os puedo pasar también el formulario pero para las opciones lo tengo así:
<TR>
<TD width="73" height="23">
<p align="justify"><font size="2" face="Arial" color="#000080">Cuerpo:</p>
</font></TD>
<TD width="335" height="23">
<p align="left">
<SELECT NAME="cuerpo" style="border-style: inset; border-width: 2; background-color: white">
<OPTION VALUE="Guardia Civil">Guardia Civil
<OPTION VALUE="Policía Nacional">Policía Nacional
<OPTION VALUE="Policía Autonómica">Policía Autonómica
<OPTION VALUE="Policía Local">Policía Local
<OPTION VALUE="Otros Cuerpos">Otros Cuerpos
</SELECT><font color="#0000A0" size="3" face="Serifa BT"><sup>* </sup></font><font color="#0000A0" size="3"><sup>Seleccione una
opción.</sup></font></p>
</TD>
</TR>
Gracias.
RECOGE-FORMULARIO.ASP
<%
nombre = Request.Form("nombre")
apellido1 = Request.Form("apellido1")
apellido2 = Request.Form("apellido2")
dni = Request.Form("dni")
cuerpo = Request.Form("cuerpo")
destino = Request.Form("destino")
provincia = Request.Form("provincia")
email = Request.Form("email")
usuario = Request.Form("usuario")
clave = Request.Form("clave")
'Abre la conexion con la base de datos a traves de una conexion ODBC
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/.../register.mdb")
Set RS = Server.CreateObject ("ADODB.RecordSet")
sql="Select dni from registro Where dni="& dni &" and cuerpo='" & cuerpo & "'"
RS.Open sql, Conn
'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el dni.
If (RS.EOF = true) then
set RS=nothing
Set RS = Server.CreateObject ("ADODB.RecordSet")
sql="Select email from registro Where email='" & email & "'"
RS.Open sql, Conn
'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el dni.
If (RS.EOF = true) then
set RS=nothing
Set RS = Server.CreateObject ("ADODB.RecordSet")
sql="Select Usuario from registro Where Usuario='" & usuario & "'"
RS.Open sql, Conn
'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF = true) then
'Ejecuta un sentencia SQL de consulta
sql = "INSERT INTO registro ("
sql=sql & "Nombre,"
sql=sql & "Apellido1,"
sql=sql & "Apellido2,"
sql=sql & "dni,"
sql=sql & "cuerpo,"
sql=sql & "destino,"
sql=sql & "provincia,"
sql=sql & "email,"
sql=sql & "usuario,"
sql=sql & "clave)"
sql=sql & " VALUES ("
sql=sql & "'" & nombre & "',"
sql=sql & "'" & apellido1 & "', "
sql=sql & "'" & apellido2 & "', "
sql=sql & dni & ","
sql=sql & "'" & cuerpo & "',"
sql=sql & "'" & destino & "',"
sql=sql & "'" & provincia & "', "
sql=sql & "'" & email & "', "
sql=sql & "'" & usuario & "', "
sql=sql & "'" & clave & "')"
Conn.Execute(sql)
If Err = 0 Then
Set oMail = CreateObject("CDO.Message")
oMail.From = "[email protected]"
oMail.To = Request.Form("email")
oMail.Bcc = "[email protected]"
oMail.Subject = "Registro en la WPP"
oMail.TextBody = "Bienvenido - 2.000/2.005 | 5º Aniversario. Se ha producido peticion de registro al enviar mail de registro a " & apellido1 & " " & apellido2 & "," & nombre & " / dni= " & dni & " / cuerpo= " & cuerpo & " / localidad= " & destino & " / provincia= " & provincia & " / email= " & email & " / usuario= " & usuario & " / clave= " & clave & ". Su peticion de registro esta siendo tramitada. Recuerde que en los proximos dias le comunicaremos por email la activacion del registro para el acceso a las zonas restringidas. Recuerde que ahora puede colaborar gratuitamente con la WPP, visitando nuestros patrocinadores haciendo click en los logos de publicidad. El Area GC es exclusiva para el personal en activo de la Guardia Civil. Una vez activada su cuenta no olvide registrarse en la Lista de Correo WPP, con ello estará totalmente informado de las novedades de interés, en la sección :::Profesionales::: o pinche aquí; http://www.....cial.n...t/lis....asp"
oMail.Send
Set oMail = Nothing
Response.Write "2.000/2.005 | 5º Aniversario WPP. En unos minutos recibira un e-mail de confirmacion de esta solicitud. Si no lo recibe es porque ha insertado un email no valido, entonces envie un email a registro@....., exponiendo que no ha recibido la confirmacion. La tramitacion del registro tardara unos dias, recibiendo un email cuando este correctamente activada. Recuerde que ahora puede colaborar gratuitamente con la WPP, visitando nuestros patrocinadores haciendo click en los logos de publicidad. Una vez activada su cuenta no olvide registrarse en la Lista de Correo WPP, con ello estara totalmente informado de las novedades de interes, en la seccion :::Profesionales:::"
End If
Else
Response.Redirect "logoff.html"
End If
Else
Response.Redirect "logoffmail.html"
End If
Else
Response.Write "2.000/2.005 | 5º Aniversario WPP. No se puede registrar de nuevo, ya es un usuario registrado. Si desea alguna cosa o tiene alguna duda envíe un e-mail a registro@..........."
End If
'Libera memoria
Conn.Close
Set Conn= Nothing
%>
Gracias espero vuestra ayuda, o aclaración si no me he explicado bien.