Bueno, el link que me dieron es más bien sobre código php. Aunque yo estoy utilizando asp, recurrí a este foro por lo de los conocimientos del foro phpbb.
(NOTA: POSTEADO ADEMÁS EN FORO DE PHP)
Pues tomand los consejos de yoseman hice lo siguiente:
submit.htm
Código:
Esto ingresa el nombre de usuario y password en la bd del foro.<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Usuario</title> </head> <body> <form action="foro/login.php" method="post"> <input type="hidden" name="redirect" value="../check.asp"> Usuario: <input type="text" name="username" size="10" /><br> Contraseña: <input type="password" name="password" size="10" maxlength="32" /><br /> Entrar automáticamente en cada visita <input class="text" type="checkbox" name="autologin" /> <input type="submit" class="mainoption" name="login" value="Login" /> </form> </body> </html>
Loguea al usuario y lo redirecciona inmediatamente a la página: check.asp.
---El campo hidden de redirect es muy valioso porque nos permite recobrar la session id genrada por el foro. -----
check.asp?sid=2892838sd829230 (algo así) aparece en check.asp
check.asp
Código:
Recoge el string y lo valida, después, cree una sesión, que es la que usaré para el sitio asp, y que tiene el mismo valor que la sesión generada por el foro.<% numsess=request.querystring("sid") If numsess="" then response.write "<center>No se ha logueado" response.write "<form>" response.write "<input type='button' value='Return to Form' onclick=history.go(-1)>" response.write "</form></center>" Else Session("sessionid")= numsess Response.Write "<SCRIPT LANGUAGE='JavaScript'>ss = 'micuenta.asp'; redirectionTime = '5000';redirectionURL = ss; function redirectionTimer() { self.setTimeout('self.location.href = redirectionURL;',redirectionTime); }</script><html><head></head><body onLoad='redirectionTimer()'><body>" Response.Write "Tu numero de sesion es " & Session("sessionid") %></body> </html><% End If %>
Para estas alturas, uno ya se puede ver que está logueado en el foro.
¿Pero qué pasa cuando por algún motivo vuelves a la páginas check.asp, es decir, a tu sitio asp? Bueno, pues te dirá que no estás logueado porque ya no traes arrastrando el string.
Por eso cree una redirección en la página check.asp hacia micuenta.asp, que será el área deonde el usuario ve toda su información (que por cierto, la recojo también de la bd del foro)
micuenta.asp
Código:
Estuvo funcionando hace unos minutos; pero parece que es un problema de sesión.Se supone que a esta altura debería estar leyendo la sesión creada en la página check.asp<% If Session("sessionid")= "" then response.write "<center>No se ha logueado" response.write "<form>" response.write "<input type='button' value='Return to Form' onclick=history.go(-1)>" response.write "</form></center>" Else dim conn dim conn_string conn_string = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;"_ & " DATABASE=forum;UID=user;PWD=pass; OPTION=16387" Set conn = Server.CreateObject("ADODB.Connection") conn.Open(conn_string) strQuery = "SELECT phpbb_users.username FROM phpbb_users, phpbb_sessions WHERE phpbb_users.user_id=phpbb_sessions.session_user_id AND phpbb_sessions.session_id= '" & numsess & "'" Set RS = conn.Execute(strQuery) %><html> <head> <title>New Page 2</title> </head> <body> <% Response.Write "Bienvenido " & RS("username") & " estas logueado en sitio y foro. " %><br> </body> </html> <% RS.Close Set RS = Nothing End If %>
Me da el error:
Tipo de error:
(0x80020009)
Ocurrió una excepción.
/micuenta.asp, línea 27
Estoy seguro de que debe ser un problema menor. Espero que los interesados puedan cooperar a mejorar esto,


Más adelante tendremos que agregar la manera de cerrar la sesión.
Gracias por su interés y tiempo.