Ayer integré el login de phpBB a un sitio php que estoy diseñando. Logré hacer que este funcione a la perfección pero cuando ingresa al website alguien que no esta logeado se muestra el siguiente error:
Código:
session.php - Lineas 999 ~ 1008:[phpBB Debug] PHP Notice: in file /includes/session.php on line 1007: Cannot modify header information - headers already sent by (output started at /home/audition/public_html/carpetaken/index.php:10) [phpBB Debug] PHP Notice: in file /includes/session.php on line 1007: Cannot modify header information - headers already sent by (output started at /home/audition/public_html/carpetaken/index.php:10) [phpBB Debug] PHP Notice: in file /includes/session.php on line 1007: Cannot modify header information - headers already sent by (output started at /home/audition/public_html/carpetaken/index.php:10)
Código PHP:
function set_cookie($name, $cookiedata, $cookietime)
{
global $config;
$name_data = rawurlencode($config['cookie_name'] . '_' . $name) . '=' . rawurlencode($cookiedata);
$expire = gmdate('D, d-M-Y H:i:s \\G\\M\\T', $cookietime);
$domain = (!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain'];
header('Set-Cookie: ' . $name_data . (($cookietime) ? '; expires=' . $expire : '') . '; path=' . $config['cookie_path'] . $domain . ((!$config['cookie_secure']) ? '' : '; secure') . '; HttpOnly', false);
}
Código PHP:
Ver original
<? include('variables.php');?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html40/loose.dtd"> <html> <head> <title>AuditionTown - Fanáticos como tú!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="estilos.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#CD43A3"> <table width="100%" height="2" style="background:url('imagenes/fondo_at1.jpg');background-repeat:no-repeat;background-position:top center;" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"> <td><div align="center"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0" id="logo_flotante" width="1000" height="350"><param name="movie" value="logo flotante.swf"><param name="wmode" value="transparent"><param name="quality" value="high"><param name="allowscriptaccess" value="samedomain"><embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="logo_flotante" width="1000" height="350" src="logo flotante.swf" quality="high" swliveconnect="true" allowscriptaccess="samedomain" wmode="transparent"></embed></object></div></td></tr> <tr valign="top"> <td> <div align="center" style="padding-left:1px;"> <table align="center" cellpadding="0" cellspacing="0" border="0" width="999" style="background: #5c004e url('imagenes/fondotop.png');background-repeat:repeat-x;"> <tr> <td width="1" style="background: url('clear_right.jpg');background-repeat:repeat-y;"><img src="imagenes/clear_right.jpg"></td><td> <!-- contenido --> <br> <div style="padding-left:15px;padding-right:15px;"><table align="center" width="700" height="150" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="20%"> <? include('izquierda.php');?> </td> <td width="60%"> <? include('centro.php');?> </td><td width="20%"> <? include('derecha.php')?> </td></tr></table> </div> <!-- contenido --> <br> <br> </td><td width="1" style="background: url('imagenes/clear_right.jpg');background-repeat:repeat-y;"><img src="imagenes/clear_right.jpg"></td> </tr> </table></div> </td> </tr> <tr> <td> <? include('footer.php');?> </td></tr> </table> </body> </html>
La línea: include izquierda.php llama al menu izquierda:
Código PHP:
Ver original
<!-- TABLA IZQUIERDA --> <div style="padding-top:37px;padding-right:5px;"> <? echo $top_tabla?>MENU PRINCIPAL<? echo $tabla_2?> MENU PRINCIPAL OPCIONES <? echo $tabla_3?> <? echo $top_tabla?>INGRESAR<? echo $tabla_2?><div align="center"> <? include('login.php');?></div> <? echo $tabla_3?></div> <!-- TABLA IZQUIERDA -->
Y por último la línea include login.php llama al login:
Código PHP:
Ver original
<?php $phpbb_root_path = '/home/audition/public_html/foro/'; // el path directo del servidor a phpbb3, varia algo dependiendo del servidor, si hay errores con esto en el mismo error sale el path correcto. $phpbb_url_path = 'http://auditiontown.net/foro/'; // la url hacia tu phpbb3 include($phpbb_root_path . 'common2.' . $phpEx); // incluimos el common.php que es muy importante para la bd $user->session_begin(); $auth->acl($user->data); if($user->data['is_registered']) { $dbms = 'mysqli'; $dbhost = 'localhost'; $dbport = ''; $dbname = '******'; $dbuser = '******'; $dbpasswd = '******'; $avvy = "SELECT * FROM phpbb_users WHERE user_id =" . $user->data['user_id']; { $link = $row['user_avatar']; $width = $row['user_avatar_width']; $height = $row['user_avatar_height']; }?> LOGEADO <?php } else { ?> LOGEATE <?php } ?>
Sé que el problema podria ser que la session se esta ejecutando despúes de un código HTML, pero he intentado acomodarlo y no he tenido éxito alguno.
Espero que alguien pueda ayudarme,
Gracias.