Foros del Web » Programando para Internet » PHP »

Les traigo mi duda extrañisima...

Estas en el tema de Les traigo mi duda extrañisima... en el foro de PHP en Foros del Web. Ok, estuve haciendo una vaina pa que se mostraran solo los usuarios online en el foro, tipo lista, como hacen muchas paginas hoy en dia, ...
  #1 (permalink)  
Antiguo 14/07/2004, 14:58
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
Les traigo mi duda extrañisima...

Ok, estuve haciendo una vaina pa que se mostraran solo los usuarios online en el foro, tipo lista, como hacen muchas paginas hoy en dia, la cuestion es que me funciono al fin, cuando modifique el archivo viewonline.php, y logre dejar solo los usuarios registrados online, al conectarte logras meterte y aparece en la vaina que logre hacer, depinga, pero me dice un error arriba que segun entiendo tiene más que ver con el diseño, dice lo siguiente:

Warning: Cannot modify header information - headers already sent by (output started at /home/metallic/public_html/foro/viewonline2.php:2) in /home/metallic/public_html/foro/includes/sessions.php on line 182

Warning: Cannot modify header information - headers already sent by (output started at /home/metallic/public_html/foro/viewonline2.php:2) in /home/metallic/public_html/foro/includes/sessions.php on line 183


Revise las lineas:

Código PHP:
setcookie($cookiename '_data'serialize($sessiondata), $current_time 31536000$cookiepath$cookiedomain$cookiesecure);
    
setcookie($cookiename '_sid'$session_id0$cookiepath$cookiedomain$cookiesecure); 
Y no se que carajo tiene que ver una cosa con la otra, pq tiene que aparecer ese error, o sea no afecta en nada la conexion de los usuarios pero se ve feo y me corre todo el espacio pa abajo y donde lo meta no se va a ver bien.

Por favor que alguien me de una ayudita si puede, gracias de antemano ;)...

http://www.metallica.com.ve/foro/viewonline2.php

Esa es la pagina donde deberia aparecer todo y para conectarse es del formulario de ingreso que ahi, donde te pide nick y pass, ustedes pongan mario de nick e igualmente mario de pass...pa que lo prueben...

Última edición por antichavez; 14/07/2004 a las 15:01
  #2 (permalink)  
