¿Cómo mostrar los usuarios online y los usuarios totales en un header de un Theme con PhpNuke?

Que tal a todos los expertos.
Bueno mi pregunta va dirigida a temas relacionados con PhpNuke, creo que conocidos por todos. Tengo un sitio web el cual esta funcionado perfecto, pero estos últimos días se me ha ocurrido cambiarle el Theme por lo tanto me puse a crearle uno, muy bueno esta quedando muy bueno, pero se me presento un obstáculo al momento de la programación de ciertas pautas del theme; sobre php y mysql lo básico en mi cerebro hay, por lo tanto debo recurrir a manuales, tutoriales o a esto a hacer preguntas. Mi pregunta es:
Tengo un header hecho, el cual una parte es Usuarios Online, y Usuarios Totales en los cuales quiero que muestre un valor. Estuve revisando el que muestra estos valores por defecto el cual es un bloque y contiene estas variables las cuales supuse que muestran estos datos que son $miembros_conectados y $total, pero al momento de ponerlas en marcha en el header simplemente no mostraba nada.
Se que puede ser algo ignorante la pregunta pero bueno prefiero preguntar antes que quedarme con las ganas de hacerlo.
Si por alguna de esas alguien conoce como puedo lograr mostrar esos datos en el header le agradezco mucho.
Atentamente. Juan

1 Respuesta

