| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MindPaniC
Registrado: 08 Ene 2005 Mensajes: 6
|
Publicado: Dom Feb 06, 2005 3:06 am Asunto: Utilizar el sistema autentificación de phpBB para la web |
|
|
Buenas,
Estoy implementando el sistema de autentificación de phpBB para el resto de la web, lo que quiero conseguir es que se conserve la sesión cuando el usuario registrado se pasea por las diferentes secciones del Web, también he puesto en cada pagina del web la opcion de loguin en caso de que el usuario este deslogueado o mostar el loguiout en caso de que el usuario este correctamente logueado.
para conservar la sesión he puesto este script al comienzo de todas las paginas del site:
| Código: |
<?php
define('IN_PHPBB', true);
$phpbb_root_path = 'foros/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'log.'.$phpEx);
?>
|
Este codigo no me gusta ya que no se si propaga muy bien la sesion en caso de que un usuario no tenga las cookies activadas, no se muy bien como funcinan los scripts referentes al sistema de cookies y necesito que me ayudeis en este aspecto. A ver si me ayudais a crear un buen script que conserve la sesión en cualquier caso, y que ademas incluya el script relacionado con las cookies.
Este codigo:
| Código: | <?php $log_in_out=(
$userdata['session_logged_in'] ) ? ('<a href="'.$phpbb_root_path.'login.'.$phpEx.'?logout=true&s id=' .
$userdata['session_id'].'">LOGOUT ['.$userdata['username'].']</a>') : ('<a
href="'.$phpbb_root_path.'login.'.$phpEx.'">LOGIN</a>');
print $log_in_out;?> |
es el que utilizo para que muestre "login" en caso de que el usuario no este loguineado y "logout 'nombre usuario' " en caso de que el usuario este loguineado.
bien el codigo me funciona, pero me produce el siguiente fallo al realizar pruebas:
-Cuando me loguineo me aparece correctamente la opción logout nombreususario, pero si me fijo en la barra del navegador me muesta la mi dirección web sin las "www" asi: http://mindpanic.com/index.php en si cojo y añado las "www" y le doy a intro me sale mi index pero no me muestra como que estoy loguineado, tengo que darle a actualizar un par de veces y al final acaba mostrandolo. ¿Qué debo hacer para que me reconozca bien la sesion ponga la dirección que ponga y además como puedo hacer para que siempre muestre en el navegador las "www"?.
Bueno estas son las cuestiones que mas comeduras de coco me estan dando en estos momentos, no se demasiado de php y la verdad es que necesito un poco de ayuda?
Un saludo  |
|
| Volver arriba |
|
 |
 |
MindPaniC
Registrado: 08 Ene 2005 Mensajes: 6
|
Publicado: Mar Mar 01, 2005 6:15 pm Asunto: respuesta por mi cuenta. |
|
|
bueno como veo que nadie se ha molestado en tocar el tema... ya lo he resuelto por mi cuenta y con ayuda de gente de otros foros (no dire cuales )
bien antes de nada deciros que el script funciona a la perfección.
1- Este script lo debeis colocar al comienzo de todas las paginas de vuestra web ya que sirve para continuar con la sesion que habeis iniciado en phpBB.
| Código: |
<?php $volver = "../index.php";
define('IN_PHPBB', true);
$phpbb_root_path = (dirname($_SERVER['PHP_SELF'])=="/foros") ? './' : 'foros/'; //PATH DEL FORO RESPECTO DEL SCRIPT
if (!function_exists("init_userprefs"))
{
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
$cookiename = $board_config['cookie_name'];
$cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure'];
} ?> |
ojo debeis poner bien la ruta del path del foro respecto a cada pagina donde pongais este script, es decir este script que he puesto esta en el index de mi web y los foros los tengo en dentro de la carpeta llamada foros, por ese motivo he puesto "/foros".
-otra cosilla, si os fijais en la variable $volver he puesto la ruta para que al hacer logout me devuelva a la pagina desde la que he accionado el logout (en este caso mi index.php). Por lo tanto en cada pagina que pongais este script debeis de establecer la ruta donde os dejará una vez accioneis el logout desde cualquier pagina.
ejemplo:
si tienes una pagina llamada descargas.php que esta dentro de larpeta descargas debeis de poner $volver = "../descargas/descargas.php";
2- este otro script es con el que nos loginemos y ademas tambien podemos una vez loguineados saber si tenemos mensajes nuevos, ver nuestro perfil y hacer logout, además de darnos la bienvenida por nuestro nombre de usuario:
| Código: | <?
if ($userdata['user_id']!=-1) {
echo "<div id=\"meo-login\">";
if ( $userdata['user_new_privmsg'] ) {
$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);
} else {
$l_privmsgs_text = $lang['No_new_pm'];
}
echo "<span class=gensmall>Bienvenido <strong>" . $userdata['username'] . "</strong>.<br /><br />";
echo "<a href='" . $phpbb_root_path . "profile.php?mode=editprofile' class=\"mainmenu\">Su perfil personal</a><br />";
echo "<a href='" . $phpbb_root_path . "privmsg.php?folder=inbox' class=\"mainmenu\">" . $l_privmsgs_text . "</a><br />";
echo '<a href='. $phpbb_root_path.'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'].'&redirect='.$volver.'
class=mainmenu>Salir ['.$userdata['username'].']</a><br />';
echo "</div>";
} else {
?>
<form method="post" action="../foros/login.php">
<div align="right"><span class="gensmall">Usuario:<input type="hidden" name="redirect" value="../../index.php">
<input
class="post" type="text" name="username" size="12" /><br />Clave: <input class="post" type="password" name="password"
size="12" maxlength="32" />
<br />
<input type="submit" class="mainoption" name="login" value="Login" />
</div><br /><div align="center"><a href="http://www.mindpanic.com/foros/profile.php?mode=register" class="mainmenu">¿ Aún no
estás registrado ?</a></form><?
}
?> |
bueno eso es todo con cualquier duda preguntar y os ayudare en lo que pueda.
Un saludo  |
|
| Volver arriba |
|
 |
 |
