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

Como pasar valores de un formulario...

Estas en el tema de Como pasar valores de un formulario... en el foro de ASP Clásico en Foros del Web. Buenas noches a todos. Soy nuevo en esto del ASP y haciendo pruebas me ha surgido un pequeño problema. Tengo una pàgina principal con un ...
  #1 (permalink)  
Antiguo 21/05/2004, 14:36
 
Fecha de Ingreso: mayo-2004
Mensajes: 40
Antigüedad: 21 años
Puntos: 0
Como pasar valores de un formulario...

Buenas noches a todos. Soy nuevo en esto del ASP y haciendo pruebas me ha surgido un pequeño problema.

Tengo una pàgina principal con un formulario. El formulario consta de 2 campos: LOGIN y PASSWORD; y el botón para ACEPTAR.

Cuando le doy a ACEPTAR hago que se me abra otra página web (en ASP) dónde quiero que, con una SQL, me muestre una información dependiendo de si los datos entrados en LOGIN y PASSWORD són correctos o no.

Lo que pasa que no sé cómo hacer esta validación. He probado con esto:

<%
Set Cn = Server.CreateObject("ADODB.Command")
Cn.ActiveConnection="DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("gestionplus1.mdb")& ";"
Cn.CommandType = 1
sSQL = "select * from CLIENTES where LOGIN_CLIENTE='" &
request.form("usuario") & "' and PASSWORD_CLIENTE='" &
request.form("contrasena") & "'
Set Rs = Cn.Execute(sSQL)
If (not Rs.EOF) then
Response.Redirect "mostrarfacturas.asp"
Else
Response.Redirect "error.html"
End If
Cn.Close
%>

En fin, no sé... espero que alguien me pueda ayudar, o me podais decir alguna web dónde explique esto,...

Gracias a todos.
  #2 (permalink)  
Antiguo 21/05/2004, 15:25
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Y que es lo que te arroja como error?
Qué es lo que no hace correctamente?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 21/05/2004, 15:29
 
Fecha de Ingreso: mayo-2004
Mensajes: 40
Antigüedad: 21 años
Puntos: 0
Pues que me sale el siguiente error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
No se estableció ningún texto de comando para el objeto de comando.
/web/control.asp, línea 15

y la linia 14 y 15 son -->

sSQL = "select * from CLIENTES where LOGIN_CLIENTE='" & request.form("usuario") & "' and PASSWORD_CLIENTE='" & request.form("contrasena") & "'"

Set Rs = Cn.Execute(sSQL)


--------
Saludos
  #4 (permalink)  
Antiguo 21/05/2004, 15:30
 
Fecha de Ingreso: mayo-2004
Ubicación: Sevilla, Spain
Mensajes: 20
Antigüedad: 21 años
Puntos: 0
De acuerdo Acceso restringido a parte de la web

Hola, yo también soy nuevo en esto, y tenía el mismo problema hace unos días, y esta rutina aunque es algo compleja por la mezcla de ASP con DLL, pero me funciona bien.

FORMULARIO HTML:
<form method="post" action="http://localhost/foropruebas/chequeo.asp">
<input type="text" name="login">
<input type="Password" name="password">
<input type="Submit" name="enviar" value="Enviar">
</form>
------------------------------------------------------------------------

COMPONENTE COM “ACCESO.DLL” (hecho con VB6.0):
ABRE BD, COMPRUEBA TEXTBOX CON LA BD, Y CREA RESULTADO esusuario = true/false

'Declaración explícita de vbles.
Option Explicit

'Declaramos el objeto Scripting Context que se
'empleará para hacer la interfaz con la página
'ASP que utiliza al objeto
Private objSC As ScriptingContext
Private objApplication As Application
Private objResponse As Response
Private objRequest As Request
Private objServer As Server
Private objSession As Session

'Objetos de base de datos
Private objBase As ADODB.Connection
Private objTabla As ADODB.Recordset


'Cuando se arranca la página ASP que crea el objeto COM,
'se inicia el evento OnStartPage
Public Sub OnStartPage(ByVal ContextoScript As ScriptingContext)

Set objSC = ContextoScript
Set objResponse = objSC.Response
Set objApplication = objSC.Application
Set objRequest = objSC.Request
Set objServer = objSC.Server
Set objSession = objSC.Session

'Objetos de base de datos
Set objBase = New ADODB.Connection
objBase.Open "BaseUsers"

End Sub


'Esta funcion indica si el usuario que ha entrado en la
'pagina es correcto o no
Public Function EsUsuario() As Boolean

Dim SQL As String

SQL = "SELECT Count(*) FROM USERS WHERE "
SQL = SQL & "LOGIN = '" & objRequest.Form("login") & "' AND "
SQL = SQL & "PASSWORD = '" & objRequest.Form("password") & "'"
Set objTabla = New ADODB.Recordset
objTabla.Open SQL, objBase, 3, 3

If objTabla(0) = 0 Then
EsUsuario = False
Else
EsUsuario = True
End If

objTabla.Close
Set objTabla = Nothing
End Function


Public Sub OnEndPage()

'Objetos de base de datos
objBase.Close
Set objBase = Nothing

'Destruimos los objetos
Set objResponse = Nothing
Set objApplication = Nothing
Set objRequest = Nothing
Set objServer = Nothing
Set objSession = Nothing
Set objSC = Nothing

End Sub

-----------------------------------------------------------------

“CHEQUEO.ASP” PÁGINA ASP DE LLAMADA A ACCESO.DLL


<%
'Declaracion explicita de variables
Option Explicit
Dim objAcceso
Set objAcceso = Server.CreateObject("Acceso.clsUsuario")
IF objAcceso.EsUsuario Then
response.Cookies("Clave")="true"
response.redirect "http://localhost/foropruebas/miemb1.asp"
'Response.Write "Saludos usuario " & Request.Form("login") & "<br>"
ELSE
response.redirect "http://localhost/foropruebas/miem_error.htm"
'Response.Write Request.Form("login") & " no es un usuario reconocido<br>"
END IF
Set objAcceso = Nothing
%>

---------------------------------------------

Luego en cada página que quieres restringir pones lo siguiente:

<%
if request.cookies("Clave")<>"true" then
response.redirect "http://localhost/foropruebas/miem_error.htm"
end if
%>

Saludos
  #5 (permalink)  
Antiguo 21/05/2004, 15:32
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Trata así:

Set Cn = Server.CreateObject("ADODB.Command")
Cn.ActiveConnection="DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("gestionplus1.mdb")& ";"

sSQL = "select * from CLIENTES where LOGIN_CLIENTE='" &
request.form("usuario") & "' and PASSWORD_CLIENTE='" &
request.form("contrasena") & "'

Set Rs = Server.CreateObject("ADODB.Recordset")
rs.Open sSQL, Cn, 3, 3

If not Rs.EOF then
Response.Redirect "mostrarfacturas.asp"
Else
Response.Redirect "error.html"
End If
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 08:08.