Respuesta
1
¿No te muestra nada? O en los lugares que quieres que salga eso te sale, por ejemplo, "$¿miembros_conectados"?
No he visto el código completo donde colocaste esas variables, pero para que te lo muestre en el caso de que hayas pasado por alto esto, es el siguiente segmento de código:
<? echo $miembros_conectados;?>
Eso que está resaltado con negrita, te indica que muestre ese valor en el lugar que quieras dentro de la página.
Si no es ese el problema, me avisas y vemos que otra cosa puede ser.
Primero que nada muchas gracias por la respuesta, bueno lo tenia casi como me decías tu
<? echo $miembros_conectados;?> me faltaba el ; pero igualmente no funciono, al mirarlo en la web desaparece, mirando el codigo fuente lo unico que queda es <? echo    ;?>
El código es sencillo es una imagen con un div en una cierta posición de la imagen donde dice usuarios conectados y total.
¿Cómo dato para tal ves puedas ayudarme, $miembros_conectados lo tome de un archivo aparte llamado block_usuarios.php no se si sirve de algo el dato; no tengo mucho conocimiento pero no habría que hacer una especie de include? ¿Por qué osea $miembros_conectados funciona con una query verdad a la db y la sentencia no tendría que estar presente? Tengo un enredo, disculpa las molestias. A ver si con eso que te dije te da alguna idea. Muchas gracias por tu tiempo.
Juan
Si a $miembros_conectados lo tienes en el archivo block_usuario.php, entonces si o si deberías incluirlo dentro de la página donde lo solicitas.
Para ello deberías colocar esta sentencia:
<? include ('block_usuario.php');?>
Si el archivo no se encuentra en la misma carpeta, deberías colocar la dirección de la carpeta donde se encuentra.
Si el problema persiste, deberíamos ver más a fondo el código para ver donde puede estar el error.
Que tal nuevamente, lamentablemente no ah funcionado tampoco algo debo de estar haciendo mal.
Si así te parece a ti que podrías ayudarme dime que códigos quieres que te copie, que los copio aquí mismo.
Gracias.
Juan
PD: agradezco tu atención enormemente.
No hay problema. Estoy para ayudar en lo que pueda.
Con respecto al código, deberías colocar las partes donde haces referencia a la variable $miembros_conectados, para ver si hay algún error en la escritura, como también necesito saber de donde traes esa información desde el otro archivo.
El valor de $miembros_conectados, ¿Lo calculas a través de una función?
Me gustaría ver también de donde traes ese valor.
Bien te pego el código del block_menu, porque se repite en muchos lugares el $miembros_conectados, por lo tanto no se que parte pegarte. En cuanto a que tenga error no creo que sea eso porque esta funcionando en el bloque correspondiente. Lo único que estoy errandole es a como citarlo para que funcione en el header. Que pienso según lo que me has dicho que viene del lado de llamarlo para que funcione. Tal ves tu te puedas fijar te dejo el código de donde proviene el $miembros_conetcados.
_________________________________________________________________________
<?php
if(!defined('NUKE_ET')){
    Header("Location: ../error.php?op=e404");
    die();
}
global $user, $userinfo, $module_name, $startdate, $cookie, $prefix, $user_prefix, $db, $admin, $anonymous, $ora, $sitekey, $oral, $gfx_chk, $google_tap;
$limite_reg = 0; // nmero usuarios a mostrar en ultimos registrados, 0 para no mostrar
$scroll = 10; //usuarios minimos para que muestre los conectados en scroll
$mostrar_scroll = 1; // 1 para mostrar la lista de conectados, 0 para no mostrarla
$pais = 1; // 1 mostrar pais del usuario registrado, 0 no. Informacion extraida de su perfil.
$sexo = 0; // 1 mostrar sexo del usuario registrado, 0 no. Informacion extraida de su perfil.
$usar_union = 1; // poner a 0 para que no use los UNION ALL
$content = "";
list($avatar_sit) = $db->sql_fetchrow($db->sql_query("Select avatar_sit from ".$user_prefix."_users_conf"));
$uname = $cookie[1];
$row = $db->sql_fetchrow($db->sql_query("SELECT username,user_id FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' ORDER BY user_id DESC LIMIT 0,1"));
$ultimo = $row['username'];
$ultimo_id = $row['user_id'];
//Usuarios registrados
$date1 = date("Y",$ora);
$date2 = date("n",$ora);
$date3 = date("j",$ora);
$minhoy = mktime(0,0,0,$date2,$date3,$date1);
//Buscando registrados hoy
$date4 = date("Y",$oral);
$date5 = date("n",$oral);
$date6 = date("j",$oral);
$minayer = mktime(0,0,0,$date5,$date6,$date4);
if (is_user($user)) {
cookiedecode($user);
$userinfo = getusrinfo($user);
$uid = $userinfo['user_id'];
    if($usar_union==1){
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' AND user_regdate >= '$minhoy' UNION ALL SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' AND user_regdate >= '$minayer' AND user_regdate < '$minhoy' UNION ALL SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' UNION ALL SELECT COUNT(priv_id) AS cont FROM ".$prefix."_mens_privados WHERE enviado_a='$uid' AND (estado='5' OR estado='1') UNION ALL SELECT COUNT(priv_id) AS cont FROM ".$prefix."_mens_privados WHERE enviado_a='$uid' AND (estado='0' OR estado='2') UNION ALL SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=0 UNION ALL SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=1";
        $a=0;
        $result = $db->sql_query($sql);
        while(list($cont) = $db->sql_fetchrow($result)){
            if($a=='0') $reghoy = intval($cont);
            if($a=='1') $regayer = intval($cont);
            if($a=='2') $total = intval($cont);
            if($a=='3') $newpms = intval($cont);
            if($a=='4') $oldpms = intval($cont);
            if($a=='5') $miembros_conectados = intval($cont);
            if($a=='6') $anonimos_conectados = intval($cont);
        $a++;
        }
        $db->sql_freeresult($result);
    }else{
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' AND user_regdate >= '$minhoy'";
        $result = $db->sql_query($sql);
        list($reghoy) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' AND user_regdate >= '$minayer' AND user_regdate < '$minhoy'";
        $result = $db->sql_query($sql);
        list($regayer) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%'";
        $result = $db->sql_query($sql);
        list($total) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(priv_id) AS cont FROM ".$prefix."_mens_privados WHERE enviado_a='$uid' AND (estado='5' OR estado='1')";
        $result = $db->sql_query($sql);
        list($newpms) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(priv_id) AS cont FROM ".$prefix."_mens_privados WHERE enviado_a='$uid' AND (estado='0' OR estado='2')";
        $result = $db->sql_query($sql);
        list($oldpms) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=0";
        $result = $db->sql_query($sql);
        list($miembros_conectados) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=1";
        $result = $db->sql_query($sql);
        list($anonimos_conectados) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
    }
    $user_avatar = $userinfo['user_avatar'];
    if (!eregi("http://", $user_avatar)) {
       $avatar = "<img src=\"$avatar_sit$user_avatar\">";
    }else{
       $avatar = "<img src=\"$user_avatar\">";
    }
    $content .= "<center>$avatar<br><b>$uname</b><br><a href=\"modules.php?name=Your_Account&op=logout\">"._LOGOUT."</a></center>\n
<hr>
\n";
    $content .= "<img src=\"images/blocks/email-y.gif\" height=\"10\" width=\"14\"> <a href=\"modules.php?name=Mensajes_Privados\"><b>"._BPM."</b></a><br>\n";
    $content .= "<img src=\"images/blocks/email-r.gif\" height=\"10\" width=\"14\"> "._BUNREAD.": <b>$newpms</b><br>\n";
    $content .= "<img src=\"images/blocks/email-g.gif\" height=\"10\" width=\"14\"> "._BREAD.": <b>$oldpms</b><br>\n
<hr>
\n";
} else {
    if($usar_union==1){
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE user_regdate >= '$minhoy' UNION ALL SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE user_regdate >= '$minayer' AND user_regdate < '$minhoy' UNION ALL SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users UNION ALL SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=0 UNION ALL SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=1";
        $a=0;
        $result = $db->sql_query($sql);
        while(list($cont) = $db->sql_fetchrow($result)){
            if($a=='0') $reghoy = intval($cont);
            if($a=='1') $regayer = intval($cont);
            if($a=='2') $total = intval($cont);
            if($a=='3') $miembros_conectados = intval($cont);
            if($a=='4') $anonimos_conectados = intval($cont);
        $a++;
        }
        $db->sql_freeresult($result);
    }else{
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' AND user_regdate >= '$minhoy'";
        $result = $db->sql_query($sql);
        list($reghoy) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%' AND user_regdate >= '$minayer' AND user_regdate < '$minhoy'";
        $result = $db->sql_query($sql);
        list($regayer) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(user_id) AS cont FROM ".$user_prefix."_users WHERE username NOT LIKE 'eliminado-%'";
        $result = $db->sql_query($sql);
        list($total) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=0";
        $result = $db->sql_query($sql);
        list($miembros_conectados) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        $sql = "SELECT COUNT(uname) AS cont FROM ".$prefix."_session WHERE guest=1";
        $result = $db->sql_query($sql);
        list($anonimos_conectados) = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
    }
    $random_num = mt_rand(0, 1000000);
    $avatar = "blank.gif";
    $content .= '<br><center><img src="'.$avatar_sit.$avatar.'"><br><b>'.$anonymous.'</b>
<hr>
<form name="login_form" action="modules.php?name=Your_Account" method="post">
    <br>
    <input type="text" name="username" size="10" maxlength="25" value="'._NICKNAME.'" onFocus="document.login_form.username.value=\'\'"><br>
    <br>
    <input type="password" name="user_password" size="10" maxlength="20" value="'._PASSWORD.'" onFocus="document.login_form.user_password.value=\'\'"><br>';
        if (extension_loaded("gd") AND ($gfx_chk == 2 OR $gfx_chk == 4 OR $gfx_chk == 5 OR $gfx_chk == 7)) {
                $content .= ""._SECURITYCODE."<br><img src='error.php?op=gfx&random_num=$random_num' border='1' alt='"._SECURITYCODE."' title='"._SECURITYCODE."'><br>\n";
       $content .= ""._TYPESECCODE."<br><input type=\"text\" NAME=\"gfx_check\" SIZE=\"7\" MAXLENGTH=\"6\">\n";
                $content .= "<input type=\"hidden\" name=\"random_num\" value=\"$random_num\"><br>\n";
        } else {
         $datekey = date("F j");
         $rcode = hexdec(md5($_SERVER[HTTP_USER_AGENT] . $sitekey . $random_num . $datekey));
         $code = substr($rcode, 2, 6);        
                $content .= "<input type=\"hidden\" name=\"random_num\" value=\"$random_num\">";
                $content .= "<input type=\"hidden\" name=\"gfx_check\" value=\"$code\">";
        }
    $content .= "<input type=\"checkbox\" name=\"recuerda\" value=\"1\"> Recordar<br>";
    $content .= "<input type=\"hidden\" name=\"op\" value=\"login\">";
    $content .= "<input type=\"submit\" value=\""._LOGIN."\">\n<br>(<a href=\"modules.php?name=Your_Account&file=registro\">"._BREG."</a>)</form>
<hr>
</center>";
}
$content .= "<img src=\"images/blocks/group-2.gif\" height=\"14\" width=\"17\"> <A HREF=\"modules.php?name=Lista_Usuarios\"><b><u>"._BMEMP.":</u></b><br></a>\n";
$content .= "<img src=\"images/blocks/ur-moderator.gif\" height=\"14\" width=\"17\"> "._BLATEST.": <A HREF=\"modules.php?name=Your_Account&file=informacion&user_id=$ultimo_id\"><b>$ultimo</b></a><br>\n";
$content .= "<img src=\"images/blocks/ur-author.gif\" height=\"14\" width=\"17\"> "._BTD.": <b>$reghoy</b><br>\n";
$content .= "<img src=\"images/blocks/ur-admin.gif\" height=\"14\" width=\"17\"> "._BYD.": <b>$regayer</b><br>\n";
$content .= "<img src=\"images/blocks/ur-guest.gif\" height=\"14\" width=\"17\"> "._BOVER.": <b>$total</b><br>\n\n";
//Ultimos registrados
if($limite_reg > '0'){
$content .= "<img src=\"images/blocks/ur-admin.gif\" height=\"14\" width=\"17\"> "._BLASTUSERS.": \n\n";
$resultado = $db->sql_query("SELECT username,user_id FROM ".$user_prefix."_users ORDER BY user_id DESC LIMIT 0,$limite_reg");
$content .= "<Marquee Direction=\"$scroll_dir\" ScrollAmount=\"1\" ScrollDelay=\"100\" onMouseOver=\"this.stop()\" onMouseOut=\"this.start()\">\n";
while($lista_last = $db->sql_fetchrow($resultado)){
$user_ultimos = $lista_last['username'];
$user_ultimos_id = $lista_last['user_id'];
$content .= "<a href=\"modules.php?name=Your_Account&file=informacion&user_id=$user_ultimos_id\">$user_ultimos</a> ";
}
$content .= "</Marquee>\n
<hr>
";
}
//Fin ltimos registrados
$content .= "<img src=\"images/blocks/group-3.gif\" height=\"14\" width=\"17\"> <b><u>"._BVISIT.":</u></b>\n<br></a>\n";
//Porcentajes
$conectados = $miembros_conectados + $anonimos_conectados;
if($conectados==0){ $conectados=1; $miembros_conectados=1; }
$pmi=($miembros_conectados/$conectados)*100; $pmi = number_format($pmi, 0);
$pvi=($anonimos_conectados/$conectados)*100; $pvi = number_format($pvi, 0);
//Fin porcentajes
$content .= "<img src=\"images/blocks/ur-anony.gif\" height=\"14\" width=\"17\"> "._BVIS.": <b>$anonimos_conectados</b> ($pvi%)<br>\n";
$content .= "<img src=\"images/blocks/ur-member.gif\" height=\"14\" width=\"17\"> "._BMEM.": <b>$miembros_conectados</b> ($pmi%)<br>\n";
$content .= "<img src=\"images/blocks/ur-registered.gif\" height=\"14\" width=\"17\"> "._BTT.": <b>$conectados</b><br>\n";
if($mostrar_scroll=='1'){
$sql = "SELECT a.uname, a.guest, a.host_addr, a.donde, a.dir, b.user_id, b.user_level, b.pais, b.sexo FROM ".$prefix."_session AS a LEFT JOIN ".$user_prefix."_users AS b ON b.username=a.uname order by a.uname";
$result = $db->sql_query($sql) or die(mysql_error());
$numero_online = $db->sql_numrows($result);
$i = 1;
$ii = 1;
$conectados_ahora = "";
$anonimos_ahora = "";
if($numero_online > '0'){
while ($session = $db->sql_fetchrow($result)) {
    if (isset($session["guest"]) and $session["guest"] == 0) {
        if ($i < 10) {$i = "0$i";}
        $conectados_ahora .= "$i:";
        if($session[pais]=='') $session[pais] = 'sin_pais';
        if($pais=='1') $conectados_ahora .= ' <img src="modules/Your_Account/paises/'.$session[pais].'.gif" alt="" title="">';
        if($sexo=='1'){
            $conectados_ahora .= ' <img src="';
                if($session[sexo]=='0'){
                    $conectados_ahora .= 'images/hombre.gif" alt="Var&#243;n" title="Var&#243;n"';
                }else{
                    $conectados_ahora .= 'images/mujer.gif" alt="Mujer" title="Mujer"';
                }
            $conectados_ahora .= '>';
        }
    $conectados_ahora .= " <a href=\"modules.php?name=Your_Account&file=informacion&user_id=$session[user_id]\" title=\"Navegando por $session[donde] ";
        if(is_admin($admin)){$conectados_ahora .= "- $session[host_addr]";}
        $conectados_ahora .= "\">$session[uname]</a>";
        if($session[user_level]==2){$conectados_ahora .= "<img src=\"images/admin.gif\">";}
    if($session[user_level]==3){$conectados_ahora .= "<img src=\"images/mod.gif\">";}
        if(is_admin($admin) AND ($session[dir]=="1")){$conectados_ahora .= "<a href=\"admin.php?op=banip_add&banip=$session[host_addr]\" title=\"Banea al usuario\"><img src=\"images/ban.gif\" border=0></a>";}
        $conectados_ahora .= "<br>\n";
        $i++;
    }
    if (isset($session["guest"]) and $session["guest"] == 1) {
        if ($ii < 10) {$ii = "0$ii";}
        if(is_admin($admin)){
        $anonimos_ahora .= "$ii: <a title=\"Navegando por $session[donde]\">$session[host_addr]</a>";
        if($session[dir]=="1"){$anonimos_ahora .= "<a href=\"admin.php?op=banip_add&banip=$session[host_addr]\"><img src=\"images/ban.gif\" border=0></a>";}
        $anonimos_ahora .= "<br>";
        }else{
        $anonimos_ahora .= "$ii: <a title=\"Navegando por $session[donde]\">Visitante</a><br>";
        }
        $ii++;
    }
}
}
$db->sql_freeresult($result);
if($numero_online > '0'){
$content .= "
<hr>
\n<img src=\"images/blocks/group-1.gif\" height=\"14\" width=\"17\"> <A HREF=\"modules.php?name=Gente_Online\"><b><u>"._BON.":</u></b><br></a>";
}
if($conectados_ahora=='' && $miembros_conectados==1){
   $conectados_ahora = "01:";
      if($userinfo[pais]=='') $userinfo[pais] = 'sin_pais';
      if($pais=='1') $conectados_ahora .= ' <img src="modules/Your_Account/paises/'.$userinfo[pais].'.gif" alt="" title="">';
      if($sexo=='1'){
         $conectados_ahora .= ' <img src="';
            if($userinfo[sexo]=='0'){
               $conectados_ahora .= 'images/hombre.gif" alt="Varón" title="Varón"';
            }else{
               $conectados_ahora .= 'images/mujer.gif" alt="Mujer" title="Mujer"';
            }
         $conectados_ahora .= '>';
      }
   $conectados_ahora .= " <a href=\"modules.php?name=Your_Account&file=informacion&user_id=$userinfo[user_id]\" title=\"\">$userinfo[uname]</a>";
        if($userinfo[user_level]==2){$conectados_ahora .= "<img src=\"images/admin.gif\">";}
   if($userinfo[user_level]==3){$conectados_ahora .= "<img src=\"images/mod.gif\">";}
        $conectados_ahora .= "<br>\n";
}
    if ($conectados_ahora != '') {
        if($miembros_conectados >= $scroll){
        $content .= "<b>"._BON2."</b><br><Marquee Direction=\"up\" ScrollAmount=\"1\" ScrollDelay=\"100\" onMouseOver=\"this.stop()\" onMouseOut=\"this.start()\">\n";
        $content .= "$conectados_ahora</Marquee>";
        }else{
            $content .= "<b>"._BON2."</b><br>$conectados_ahora";
        }
    }
    if($anonimos_ahora != ''){
      if($miembros_conectados >= $scroll){
      $content .= "<b>"._BON3."</b><br><Marquee Direction=\"up\" ScrollAmount=\"1\" ScrollDelay=\"100\" onMouseOver=\"this.stop()\" onMouseOut=\"this.start()\">\n";
        $content .= "$anonimos_ahora</Marquee>";
        }else{
        $content .= "<b>"._BON3."</b><br>$anonimos_ahora";
        }
    }
}
if($google_tap==1){
    $content = str_replace("&","&", $content);
    $urlin = array(
    "'(?<!/)modules.php\?name=Your_Account&file=informacion&user_id=([0-9]*)'",
    "'(?<!/)modules.php\?name=Your_Account&file=registro'",
    "'(?<!/)modules.php\?name=Mensajes_Privados'",
    "'(?<!/)modules.php\?name=Your_Account&op=logout'",
    "'(?<!/)modules.php\?name=Your_Account'"
    );
    $urlout = array(
    "userinfo-\\1.html",
"accountfile-registro.html",
"privados.html",
"account-logout.html",
"account.html"
    );
    $content = preg_replace($urlin, $urlout, $content);
}
?>
_________________________________________________________________________
PD: ¿Tal ves también se pueda repetir la función de la query en la db para no citar ya que podría llegar a hacer entrevero con las demás variables o no? ¿Tu qué opinas? Te dejo a tu disposición y sabiduría. Nuevamente mil gracias !
Ahora te molesto una vez más. Te pido que me muestres solo la parte del header donde quieres mostrar ese valor. Y también la parte donde haces referencia a el archivo block_menu.php.
Si dices que ahí no tienes problemas, entonces debe ser un simple error de referencias en la otra página.
Espero podamos dar con la solución de una vez por todas.
Bueno que tal nuevamente.
El header seria así. Cree una imagen más sencilla pero digamos que es igual para que se entendiera mejor, el código es el mismo; bien sencillo. Esta en un archivo .php (header.php) me pareció que era necesario ya que phpnuke por defecto trae un header.html, pero necesito el php para poder utilizar el <?php > creo yo, me pareció. Ya esta configurado para que tome el header.php y todo.
Ahí va el código del header:
_________________________________________________________________________
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>header</title>
<style type="text/css">
<!--
#apDiv1 {
    position:absolute;
    width:78px;
    height:21px;
    z-index:1;
    left: 399px;
    top: 187px;
}
#apDiv2 {
    position:absolute;
    width:79px;
    height:21px;
    z-index:1;
    left: 228px;
    top: 1px;
}
-->
</style>
</head>
<body>
<div align="center"><img src="http://desmond.yfrog.com/Himg13/scaled.php?tn=0&server=13&filename=sinttulo1nd.png&xsize=640&ysize=640" width="600" height="200" /></div>
<div id="apDiv1"> AQUI DEBERIA APARECER EL NUMERO
<div id="apDiv2">AQUI DEBERIA APARECER EL NUMERO</div>
</div>
</body>
</html>
________________________________________________________________________
En cuanto al block_menu.php no entiendo a que te referías, no existe tal en los files de phpnuke, la función $miembros_conectados y $total están el el block_usuarios.php que es todo el anterior, allí están las funciones de las query que hace a la db.
Gracias por toda tu ayuda, si necesitas algún otro dato para poder darme una mano dime y perdona molestias.
Juan
Es verdad, no existe block_menu.php. Me había confundido, por que lo colocaste cuando pegaste el código de block_usuarios.php.
Sin más, volvamos a lo que realmente importa.
En el archivo block_usuarios.php realiza varias consultas desde una base de datos, para poder calcular el total de usuarios conectados.
Ahora, lo que hice fue incluir dentro del archivo header.php el archivo block_menu.php. Una vez hecho esto, coloqué en donde me señalaste, la variable que debería mostrar los usuarios conectados.
Acá te dejo el código que utilice del header.php que me mostraste:
-------------------------------------------Header.php------------------------------------------
¿<?
include("block_usuarios.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>header</title>
<style type="text/css">
<!--
#apDiv1 {
    position:absolute;
    width:78px;
    height:21px;
    z-index:1;
    left: 399px;
    top: 187px;
}
#apDiv2 {
    position:absolute;
    width:79px;
    height:21px;
    z-index:1;
    left: 228px;
    top: 1px;
}
-->
</style>
</head>
<body>
<div align="center"><img src="http://desmond.yfrog.com/Himg13/scaled.php?tn=0&server=13&filename=sinttulo1nd.png&xsize=640&ysize=640" width="600" height="200" /></div>
<div id="apDiv1"> <? echo $miembros_conectados;?>
<div id="apDiv2"><? echo $miembros_conectados;?></div>
</div>
</body>
</html>
---------------------------------------------------------------------------------------------
Como verás, en te he señalado con negrita, lo que he agregado en ese archivo.
Antes de las etiquetas html, incluí el archivo block_usuarios.php y luego mostré la variable $miembros_conectados en la parte del div que quieres mostrar el resultado.
Lo estuve probando y por lo menos funciona. Ahora deberías probarlo tu, copiando tal cual esta el código y me dices si se soluciono o no.
De todos modos, te envío una imagen de una captura de pantalla que hice, donde me muestra el valor que quiero que muestre.
En este caso, quise que me muestre el valor 20, como ejemplo.
Esta es la url de la imagen:

