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

Login Temperamental

Estas en el tema de Login Temperamental en el foro de ASP Clásico en Foros del Web. Hola Amigos, ayudadme porfa, tengo una semana durmiendo a raticos por este dilema tengo un sistema de login que trabaja perfecto en mi maquina pero ...

  #1 (permalink)  
Antiguo 07/02/2002, 00:28
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Login Temperamental

Hola Amigos, ayudadme porfa, tengo una semana
durmiendo a raticos por este dilema

tengo un sistema de login que trabaja perfecto en mi maquina pero no funciona en el server:

ayudenme y publico el script completo que es muy rapido y eficiente, gracias

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

en mi maquina hago lo que sea con ese recordset pero en el servidor no,

soy administrador del servidor y tengo las mismas versiones del MDAC 2.7 y las mismas rutas fisicas y logicas en ambas maquinas, las carpetas tienen los privilegios de escritura y estan compartidas

me arroja el error

<%@ Language="VbScript"%>
<%
Set Conn = Server.CreateObject("Adodb.Connection")
Dim DSNtemp
DSNtemp="Provider=MSDASQL;"
DSNtemp=DSNtemp & "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=DSNtemp & "DBQ=C:\web\users\v013u25gam\db\domesa\aspgpa sswords.mdb;"

Conn.open DSNtemp

Dim UserName
Dim Password
UserName = Request.Form("USERNAME")
Password = Request.Form("PASSWORD")
If Len(UserName) > 0 Then

msql = ("SELECT USERNAME, PASSWORD FROM USERS WHERE USERNAME='" & UserName & "' AND PASSWORD='" & Password & "'")
Set RS = Conn.Execute(msql)

If RS.EOF Then
ErrorMessage = "<P><font color=""red"">Invalid Username or Password</font></P>"

RS.Close
Conn.Close

Set RS = Nothing
Set Conn = Nothing
Else

Session("SecurityID") = "ÄÏÍÅÓÁ"

Response.redirect session("actual")
End If
End If
%>
  #2 (permalink)  
Antiguo 07/02/2002, 00:40
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Login Temperamental

que linea es la que te esta mandando ese error?

salu2 :) ;)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #3 (permalink)  
Antiguo 07/02/2002, 00:52
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

es en

Set RS = Conn.Execute(msql)

aparentemente piensa que hay un error de
sintaxis en la variable que almacena
la clausula select, pero no es asi (creo),
ademas checkeo y en mi maquina el sitema
trabaja , lee la base de datos....,
los archivos en la maquina y el servidor son identicos y hasta le di todos los permisos de ejecucion y compartir a las carpetas en el servidor cosa que ni sisquiera hago en la maquina local

ya busque los diferentes sitios por el dicho error e indican que es un error de sintaxis o la variable no llega a la instruccion execute (tambien probe con open y da el mismo error)

me tiene loco y desesperado

  #4 (permalink)  
Antiguo 07/02/2002, 00:55
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Login Temperamental

mmm yo veo raro esto

msql = (&quot;SELECT USERNAME, PASSWORD FROM USERS WHERE USERNAME='&quot; &amp; UserName &amp; &quot;' AND PASSWORD='&quot; &amp; Password &amp; &quot;'&quot;)

no sera asi:

msql = &quot;SELECT USERNAME, PASSWORD FROM USERS WHERE USERNAME='&quot; &amp; UserName &amp; &quot;' AND PASSWORD='&quot; &amp; Password &amp; &quot;'&quot;

saludos :) ;)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #5 (permalink)  
Antiguo 07/02/2002, 03:48
Avatar de pramos  
Fecha de Ingreso: febrero-2002
Mensajes: 91
Antigüedad: 23 años, 3 meses
Puntos: 1
Re: Login Temperamental

Pues para mi está todo bien, para lo único que tengo dudas es para el tipo de conexión a la base de datos.
  #6 (permalink)  
Antiguo 07/02/2002, 03:51
 
Fecha de Ingreso: enero-2002
Mensajes: 69
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

Buenas.

Comprueba que tipo de base de datos tienen ellos si access 2000 o 97.

  #7 (permalink)  
Antiguo 07/02/2002, 03:53
 
Fecha de Ingreso: enero-2002
Mensajes: 69
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

http://www.soloasp.com.ar/vertexto.asp?txt=18

prueba con los drivers correspondientes.

Saludos
  #8 (permalink)  
Antiguo 07/02/2002, 07:53
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

gracias por los consejos, soy administrador del servidor donde se hospeda la pagina, en ambos tengo instaladas en ambas maquinas las ultimas versiones de los drivers de base de datos MDAC 2.7 y el JET4 service pack 3

la conexion a la base de datos es DNS_LESS,
no la escribi yo, use la herramienta misma de microsoft para generar conexiones de todos modo no me funciona simplificandola a:

ConnectionString=&quot;Provider=Microsoft.Jet.OLED B.4.0;Data Source=C:\web\users\v013u25gam\db\domesa\aspgpassw ords.mdb;Mode=Share Deny None;Persist Security Info=False&quot;

los parentesis aparentemente son para prevenir errores de sintaxis y aumentar legibilidad, probe sin ellos pero aun asi reporta el mismo error y solo en el servidor.... :(
  #9 (permalink)  
Antiguo 07/02/2002, 08:30
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

gracias por tu consejo ozono23, probe con
la otra conexion, igual trabaja en mi maquina y da falla en el servidor, sospecho que algo puede estar mal en el, lo malo es que tengo varias bases de datos mas corriendo bien en el servidor y el error que me reporta de de sintaxis o falta de parametros y yo hice un response.write de
la cadena select y si esta pasando los valores y con su comilla simple respectiva.... :(
  #10 (permalink)  
Antiguo 07/02/2002, 08:39
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

cual es el mensaje de error que te entrega??

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #11 (permalink)  
Antiguo 07/02/2002, 08:43
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

Legolas el mensaje es:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.
  #12 (permalink)  
Antiguo 07/02/2002, 08:49
Avatar de pramos  
Fecha de Ingreso: febrero-2002
Mensajes: 91
Antigüedad: 23 años, 3 meses
Puntos: 1
Re: Login Temperamental

Eso es que conecta correctamente con la tabla pero hay 2 nombres de campos mal escritos.
  #13 (permalink)  
Antiguo 07/02/2002, 08:52
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 6 meses
Puntos: 5
Re: Login Temperamental

Esto que te voy a decir seguramente parecerá una tonteria pero quien sabe.. cuando uno está desesperado prueba de todo ;)

Prueba a renombrar las variables UserName y Password, por ejemplo otros nombres que no puedan ser palabras predefinidas (yo que sé... por probar) por ejemplo: __UserName__ y __Password__

Ya me contarás y suerte!
  #14 (permalink)  
Antiguo 07/02/2002, 08:54
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

No será un problema de parámetros???
por qué no pruebas haciendo esto, si no da error, entonces, el problema es con los parámetros.

msql = &quot;SELECT USERNAME, PASSWORD FROM USERS&quot;

Saludos y suerte ;)

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #15 (permalink)  
Antiguo 07/02/2002, 09:34
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

HELBIRA,
tu idea me parecio excelente y probe pero nada igual no trabaja en el servidor

PRAMOS, el sistema funciona perfecto en mi maquina, ademas la ayuda de microsoft sugiere que existen varias causas adicionales para este error...

