Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2004, 12:00
Avatar de jesus_10
jesus_10
 
Fecha de Ingreso: junio-2004
Mensajes: 61
Antigüedad: 20 años
Puntos: 0
Pregunta Login en phpbb y en toda la web

Hola a tod@s¡¡¡
Soy bastante novato en php y la verdad es que tengo una duda que no consigo resolver. Me gustaría que en mi web, que tengo un foro "phpbb", se pudiera hacer login en la página principal o en cualquier página ya que quiero tener zonas reservadas para usuarios registrados y no quisiera registrarlos varias veces y que además una vez logeado el usuariao apareza algo como ésto "Estás logeado como....". Espero haberme explicado bien.

Aquí os dejo el código que encontré por ahí y la verdad es que lo hace muy bien pero tengo el siguiente proglema:
  1. Cuando hacemos el login me redirecciona a una página que no es la principal
  2. Cuando ingreso en el foro no me aparece como conectado

Tengo tres archivos:

Conexión con la base de datos del foro:
Código PHP:
<? 
$a 
mysql_connect("dbserver","dbuser","dbpassword");
mysql_select_db("dbname",$a);
?>
Primera página del login "login.php" (formulario para ingresar):
Código PHP:
<form name="form" method="post" action="login2.php">
      <
p><b><font size="2">Usuario</font></b><br />
         <
input type="text" name="user">
      </
p>
      <
p><b><font size="2">Contraseña</font></b><br />
          <
input type="text" name="pass">
      </
p>
      <
p
           <
input type="submit" name="Submit" value="Entrar">
      </
p>
</
form
Página que recibe los datos del formulario y los procesa "login2.php":
Código PHP:
<? session_start(); ?>

<?
// Incluimos el archivo de la conexion a la base de datos
// (cambiad en conexion.php el nombre de la base de datos y el host, usuario y contraseña)

     
include("conexion.php");

// Hacemos una consulta a la base de datos buscando un registro con ese Usuario y esa Contraseña

    
$user=$HTTP_POST_VARS['user'];
    
$pass=md5($HTTP_POST_VARS['pass']);

// Cambia el prefix de la variable '$prefix' si no es el que viene
//$prefix="phpbb_";
    
$sql mysql_query("SELECT * FROM foro_users where username='$user' and user_password='$pass'",$a);

// Si el registro existe...

    
if(mysql_num_rows($sql)!= 0) {

// Aquí podeis poner un include de una seccion privada o lo que querais
// Yo voi a poner algunos datos del usuario, en el archivo 'campos.php' teneis
// los campos que usa phpbb para el usuario y su descripción.

    
$logueado=true;
    
session_register("user","pass");
    
$campo mysql_fetch_object($sql);
    echo 
"información de usuario que queramos";
    } 
             else {

// Si el usuario o la contraseña no es correcto vuelve a 'login.php'

    
echo "<script> location.href='login.php' </script>";
    } 
?>
Aquí os pongo el código para otra página que recoge toda la información del usuario registrado en el foro:

Código PHP:
?>
$campos = Array(
"\$campo->user_id" => "Id del usuario",
"\$campo->username" => "Nick del usuario",
"\$campo->user_regdate" => "Fecha de registro",
"\$campo->user_password" => "Contraseña encriptada con md5()",
"\$campo->user_email" => "Email del usuario",
"\$campo->user_icq" => "Numero de ICQ",
"\$campo->user_website" => "Pagina Web",
"\$campo->user_occ" => "Ocupacion del usuario",
"\$campo->user_from" => "Procedencia del usuario",
"\$campo->user_interests" => "Sus intereses",
"\$campo->user_sig" => "La firma que sale al final de los post en el foro",
"\$campo->user_avatar" => "El avatar",
"\$campo->user_avatar_type" => "Tipo de avatar",
"\$campo->user_viewemail" => "Muestra '1' si permites que vean yu email y '0' si no",
"\$campo->user_aim" => "Direccion del AIM",
"\$campo->user_yim" => "Correo para el msn de yahoo",
"\$campo->user_msnm" => "Correo para el msn",
"\$campo->user_attachsig" => "Muestra '1' si quieres que tu firma salga en todos los post y '0' si no",
"\$campo->user_allowsmile" => "'1' si estan activados los smilies y '0' si no lo estan",
"\$campo->user_allowhtml" => "Lo mismo pero con el html",
"\$campo->user_allowbbcode" => "Tres cuartos de lo mismo con el BBCode",
"\$campo->user_allow_viewonline" => "Muestra '1' si permites que sepan cuando estas online y si no lo permites '0'",
"\$campo->user_notify" => "Muestra '1' si tienes activado que te avisen por e-mail cuando te contesten a un post, y '0' cuando no lo este",
"\$campo->user_notify_pm" => "Lo mismo pero te avisan con los mensajes privados",
"\$campo->user_popup_pm" => "Lo mismo, pero esto es para algunas plantillas que te informan de un mensaje privado por pop-up",
"\$campo->user_timezone" => "Zona de horario (GMT)",
"\$campo->user_dateformat" => "Formato en el que se muestra la fecha",
"\$campo->user_lang" => "Lenguaje del foro",
"\$campo->user_style" => "Theme del foro",
"\$campo->user_level" => "Nivel en el foro: '1' para administradores y '0' para usuarios normales",
"\$campo->user_allow_pm" => "Muestra '1' si permites mensajes privado y por el contrario '0'",
"\$campo->user_active" => "Muestra '1' si el usuario esta activo y '0' si no lo esta",
"\$campo->user_posts" => "Numero de mensajes escritos en el foro",
"\$campo->user_new_privmsg" => "Muestra '1' si tienes algun mensaje privado nuevo y '0' si no tienes ninguno",
"\$campo->user_unread_privmsg" => "Lo mismo pero si tienes mensajes sin leer y leidos",
"\$campo->user_last_privmsg" => "Fecha del ultimo mensaje privado",
"\$campo->user_lastvisit" => "Fecha de la ultima visita del usuario",
);
?> 
Espero que os sirva de algo....


Gracias a tod@s de antemano.....
__________________
Todavía hay esperanza de que exista un día en que el ser humano se de cuenta de lo que hace.

Última edición por jesus_10; 01/07/2004 a las 12:19 Razón: Se me olvidó poner otra pagina.... jejeje xD