Sin más.
Bueno muchas gracias nuevamente por la respuesta, pero lamentablemente o tengo el dedo torcido o algo pasa, hice tal cual me especificaste pero sigue desapareciendo la variable o como se llame ($total y $miembros_conectados) y no logro hacer que aparezcan, te cuento lo subí tal cual lo copie de aquí lo pegue en el header.php y lo subí y copie el block_usuarios.php para no tener que cambiar la ruta ni nada así probaba al menos que funcionara pero no hubo suerte. Te muestro lo que me da el código fuente al ir directamente al archivo.
Imagen:
http://desmond.yfrog.com/Himg228/scaled.php?tn=0&server=228&filename=sinttulo2aa.png&xsize=640&ysize=640
Link: http://yfrog.com/6csinttulo2aap
PD: te agradezco mucho tu dedicación.
Saludos, Juan.
¿En qué servidor subes los archivos?
Estas pagando un hosting, ¿o lo manejas en un servidor gratuito?
¿Eso te ocurre cuando subes el archivo?
¿O directamente lo pruebas localmente?
Hay que ver esas posibilidades, por que es raro que te elimine las variables del código fuente.
Otra cosa que estuve viendo. Antes de las cabeceras
<html>
hay un tag que se esta cerrando de
<head>
y luego viene el
<body>
Que es en donde haces el include("block_usuarios.php")
Todo eso lo deberías borrar. Primero que nada, por que esos tag vienen dentro del tag
<html>
Y no antes.
Segundo, ¿coloca los delimitadores de php antes que cualquier código dentro de tu archivo header.php ahí incluiye el archivo "block_usuarois.php" . Se entiende?
Más o menos quedaría así:
-----------------------------------Header.php------------------------------
<? include("block_usuarios.php");?>
<html>
<head>
</head>
<body>
... //todo el codigo que necesites mostrar en tu pagina web
</body>
</html>
---------------------------------------------------------------
Como verás, coloque el include("block_usuarios.php") antes que todo dentro de tu archivo. Luego ahí puse todo lo que lleva la página, empezando desde el
<html>
.
Que tal nuevamente y perdonando mi insistencia. Todo esta tal cual me especificaste ahí, el hosting es pago osea edito a través de dreamweaver, guardo y subo el archivo a través de filezilla. Si eso sirve de alguna info.
Lo que me viene a la mente ahora es el archivo header.php pero no el del theme sino esta en la carpeta principal que es la misma para todos los themes, te dejo el contenido tal ves te pueda dar alguna idea de porque no funcione.
________________________________________________________________________
<?php
/************************************************************************/
/* PHP-NUKE: Advanced Content Management System                         */
/* ============================================                         */
/*                                                                      */
/* Copyright (c) 2002 by Francisco Burzi                                */
/* http://phpnuke.org                                                   */
/*                                                                      */
/* 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.       */
/************************************************************************/
/* NUKE ET: Modificaci? del PHP-Nuke                                   */
/* ==================================                                   */
/*                                                                      */
/* Modificaciones y creaciones exclusivas de la ET creadas por Truzone  */
/*                                                                      */
/* Copyright (c) 2004 por Truzone                                        */
/* http://www.truzone.org                                               */
/************************************************************************/
if(!defined('NUKE_ET')) {
    Header("Location: error.php?op=e403");
    die();
}
require_once("mainfile.php");
global $google_tap, $name, $prefix, $db;
if($google_tap==1){
    ob_start();
}
##################################################
# Include some common header for HTML generation #
##################################################
$header = 1;
function head() {
    global $slogan, $sitename, $module_name, $home, $banners, $nukeurl, $Version_Num, $artpage, $topic, $hlpfile, $user, $hr, $theme, $cookie, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2, $forumpage, $adminpage, $userpage, $pagetitle, $precarga, $charset;
    $ThemeSel = get_theme();
    include("themes/$ThemeSel/theme.php");
    echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
    echo "
<html>
\n";
    echo "
<head>
\n";
    if($_GET[name]==Forums) {
       include("includes/tituloforo.php");    
   }else{
    echo "
<title>$sitename $pagetitle</title>
\n";
   }
    include("includes/meta.php");
    include("includes/javascript.php");
     if(file_exists("modules/$module_name/javascript.php")){
     include("modules/$module_name/javascript.php");
     }
    if (file_exists("themes/$ThemeSel/images/favicon.ico")) {
     echo "
<link REL=\"shortcut icon\" HREF=\"themes/$ThemeSel/images/favicon.ico\" TYPE=\"image/x-icon\">
\n";
    }
    echo "<LINK REL=\"StyleSheet\" HREF=\"themes/$ThemeSel/style/style.css\" TYPE=\"text/css\">\n\n\n";
    echo "
<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS\" href=\"backend.php\">
\n";
    echo '
<link rel="alternate" type="application/x-opera-widgets" title="'.$sitename.'" href="http://widgets.opera.com/widgetize/Feed%20Reader/Advanced/?serve&skin=skin&widgetname='.$sitename.'&url='.$nukeurl.'/backend.php&rel=myopera&ref=">
';
    include("includes/my_header.php");
    echo "\n\n\n
</head>
\n\n";
    themeheader();
}
global $home,$act_nuke,$admin,$prefix,$user_prefix,$cookie,$user,$db,$guardar_estats;
if($act_nuke==0 && !is_admin($admin) && !eregi('admin.php',$_SERVER['SCRIPT_NAME'])){
Header("Location: error.php?op=off");
die();
}
online();
head();
if($guardar_estats=='1'){
include("includes/counter.php");
}else{
global $ora, $oral, $user, $cookie, $admin, $prefix, $db, $nukeurl, $REMOTE_ADDR, $HTTP_SERVER_VARS, $HTTP_USER_AGENT;
}
if(is_user($user)){
    cookiedecode($user);
    $resul = $db->sql_query("select * from ".$prefix."_mens_privados where estado='1' and enviado_a='$cookie[0]'");
    $num = $db->sql_numrows($resul);
    $num = intval($num);
        if($num >= 1){
        echo "<center>
<table width=\"90%\" bgcolor='red'>
<tr>
<td align='center'>"
        . "
<h3>Tienes un nuevo mensaje privado, para acceder a tu bandeja de "
        . "entrada click <a href=\"modules.php?name=Mensajes_Privados\">aqui</a></h3>
"
        . "</td>
</tr>
</table>
</center>";
        $db->sql_query("update ".$prefix."_mens_privados set estado='5' where estado='1' and enviado_a='$cookie[0]'");
        }
}
if ($home == 1) {
    message_box();
    blocks(Center);
}
?>
_______________________________________________________________________
Saludos, Juan
PD: Muchas gracias.
Estuve echándole un vistazo al código que me pasaste, pero ahí no hay nada que me pueda ayudar.
Necesito, si es posible, que me envíes en un archivo .zip los archivos "header.php" y "block_usuarios.php" para mirarlos bien.
Espero tu respuesta, y espero de antemano ya poder darte una solución posible a tu problema.
Bien, en la siguiente aclaración te pongo el .zip con los archivos. Lo que me parece extraño es esto, phpnuke trae sus partes tanto el header, el footer, los blocks, etc, osea los modelos en html verdad y algo que vi con un theme original es que ya por defecto tienen variables como por ejemplo $slogan, $sitename, y un montón más, las cuales funcionan solamente poniéndolas donde gustes sin ningún tipo de tags por eso me extraña. Bueno no se tal ves también sea otra cosita para poder determinar este problema.
Saludos, Juan
Aquí van los archivos:
Link: http://www.4shared.com/file/vv-4SWCg/phpnuke.html
Saludos, Juan
Una vez más le estuve haciendo un seguimiento a tus archivos, sin encontrar un error.
Lo único que me queda por decirte, es que vuelvas a cargar el theme que tenias antes de hacer las modificaciones. Si bien me dijiste que funcionaba bien con el theme anterior, puedes tomarlo probando que funcione todo bien, y en base a ello ir haciendo las modificaciones que necesites desde ahí.
Te recomiendo ir haciendo cada tanto un backup para resguardar tus archivos y en caso de que vuelva a salir un nuevo error, volver al archivo anterior y no tener que empezar todo de nuevo.
Lamento no haber podido solucionar tu problema desde acá, ya que al parecer es un problema del theme en sí, pues para poder utilizar una variable desde otra página, lo único que necesitas es hacer un include("archivo.php") y para mostrar esa variable, lo único que hay que hacer es un echo $variable. En el archivo que me pasaste, esta todo bien, por lo que te digo que puede ser un problema en algún otro archivo que está incluido, como así también puede deberse a un problema de consulta de las bases de datos, pero de ello no estoy muy seguro pues necesitaría ver que datos tienes almacenados y si te trae bien los datos desde las consultas, pero ya queda fuera de mi alcance, pues deberías pasarme todos los archivos de tu web, y perderíamos más tiempo en tratar de revisar uno por uno los archivos, en vez de hacer un restore de los archivos y encarar la página desde ese punto.
Sin más, una pena no haber podido dar con el problema.
Si llegas a tener alguna otra pregunta, estaré encantado de ayudarte en lo que sea, siempre y cuando esté a mi alcance.
Por favor, una enorme ayuda me brindaste, para estos temas siempre hay otra solución si la primera no funciono, no hay que apenarse compañero. Agradezco todo tu seguimiento de mis preguntas, tu atención y tu rapidez de respuesta. Sin más, un saludo grande.
Juan
PD: me estoy planteando arrancar desde otro punto como tu planteaste, voy a intentar hacer individuales las consultas mysql a las tablas correspondientes para obtener el total de usuarios, y miembros conectados si es posible también, aun no se muy bien como hacerlo al 100% pero creo que va a ser lo más eficaz.
Ok. Estaré encantado de ayudarte en lo que necesites.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas