Ver Mensaje Individual
  #15 (permalink)  
Antiguo 12/06/2003, 05:33
Avatar de epa2
epa2
 
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 23 años
Puntos: 9
Hola Helbira, me alegro de que andes por este post,

el tenerte cerca es una garantía de profesionalidad,

pero por favor, (quizás llevado por la emoción hablé muy pronto)

en principio el codigo funciona, lo que pasa es que lo estoy chekeando completamente y no quiero ponerlo sin estar completamente seguro.

un momento nada más por favor y lo cuelgo pronto.

Gracias.

Lo prometido es deuda.

aquí está el codigo.

Básicamente, es que desde el archivo Global.asa creamos un objeto. MUY IMPORTANTE, ESE OBJETO NO PUEDE IR DENTRO DEL TAG <SCRIPT> DEL GLOBAL.ASA (al menos eso pone la documentación que he leido)

ARCHIVO GLOBAL.ASA

Código PHP:
<object runat="server" scope="application" id="online"
progid="Scripting.Dictionary"">
</object>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
    
End Sub

Sub Session_OnStart

End Sub

Sub Session_OnEnd
    '-----------------------------------------------------
    'INSERTAMOS EN LA VARIABLE NKEY LAS SESIONES PARA COMPROBAR SI EXISTE YA UN USUARIO EN LA WEB    
    nkey=session("
password") & "," & session("usuario")
    if online.Exists(nkey) THEN
        online.Remove nkey
    End if
        
End Sub

</SCRIPT> 

Y EN LA PÁGINA EN LA QUE SE HACE LA CONSULTA A LA BASE DE DATOS CON USUARIO Y PASSWORD VA LO SIGUIENTE....

Código PHP:
'eliminamos las posibles comillas de la entrada
'
para evitar la introducción de sentencias SQL
usuario
=replace(request.form("usuario"),"'","")
password=replace(request.form("password"),"'","")
usuario=request.form("usuario")
password=request.form("password")
'-----------------------------------------------------------------------------------------------------------------------------------------
'
LA SIGUIENTE LINEA NOS SIRVE PARA CONTROLAR QUE UN USUARIO NO ESTE AL MISMO TIEMPO 
'DOS VECES DENTRO DE LA WEB CON SU USUARIO Y PASSWORD.PARA MAS INFORMACION MIRAR EL ARCHIVO GLOBAL.ASA
nkey=password & "," & usuario
'
------------------------------------------------------------------------------------------------------------------------------------------
basedatos=server.mappath("../data/clientes.mdb")
set conexion server.createobject("adodb.connection")
conexion.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" basedatos ";"
set registros=conexion.execute("SELECT * FROM clientes WHERE  usuario='"&usuario&"' and password= '"&password&"'")

                        if 
registros.eof then
                            response
.redirect "login.asp?msg=Usuario%20o%20password%20incorrectos"
                        
end if
                        
'-----------------------------------------------------------------------------------------------------------------------------
                        '
EN ESTA LINEA COMPROBAMOS SI EL USUARIO YA SE ENCUENTRA DENTRO DE LA WEB
                        
if online.Exists(nkeyTHEN
                        response
.redirect "login.asp?msg= Lo sentimos, ya existe un usuario dentro del campus utilizando su nombre de usuario y password "
                        '--------------------------------------------------------------------------------------------------------------------------------
 
                         ELSE
                        '
SI NO SE HA CREADO AÚN EL USUARIO DESDE EL GLOBAL.ASA CREAMOS LAS SESIONES Y LE DEJAMOS ENTRAR
                        online
.Add nkey "a"
                        
session("password")=registros("password")
                            
session("usuario")=registros("usuario")
                                
session("nombre")=registros("nombre")
                                    
session("apellido1")=registros("apellido1")
                                        
session("apellido2")=registros("apellido2")
                                            
session("autorizacion")=1
                                                session
.TimeOut 20
                        registros
.close
                            conexion
.close
                                set registros 
nothing
                                    set conexion 
nothing
                        
                                        response
.redirect "fullscreen.htm"

                                        
end if
                                        
end if

%> 
Bueno amigos, si quereis probarlo a ver como va, a mi me funciona bien.

Un saludo
__________________

***Aprendiz de todo y maestro de nada***

Última edición por epa2; 12/06/2003 a las 05:36