Antiguo 14/07/2004, 15:13
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
El "problema" está en que haces alguna salida al navegador (HTML, por ejemplo) en la línea 2 de "foro/viewonline2.php"...
Busca en el foro y encontrarás muchos posts que te pueden dar la respuesta.
Si sólo te interesa ocultar los mensajes de error, puedes poner al inicio de tu script:
Código PHP:
error_reporting(~E_ALL
Saludos

Última edición por jpinedo; 14/07/2004 a las 15:15 Razón: faltó el "~"
  #3 (permalink)  
Antiguo 14/07/2004, 15:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
Oye, gracias por tu respuesta, si quiero quitar los mensajes de error pero cuando pongo eso ahora en la web me dice que esta dañada la linea 26:

Código PHP:
define('IN_PHPBB'true); 
Despues de haber puesto:

Código PHP:
<link href="viewonlinecss.css" rel="stylesheet" type="text/css"> 
 <?php 
error_reporting
(~E_ALL)
/***************************************************************************
  #4 (permalink)  
Antiguo 14/07/2004, 15:51
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
si estas usando el header("location: pagina") para redireccionar a otra pagina lo que puedes hacer es reemplazar dicha linea por un redireccionamiento javascript.
intentalo asi:
<script language="javascript1.2">
window.location = "http://misitio.com/pagina.htm";
</script>
  #5 (permalink)  
Antiguo 14/07/2004, 15:51
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
antes que nada actualiza tu foro phpbb ya que la version que usas tiene un bug grande de sql inyection y ademas pueden ver las contraseñas de tus usuarios.
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #6 (permalink)  
Antiguo 14/07/2004, 16:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
Ok, vean cual es mi problema, les muestro el view online original y despues el modificado:

1:

Código PHP:
<?php
/***************************************************************************
 *                              viewonline.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : [email][email protected][/email]
 *
 *   $Id: viewonline.php,v 1.54.2.2 2002/12/02 10:53:42 bartvb Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB'true);
$phpbb_root_path './';
include(
$phpbb_root_path 'extension.inc');
include(
$phpbb_root_path 'common.'.$phpEx);

//
// Start session management
//
$userdata session_pagestart($user_ipPAGE_VIEWONLINE);
init_userprefs($userdata);
//
// End session management
//

//
// Output page header and load viewonline template
//
$page_title $lang['Who_is_Online'];
include(
$phpbb_root_path 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
    
'body' => 'viewonline_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
    
'L_WHOSONLINE' => $lang['Who_is_online'],
    
'L_ONLINE_EXPLAIN' => $lang['Online_explain'],
    
'L_USERNAME' => $lang['Username'],
    
'L_FORUM_LOCATION' => $lang['Forum_Location'],
    
'L_LAST_UPDATE' => $lang['Last_updated'])
);

//
// Forum info
//
$sql "SELECT forum_name, forum_id
    FROM " 
FORUMS_TABLE;
if ( 
$result $db->sql_query($sql) )
{
    while( 
$row $db->sql_fetchrow($result) )
    {
        
$forum_data[$row['forum_id']] = $row['forum_name'];
    }
}
else
{
    
message_die(GENERAL_ERROR'Could not obtain user/online forums information'''__LINE____FILE__$sql);
}

//
// Get auth data
//
$is_auth_ary = array();
$is_auth_ary auth(AUTH_VIEWAUTH_LIST_ALL$userdata);

//
// Get user list
//
$sql "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip
    FROM "
.USERS_TABLE." u, ".SESSIONS_TABLE." s
    WHERE u.user_id = s.session_user_id
        AND s.session_time >= "
.( time() - 300 ) . "
    ORDER BY u.username ASC, s.session_ip ASC"
;
if ( !(
$result $db->sql_query($sql)) )
{
    
message_die(GENERAL_ERROR'Could not obtain regd user/online information'''__LINE____FILE__$sql);
}

$guest_users 0;
$registered_users 0;
$hidden_users 0;

$reg_counter 0;
$guest_counter 0;
$prev_user 0;
$prev_ip '';

while ( 
$row $db->sql_fetchrow($result) )
{
    
$view_online false;

    if ( 
$row['session_logged_in'] ) 
    {
        
$user_id $row['user_id'];

        if ( 
$user_id != $prev_user )
        {
            
$username $row['username'];

            
$style_color '';
            if ( 
$row['user_level'] == ADMIN )
            {
                
$username '<b style="color:#' $theme['fontcolor3'] . '">' $username '</b>';
            }
            else if ( 
$row['user_level'] == MOD )
            {
                
$username '<b style="color:#' $theme['fontcolor2'] . '">' $username '</b>';
            }

            if ( !
$row['user_allow_viewonline'] )
            {
                
$view_online = ( $userdata['user_level'] == ADMIN ) ? true false;
                
$hidden_users++;

                
$username '<i>' $username '</i>';
            }
            else
            {
                
$view_online true;
                
$registered_users++;
            }

            
$which_counter 'reg_counter';
            
$which_row 'reg_user_row';
            
$prev_user $user_id;
        }
    }
    else
    {
        if ( 
$row['session_ip'] != $prev_ip )
        {
            
$username $lang['Guest'];
            
$view_online true;
            
$guest_users++;
    
            
$which_counter 'guest_counter';
            
$which_row 'guest_user_row';
        }
    }

    
$prev_ip $row['session_ip'];

    if ( 
$view_online )
    {
        if ( 
$row['session_page'] < || !$is_auth_ary[$row['session_page']]['auth_view'] )
        {
            switch( 
$row['session_page'] )
            {
                case 
PAGE_INDEX:
                    
$location $lang['Forum_index'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_POSTING:
                    
$location $lang['Posting_message'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_LOGIN:
                    
$location $lang['Logging_on'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_SEARCH:
                    
$location $lang['Searching_forums'];
                    
$location_url "search.$phpEx";
                    break;
                case 
PAGE_PROFILE:
                    
$location $lang['Viewing_profile'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_VIEWONLINE:
                    
$location $lang['Viewing_online'];
                    
$location_url "viewonline.$phpEx";
                    break;
                case 
PAGE_VIEWMEMBERS:
                    
$location $lang['Viewing_member_list'];
                    
$location_url "memberlist.$phpEx";
                    break;
                case 
PAGE_PRIVMSGS:
                    
$location $lang['Viewing_priv_msgs'];
                    
$location_url "privmsg.$phpEx";
                    break;
                case 
PAGE_FAQ:
                    
$location $lang['Viewing_FAQ'];
                    
$location_url "faq.$phpEx";
                    break;
                default:
                    
$location $lang['Forum_index'];
                    
$location_url "index.$phpEx";
            }
        }
        else
        {
            
$location_url append_sid("viewforum.$phpEx?" POST_FORUM_URL '=' $row['session_page']);
            
$location $forum_data[$row['session_page']];
        }

        
$row_color = ( $$which_counter ) ? $theme['td_color1'] : $theme['td_color2'];
        
$row_class = ( $$which_counter ) ? $theme['td_class1'] : $theme['td_class2'];

        
$template->assign_block_vars("$which_row", array(
            
'ROW_COLOR' => '#' $row_color,
            
'ROW_CLASS' => $row_class,
            
'USERNAME' => $username,
            
'LASTUPDATE' => create_date($board_config['default_dateformat'], $row['session_time'], $board_config['board_timezone']),
            
'FORUM_LOCATION' => $location,

            
'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" POST_USERS_URL '=' $user_id),
            
'U_FORUM_LOCATION' => append_sid($location_url))
        );

        $
$which_counter++;
    }
}

if( 
$registered_users == )
{
    
$l_r_user_s $lang['Reg_users_zero_online'];
}
else if( 
$registered_users == )
{
    
$l_r_user_s $lang['Reg_user_online'];
}
else
{
    
$l_r_user_s $lang['Reg_users_online'];
}

if( 
$hidden_users == )
{
    
$l_h_user_s $lang['Hidden_users_zero_online'];
}
else if( 
$hidden_users == )
{
    
$l_h_user_s $lang['Hidden_user_online'];
}
else
{
    
$l_h_user_s $lang['Hidden_users_online'];
}

if( 
$guest_users == )
{
    
$l_g_user_s $lang['Guest_users_zero_online'];
}
else if( 
$guest_users == )
{
    
$l_g_user_s $lang['Guest_user_online'];
}
else
{
    
$l_g_user_s $lang['Guest_users_online'];
}

$template->assign_vars(array(
    
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s$registered_users) . sprintf($l_h_user_s$hidden_users), 
    
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s$guest_users))
);

if ( 
$registered_users $hidden_users == )
{
    
$template->assign_vars(array(
        
'L_NO_REGISTERED_USERS_BROWSING' => $lang['No_users_browsing'])
    );
}

if ( 
$guest_users == )
{
    
$template->assign_vars(array(
        
'L_NO_GUESTS_BROWSING' => $lang['No_users_browsing'])
    );
}

$template->pparse('body');

include(
$phpbb_root_path 'includes/page_tail.'.$phpEx);

?>
  #7 (permalink)  
Antiguo 14/07/2004, 16:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
2:

Código PHP:
<link href="viewonlinecss.css" rel="stylesheet" type="text/css"> 
 <?php 
/***************************************************************************
 *                              viewonline.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : [email][email protected][/email]
 *
 *   $Id: viewonline.php,v 1.54.2.2 2002/12/02 10:53:42 bartvb Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB'true); 
$phpbb_root_path './';
include(
$phpbb_root_path 'extension.inc');
include(
$phpbb_root_path 'common.'.$phpEx);
//

// Start session management
//
$userdata session_pagestart($user_ipPAGE_VIEWONLINE);
init_userprefs($userdata);

$page_title $lang['Who_is_Online'];
include(
$phpbb_root_path 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
    
'body' => 'viewonline_body2.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
    
'L_ONLINE_EXPLAIN' => $lang['Online_explain'],
    
'L_USERNAME' => $lang['Username'],
    
'L_LAST_UPDATE' => $lang['Last_updated'])
);

//
// Get auth data
//
$is_auth_ary = array();
$is_auth_ary auth(AUTH_VIEWAUTH_LIST_ALL$userdata);

//
// Get user list
//
$sql "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip
    FROM "
.USERS_TABLE." u, ".SESSIONS_TABLE." s
    WHERE u.user_id = s.session_user_id
        AND s.session_time >= "
.( time() - 300 ) . "
    ORDER BY u.username ASC, s.session_ip ASC"
;
if ( !(
$result $db->sql_query($sql)) )
{
    
message_die(GENERAL_ERROR'Could not obtain regd user/online information'''__LINE____FILE__$sql);
}

$guest_users 0;
$registered_users 0;
$hidden_users 0;

$reg_counter 0;
$guest_counter 0;
$prev_user 0;
$prev_ip '';

while ( 
$row $db->sql_fetchrow($result) )
{
    
$view_online false;

    if ( 
$row['session_logged_in'] ) 
    {
        
$user_id $row['user_id'];

        if ( 
$user_id != $prev_user )
        {
            
$username $row['username'];

            
$style_color '';
            if ( 
$row['user_level'] == ADMIN )
            {
                
$username '<b style="color:#' $theme['fontcolor3'] . '">' $username '</b>';
            }
            else if ( 
$row['user_level'] == MOD )
            {
                
$username '<b style="color:#' $theme['fontcolor2'] . '">' $username '</b>';
            }

            if ( !
$row['user_allow_viewonline'] )
            {
                
$view_online = ( $userdata['user_level'] == ADMIN ) ? true false;
                
$hidden_users++;

                
$username '<i>' $username '</i>';
            }
            else
            {
                
$view_online true;
                
$registered_users++;
            }

            
$which_counter 'reg_counter';
            
$which_row 'reg_user_row';
            
$prev_user $user_id;
        }
    }
    else
    {
        if ( 
$row['session_ip'] != $prev_ip )
        {
            
$username $lang['Guest'];
            
$view_online true;
            
$guest_users++;
    
            
$which_counter 'guest_counter';
            
$which_row 'guest_user_row';
        }
    }

    
$prev_ip $row['session_ip'];

    if ( 
$view_online )
    {
        if ( 
$row['session_page'] < || !$is_auth_ary[$row['session_page']]['auth_view'] )
        {
            switch( 
$row['session_page'] )
            {
                case 
PAGE_INDEX:
                    
$location $lang['Forum_index'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_POSTING:
                    
$location $lang['Posting_message'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_LOGIN:
                    
$location $lang['Logging_on'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_SEARCH:
                    
$location $lang['Searching_forums'];
                    
$location_url "search.$phpEx";
                    break;
                case 
PAGE_PROFILE:
                    
$location $lang['Viewing_profile'];
                    
$location_url "index.$phpEx";
                    break;
                case 
PAGE_VIEWONLINE:
                    
$location $lang['Viewing_online'];
                    
$location_url "viewonline.$phpEx";
                    break;
                case 
PAGE_VIEWMEMBERS:
                    
$location $lang['Viewing_member_list'];
                    
$location_url "memberlist.$phpEx";
                    break;
                case 
PAGE_PRIVMSGS:
                    
$location $lang['Viewing_priv_msgs'];
                    
$location_url "privmsg.$phpEx";
                    break;
                case 
PAGE_FAQ:
                    
$location $lang['Viewing_FAQ'];
                    
$location_url "faq.$phpEx";
                    break;
                default:
                    
$location $lang['Forum_index'];
                    
$location_url "index.$phpEx";
            }
        }
        else
        {
            
        }

        
$row_color = ( $$which_counter ) ? $theme['td_color1'] : $theme['td_color2'];
        
$row_class = ( $$which_counter ) ? $theme['td_class1'] : $theme['td_class2'];

        
$template->assign_block_vars("$which_row", array(
            
'ROW_COLOR' => '#' $row_color,
            
'ROW_CLASS' => $row_class,
            
'USERNAME' => $username,
            
'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" POST_USERS_URL '=' $user_id),
            
'U_FORUM_LOCATION' => append_sid($location_url))
        );

        $
$which_counter++;
    }
}

if( 
$registered_users == )
{
    
$l_r_user_s $lang['Reg_users_zero_online'];
}
else if( 
$registered_users == )
{
    
$l_r_user_s $lang['Reg_user_online'];
}
else
{
    
$l_r_user_s $lang['Reg_users_online'];
}

if( 
$hidden_users == )
{
    
$l_h_user_s $lang['Hidden_users_zero_online'];
}
else if( 
$hidden_users == )
{
    
$l_h_user_s $lang['Hidden_user_online'];
}
else
{
    
$l_h_user_s $lang['Hidden_users_online'];
}

$template->assign_vars(array(
        
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s))
);

if ( 
$registered_users $hidden_users == )
{
    
$template->assign_vars(array(
        
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s))
    );
}

{
    
$template->assign_vars(array(
        
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s))
    );
}

$template->pparse('body');


?>
  #8 (permalink)  
Antiguo 14/07/2004, 16:17
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
creo que metiste la pata, mira en el modificado incluyes una linea al inicio(Linea 1):
<link href="viewonlinecss.css" rel="stylesheet" type="text/css">

eso se podria considerarse como salida html y el problema es que no puedes mandar salidas html y usar la funcion headers(), posiblemente estas usando dicha suncion en alguno de los scripts que incluyes(extension.inc,common.'.$phpEx, page_header.'.$phpEx) me imagino que es el ultimo, bueno para no hacertela larga, elimina cualquier caracter que este antes del primer <?php
Puedes mover la primera linea(<link href="viewonlinecss.css" rel="stylesheet" type="text/css"> ) al final
  #9 (permalink)  
Antiguo 14/07/2004, 16:41
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
En algo se tenia razon, y es que al cambiar el diseño de la hoja en algun aspecto con css o color, se descoñeta todo...

Nueva duda:

Como hago para cambiar el diseño sin que se dañe???...me habla del page header...pero no sabri que hacer, pq yo lo borre de las lineas, ya que si lo pongo me agrega el header del foro y yo quiero que tenga nada, a menos no se...que pasaria si modifico el header y en vez de llamar a ese header llamo a otro vacio (el modificado de tal manera de que no tenga nada). Ustedes creen que funcionaria???...llamar con el include.

Última edición por antichavez; 14/07/2004 a las 16:43
  #10 (permalink)  
Antiguo 14/07/2004, 16:49
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
el problema es que lo mandas cabezeras(headers) despues de haber mandado la linea del css, si quitas la linea esa te queda sin formato la pagina pero lo que habia sugerido era que la movieras mas abajo por lo menos despues de donde incluyes archivos que utilizan la funcion header:
yo lo dejaria asi:

[PHP]
<?php
/************************************************** *************************
* viewonline.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : [email protected]
*
* $Id: viewonline.php,v 1.54.2.2 2002/12/02 10:53:42 bartvb Exp $
*
*
************************************************** *************************/

/************************************************** *************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
************************************************** *************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//

// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_VIEWONLINE);
init_userprefs($userdata);

$page_title = $lang['Who_is_Online'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
'body' => 'viewonline_body2.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
'L_ONLINE_EXPLAIN' => $lang['Online_explain'],
'L_USERNAME' => $lang['Username'],
'L_LAST_UPDATE' => $lang['Last_updated'])
);

//
// Get auth data
//
$is_auth_ary = array();
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);

?>
<link href="viewonlinecss.css" rel="stylesheet" type="text/css">
<?
//
// Get user list
//
$sql = "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
ORDER BY u.username ASC, s.session_ip ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain regd user/online information', '', __LINE__, __FILE__, $sql);
}

$guest_users = 0;
$registered_users = 0;
$hidden_users = 0;

$reg_counter = 0;
$guest_counter = 0;
$prev_user = 0;
$prev_ip = '';

while ( $row = $db->sql_fetchrow($result) )
{
$view_online = false;

if ( $row['session_logged_in'] )
{
$user_id = $row['user_id'];

if ( $user_id != $prev_user )
{
$username = $row['username'];

$style_color = '';
if ( $row['user_level'] == ADMIN )
{
$username = '<b style="color:#' . $theme['fontcolor3'] . '">' . $username . '</b>';
}
else if ( $row['user_level'] == MOD )
{
$username = '<b style="color:#' . $theme['fontcolor2'] . '">' . $username . '</b>';
}

if ( !$row['user_allow_viewonline'] )
{
$view_online = ( $userdata['user_level'] == ADMIN ) ? true : false;
$hidden_users++;

$username = '<i>' . $username . '</i>';
}
else
{
$view_online = true;
$registered_users++;
}

$which_counter = 'reg_counter';
$which_row = 'reg_user_row';
$prev_user = $user_id;
}
}
else
{
if ( $row['session_ip'] != $prev_ip )
{
$username = $lang['Guest'];
$view_online = true;
$guest_users++;

$which_counter = 'guest_counter';
$which_row = 'guest_user_row';
}
}

$prev_ip = $row['session_ip'];

if ( $view_online )
{
if ( $row['session_page'] < 1 || !$is_auth_ary[$row['session_page']]['auth_view'] )
{
switch( $row['session_page'] )
{
case PAGE_INDEX:
$location = $lang['Forum_index'];
$location_url = "index.$phpEx";
break;
case PAGE_POSTING:
$location = $lang['Posting_message'];
$location_url = "index.$phpEx";
break;
case PAGE_LOGIN:
$location = $lang['Logging_on'];
$location_url = "index.$phpEx";
break;
case PAGE_SEARCH:
$location = $lang['Searching_forums'];
$location_url = "search.$phpEx";
break;
case PAGE_PROFILE:
$location = $lang['Viewing_profile'];
$location_url = "index.$phpEx";
break;
case PAGE_VIEWONLINE:
$location = $lang['Viewing_online'];
$location_url = "viewonline.$phpEx";
break;
case PAGE_VIEWMEMBERS:
$location = $lang['Viewing_member_list'];
$location_url = "memberlist.$phpEx";
break;
case PAGE_PRIVMSGS:
$location = $lang['Viewing_priv_msgs'];
$location_url = "privmsg.$phpEx";
break;
case PAGE_FAQ:
$location = $lang['Viewing_FAQ'];
$location_url = "faq.$phpEx";
break;
default:
$location = $lang['Forum_index'];
$location_url = "index.$phpEx";
}
}
else
{

}

$row_color = ( $$which_counter % 2 ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( $$which_counter % 2 ) ? $theme['td_class1'] : $theme['td_class2'];

$template->assign_block_vars("$which_row", array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'USERNAME' => $username,
'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '=' . $user_id),
'U_FORUM_LOCATION' => append_sid($location_url))
);

$$which_counter++;
}
}

if( $registered_users == 0 )
{
$l_r_user_s = $lang['Reg_users_zero_online'];
}
else if( $registered_users == 1 )
{
$l_r_user_s = $lang['Reg_user_online'];
}
else
{
$l_r_user_s = $lang['Reg_users_online'];
}

if( $hidden_users == 0 )
{
$l_h_user_s = $lang['Hidden_users_zero_online'];
}
else if( $hidden_users == 1 )
{
$l_h_user_s = $lang['Hidden_user_online'];
}
else
{
$l_h_user_s = $lang['Hidden_users_online'];
}

$template->assign_vars(array(
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s))
);

if ( $registered_users + $hidden_users == 0 )
{
$template->assign_vars(array(
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s))
);
}

{
$template->assign_vars(array(
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s))
);
}

$template->pparse('body');


?>

[/HP]
  #11 (permalink)  
Antiguo 14/07/2004, 16:53
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
siempre me dice lo mismo ayudenme!!! no aguanto!
  #12 (permalink)  
Antiguo 14/07/2004, 16:54
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
yo se ya lo intente pero nada de nada
  #13 (permalink)  
Antiguo 14/07/2004, 17:09
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
Bueno, solucione por eliminar esas lineas que me decia que andaban mal...y ahora me funciona, ahora lo que les pregunto es si eso me puede dañar algo mas???...

Código PHP:
    setcookie($cookiename '_data'serialize($sessiondata), $current_time 31536000$cookiepath$cookiedomain$cookiesecure);
    
setcookie($cookiename '_sid'$session_id0$cookiepath$cookiedomain$cookiesecure); 
Estas son las lineas, ustedes creen que me afecten algo que no sepa?...Bueno pero ahora sirve eso es lo bueno...

Última edición por antichavez; 14/07/2004 a las 17:11
  #14 (permalink)  
Antiguo 14/07/2004, 17:15
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
claro que afecta, eso va a probocar que nose defincan las 2 cookies, parece que no entendiste, la solucion esta en que omitas cualquier salida al navegador hasta que ya hallas terminado de trabajar con los headers, cookies inbolucra headers. bueno si pudieras poner la linea del css despues de las lineas de los cookies, headers() y demas creo que estaria solucionado el problema. un saludo
  #15 (permalink)  
Antiguo 14/07/2004, 17:18
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
Pero funciona a la perfeccion ahora esta mierdita, se conectan los usuarios y nada pasa...pero igual especificame que quieres decir con defincan???...y gracias a toditos de una...

espero tu respuesta...
  #16 (permalink)  
Antiguo 14/07/2004, 17:18
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
A ver... parece que no buscaste en el foro.
Si vas a utilizar funciones de manejo/envío de cabeceras como header() o setcookie()... no puede haber ninguna salida al navegador antes de la línea que contenga el setcookie(). Tú estás escribiendo una línea de HTML al comienzo.

Lo mejor es que pongas esa línea en el archivo que tiene el HTML que se genera. No conozco bien los phpBB, pero debe haber algún motor de templates donde están las cabeceras HTML: <HTML><HEAD>... etc
Busca ese archivo y escribe ahí esa línea.

Lo mejor sería que hicieses un nuevo Template, pero por ahora puede quedar así.

Saludos
  #17 (permalink)  
Antiguo 14/07/2004, 17:20
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
correccion era: definan
palabra erronea: defincan
  #18 (permalink)  
Antiguo 14/07/2004, 17:25
 
Fecha de Ingreso: noviembre-2003
Ubicación: Venezuela
Mensajes: 344
Antigüedad: 20 años, 5 meses
Puntos: 0
Bueno, me funciona bien, pero ahora me estan asustando...en el futuro eso me puede afectar de alguna manera al resto del foro???, pq yo modifique el archivo sessions, bueno ahora funciona de pinga despues de que borre esas dos lineas...espero que no suceda nada desapercibido, pero gracias, cualquier cosa la repongo ejejej despues...gracias por su ayuda...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:49.