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:
- Cuando hacemos el login me redirecciona a una página que no es la principal
- 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);
?>
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>
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>";
}
?>
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",
);
?>
Gracias a tod@s de antemano.....