legolas: estoy seguro que tienes razon, es un problema con la manera que el webserver interpreta los paramentros, pero no se que esta mal llevo dias revisandolos ademas menos entiendo porque los valores de las variables existen, y se pasan bien en mi maquina :(



  #16 (permalink)  
Antiguo 07/02/2002, 10:17
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

Pero probastes lo que te dije?
te dió el error?

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #17 (permalink)  
Antiguo 07/02/2002, 13:21
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

Caramba legolas, te hice caso y lo probe trabaja sin parametros pero sigo sin ver que esta mal, te mando el codigo a ver si vemos luz

&lt;%@ Language=&quot;VbScript&quot;%&gt;
&lt;%
Set Conn = Server.CreateObject(&quot;Adodb.Connection&quot;)
Dim DSNtemp
DSNtemp=&quot;Provider=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\web\users\v013u25gam\db\domesa\asp gpasswords.mdb;&quot;

Conn.open DSNtemp
Dim XUSERNAME
Dim XPASSWORD
XUSERNAME = Request.Form(&quot;XUSERNAME&quot;)
XPASSWORD = Request.Form(&quot;XPASSWORD&quot;)

If Len(XUSERNAME) &gt; 0 Then
rem msql = (&quot;SELECT USERNAME, PASSWORD FROM USERS&quot;)
msql = (&quot;SELECT USERNAME, PASSWORD FROM USERS WHERE USERNAME='&quot; &amp; XUSERNAME &amp; &quot;' AND PASSWORD='&quot; &amp; XPASSWORD &amp; &quot;'&quot;)
Set RS = Conn.Execute(msql)
REM HACIENDO ESTA INSTRUCCION O LA OPEN ES QUE SIEMPRE DA EL ERROR
If RS.EOF Then
response.write &quot;&lt;html&gt;&lt;body&gt;&quot;&amp; XUSERNAME &amp; &quot;,&quot;&amp;XPASSWORD &amp;&quot; msql=&quot;&amp;msql&amp;&quot;&lt;/body&gt;&lt;/html&gt;&quot;

RS.Close
Conn.Close

Set RS = Nothing
Set Conn = Nothing
Else

Session(&quot;SecurityID&quot;) = &quot;ÄÏÍÅÓÁ&quot;
Response.redirect session(&quot;actual&quot;)
End If
End If
%&gt;
  #18 (permalink)  
Antiguo 07/02/2002, 15:11
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Re: Login Temperamental

Mira, yo asi hago la comparacion para el ingreso de usuarios, espero que te sirva:

Temp=&quot;Select * From Tabla1 Where UCase(nick)= ' &quot; &amp; UCase(Request(&quot;nick&quot;)) &amp; &quot; ' &quot;


JAM <font size="1">desde la tierra del tequila, mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a><br>
<embed width="400" height="60" src="http://www.550m.com/usuarios/guiaguanatos/salud.swf">
  #19 (permalink)  
Antiguo 07/02/2002, 15:18
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Re: Login Temperamental

Ups, perdon, bueno, asi hago la verificacion del usuario ingresado:

sql = &quot;SELECT * FROM Tabla1 WHERE Nick='&quot;&amp;usuario&amp;&quot;'&quot;

y despues con un if checo que el password recogido del formulario sea igual al de la base de datos para ese usuario, asi no paso passwords por formularios ;)

JAM <font size="1">desde la tierra del tequila, mariachi y mujeres guapas[/CODE]
<a href="mailto:[email protected]">[email protected]</a><br>
<embed width="400" height="60" src="http://www.550m.com/usuarios/guiaguanatos/salud.swf">
  #20 (permalink)  
Antiguo 07/02/2002, 15:23
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

galindox, puedo interpretar que te resultó la prueba que te aconsejé realizar?

Ya estoy analizando tu código, espero que lleguemos a buen término... ;)

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #21 (permalink)  
Antiguo 07/02/2002, 15:43
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

gracias por tu apoyo legolas, efectivamente
reconoce abre si no usas la clausula where
si quieres te mando el script y la base de datos, es un sistemanita de login simple pero muy efectivo, un if chequea si es usuario autorizado y en caso de que no lo sea lo manda a la pagina de login, esta manda el usuario al script que estamos revisando y si es valido, lo manda de vuelta a la pagina inicial, la ventaja de este sistema es que no tengo que insertar completo el script con un insert en la pagina y que correr muy rapido y como abre
con ole db la conexion se salta el odbc y es mas efectiva todo el script programa son como 200k si quieres lo mando
  #22 (permalink)  
Antiguo 07/02/2002, 15:52
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

ok, gracias. Envíamelo, aunque tengo mucho que hacer, y de hecho estoy en deuda con inforsal, pero veamos si puedo hacer algo.

Saludos y suerte;)

envíalo a [email protected]

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #23 (permalink)  
Antiguo 07/02/2002, 15:53
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

sabes, viendo tu código me doy cuenta que utilizo uno parecido!!!

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #24 (permalink)  
Antiguo 07/02/2002, 16:08
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

legolas ya te mande el script con la base de datos, si alguien mas se anima, esta a la orden el sistemita
  #25 (permalink)  
Antiguo 07/02/2002, 16:13
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Login Temperamental

ya lo recibí, lo pruebo y te cuento

El hombre es mortal por sus temores e inmortal por sus deseos. Pitágoras.
  #26 (permalink)  
Antiguo 07/02/2002, 16:58
Avatar de ashketchum  
Fecha de Ingreso: julio-2001
Ubicación: En algun lugar de un gran pais
Mensajes: 418
Antigüedad: 23 años, 10 meses
Puntos: 0
Re: Login Temperamental

