Hola,
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.
Pues tomand los consejos de yoseman hice lo siguiente:
submit.htm
Código:
<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>
Esto ingresa el
nombre de usuario y
password en la bd del foro.
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. -----
checar.asp?sid=2892838sd829230 (algo así) aparece en checar.asp
checar.asp
Código:
<%
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 = 'usuarios.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
%>
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.
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)
usuarios.asp
Código:
<%
autorizado = Session("sessionid")
If autorizado= "" 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= '" & autorizado & "'"
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
%>
Espero que los interesados puedan cooperar a mejorar esto,
pues todos queremos la sincronización del nuestros foros phpbb con nuestros sitios asp.
Más adelante tendremos que agregar la manera de cerrar la sesión.
Gracias por su interés y tiempo.