viska Invitado
|
Publicado: Mie May 18, 2005 11:25 am Asunto: |
|
|
hola!
He colgado una pagina html con los codigos que pones aqui tal cual, cambiando unicamente las rutas que dices que hay que cambiar, no tengo ni idea de php.
Lo que e echo es copiar los codigos uno detras del otro en el BODY de una pagina html en blanco del dreamweaver y guardarla como PRUEBAforo.html, tambien la he guardado como PRUEBAforo.php, pero cuando pongo la direccion a la misma en vez de abrirla me sugiere guardarla o abrirla como si fuera un archivo, jeje. Bueno la pagina es esta:
http://es.geocities.com/elbronxsanmateo/PRUEBAforo.html
y la pagina en la que quiero implementar el login del foro es esta www.elbronx.tk, que redirecciona a http://es.geocities.com/elbronxsanmateo
Bueno, como ves soy novato en este ambito, si me dieras los pasos para poner el login como dices en mi pagina te lo agradeceria muxo muxo, xDDD
decirte que los foros los tengo en http://usuarios.lycos.es/elbronx/phpBB2
Gracias de antemano. |
|
| Volver arriba |
|
 |
 |
Invitado
|
Publicado: Vie May 20, 2005 8:41 pm Asunto: |
|
|
| 3 años despues, y sigue sin responder nadie.... mu mal!!! jeje, jo, ayudarme! |
|
| Volver arriba |
|
 |
 |
Invitado
|
Publicado: Sab Jun 04, 2005 8:19 pm Asunto: |
|
|
 |
|
| Volver arriba |
|
 |
 |
carsantel
Registrado: 27 Ene 2005 Mensajes: 28 Ubicación: Madrid
|
Publicado: Mar Jun 14, 2005 5:34 pm Asunto: |
|
|
Veo que nadie te responde, y yo tampoco es que entienda mucho del tema php. Pero si te pide que abras o guardes el archivo. Es posible que tu servidor no tenga soporte para php.
He visto la pagina pruebaforo.html y has incluido codigo php antes del head. Como te he dicho no se mucho de php, pero creo que no se puede insertar codigo php en un docmento html, asi de facil con "CTRL+V".
Espero por lo menos que sientas qe en este foro antes o despues se te da una solucion.
Un Saludo,
P.D.- Deberías registrarte.  _________________ CARSANTEL INFORMÁTICA
www.carsantel.com
carlos@carsantel.com
Móvil: +34 680 116 792 |
|
| Volver arriba |
|
 |
|
|
|
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
|
|