Hola a todos, creo que llegue bastante tarde, pero nadie se ha fijado en la connexion?,


<BLOCKQUOTE><font size=1 face=arial>Citando:<hr height=1 noshade>
DSNtemp=&quot;Provider=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\web\users\v013u25gam\db\domesa\asp gpasswords.mdb;&quot;
[/QUOTE]

esa se utiliza para manera local, pues hace referencia a c:\ o sea la raíz...
pero si quieres hacerlo en el web la conexion se hace asi:

&quot;Provider=Microsoft.Jet.OLEDB.4.0; Data Source=&quot;&amp;Server.MapPath(&quot;/db/domesa/aspgpasswords.mdb;&quot;)

esto es mediante OLEDB, espero que te sirva...

saludos y suerte
ashketchum

@sh (Maestro Pokémon trajo esto para tí) :P
  #27 (permalink)  
Antiguo 07/02/2002, 18:51
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

gracias ashketchum,
pero se usa Server.MapPath cuando no conoces
la ruta fisica del archivo y cuando esta dentro de una carpeta del web server, si usas el path fisico es mas eficiente y si ademas sacas la base de datos de la carpeta del webserver nadie puede descargar la base de datos tipeando su ruta y nombre, es muy normal hacer esto para proteger data confidencial como en este caso que son los datos de 3000 clientes corporativos
gracias de todos modo por el intento amigo ;)
  #28 (permalink)  
Antiguo 07/02/2002, 19:01
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

oye sjam7, mientras me parto la cabeza buscandole logica a mi problema, me parecio interesante tu propuesta de no filtrar sino por un criterio,

que ventajas o desventajas tiene hacerlo luego con un if?,

tienes un link a un ejemplo completo? o informacion adicional?

  #29 (permalink)  
Antiguo 07/02/2002, 23:29
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

sjam7, Modifique el script, segui tu consejo, trbaja en mi maquina pero no en el web server arroja el mismo bendito error

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.


El escript modificado para que lo vean es
&lt;%@ Language=&quot;VbScript&quot;%&gt;
&lt;%
Set Conn = Server.CreateObject(&quot;Adodb.Connection&quot;)
Dim DSNtemp
DSNtemp=&quot;Provider=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\web\users\v013u25gam\db\domesa\asp gpasswords.mdb;&quot;
Conn.open DSNtemp
Dim XUSERNAME
Dim XPASSWORD
XUSERNAME = Request.Form(&quot;XUSERNAME&quot;)
XPASSWORD = Request.Form(&quot;XPASSWORD&quot;)
If Len(XUSERNAME) &gt; 0 Then
REM ACA ME DA EL ERROR HACIENDO ESTA INSTRUCCION O UN OPEN ES QUE SIEMPRE DA EL ERROR
msql = (&quot;SELECT USERNAME, PASSWORD FROM USERS WHERE USERNAME='&quot; &amp; XUSERNAME &amp; &quot;'&quot;)
rem msql = (&quot;SELECT USERNAME, PASSWORD FROM USERS WHERE USERNAME='&quot; &amp; XUSERNAME &amp; &quot;' AND PASSWORD='&quot; &amp; XPASSWORD &amp; &quot;'&quot;)

Set RS = Conn.Execute(msql)
If RS.EOF Then
call close_rs
Response.redirect Request.ServerVariables(&quot;http_referer&quot;)
Else
if XPASSWORD = RS(&quot;PASSWORD&quot;) then
Session(&quot;SecurityID&quot;) = &quot;ÄÏÍÅÓÁ&quot;
call close_rs
Response.redirect session(&quot;actual&quot;)
else
call close_rs
Response.redirect Request.ServerVariables(&quot;http_referer&quot;)
end if
End If
End If
sub close_rs
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
end sub
%&gt;
  #30 (permalink)  
Antiguo 08/02/2002, 00:53
 
Fecha de Ingreso: enero-2002
Mensajes: 141
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Login Temperamental

LISTO ERA LA BASE DE DATOS, LA HABIA SUBIDO
Con WS_FTP PRO 7 y subio sin errores y el tamaño era identico aca y alla, sin embargo la version de alla cambio internamente en algo al subir (METAFISICO VERDAD?)

Volvi a subir la base de datos y listo trabajo con las 5 o 6 versiones que tenia del Script Gracias a todos ustedes ahora soy un poco menos ignorante :)
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 00:23.