Página 1 de 2

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 04:59
por cazaplanetas
:oops:

Perdona leviatan, pero cantamos victoria muy pronto.

Si, me funciono una vez, después de cambiar el dominio de las cookies y borrar el historial entré en el foro, me registré y al entrar en "info" ya me reconocía como "cazaplanetas", pero ahora sigue igual.

Es mas, si me deslogueo en el foro y entro en "info", me sigue reconociendo como "cazaplanetas" (hasta que recargo la pagina claro). Es como si guardara los datos de la sesion de alguna manera.

Se te ocurre algo mas?? (perdona si soy muy pesao)
Tambien me acabo de dar cuenta, que no tiene nada que ver con las cookies, porque aunque las borre me sigue pasando lo mismo. Donde se guarda entonces ese dato?? Mi no entender :(
URL: http://www.cazaplanetas.com
Versión phpBB: phpBB3 (3.0.8)
MODs Instalados: Ninguno
Plantilla(s) usada(s): 1thanks
Servidor: Linux, de pago
Actualización desde otra versión: se de 3.0.x
Conversión desde otro sistema de foros: no

Re: No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 08:16
por HuanManwe
Este mensaje es continuación de: http://www.phpbb-es.com/foro/soporte-ph ... 30651.html

¿Has limpiado la caché?

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 10:27
por cazaplanetas
Si. Pero nada.

La verdad es que no entiendo por que si funciona en servidor local y no en el de mi hosting... alguna configuración en el propio servidor quizás?

Igual tendría que probar en otro hosting. Soy un poco nuevo en esto y se me acaban las ideas.

Re: No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 14:11
por leviatan21
para no seguir trabajando a ciegas y limitado ( porque al ser invitado veo diferente a ti ) sube tus archivos y dejame ver como está codificado.
Lo mas probable sea lo que comenté antes sobre detectar si se ha selecionado o no y agregar un elemento vacío al inicio

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 17:23
por cazaplanetas
Seguro que no sera alguna configuración del servidor? Es que ya te digo que en localhost funciona bien.

No se si es esto a lo que te refieres con subir mis archivos.

Este es el archivo al que accedes al presionar "INFO" que es un enlace tipo <a></a>

Código: Seleccionar todo

<?php
require_once("info.php");
?>
<!DOCTYPE HTML>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Panel de control</title>
<link href="estilos.css" rel="stylesheet" type="text/css" media="all">
</head>

<body>
<div id="principal">

	<div id="pantalla">
    	
        <div id="menu">
        
        </div>
        
        <div id="visor">
            
            <?php
			include("tabla_info.php")
            ?>
            
        </div>
        
        <div id="enlaces">
        <a href="index.php">Inicio</a>
        </div>
        
        <div id="footer">
        </div>
        
    </div>
    
</div>
</body>

</html>
Este el archivo "info.php"

Código: Seleccionar todo

<?php

require_once("sesiones.php"); //si tiene los datos de la cookie, abre sesion phpbb

$gamer = $user->data['username_clean'];

require_once("conex.php");
require_once("consultas.php");
require_once("estadisticas.php");

$all_gamers = gamers($sql_ligas);
$action = $_SERVER['PHP_SELF'];

	$gamer_s = $_POST['gamer'];
	
if (!isset($gamer_s)) $gamer_s = $gamer;
$id_gamer = name_to_id('gamer',$gamer_s,$sql_ligas);
$datos = datos_gamer($id_gamer,'3', $sql_ligas);

?>
este el archivo "sesiones.php"

Código: Seleccionar todo

<?php 
define('IN_PHPBB', true); // se define que se va a usar phpbb. 
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'foro/'; // el path directo del servidor a phpbb3 
$phpbb_url_path = 'http://www.cazaplanetas.com/foro/'; // la url hacia tu phpbb3 
$phpEx = substr(strrchr(__FILE__, '.'), 1); // tipo de extension 
include($phpbb_root_path . 'common.' . $phpEx); // incluimos el common.php que es muy importante para la bd 
 
// iniciamos sesion 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup(array('memberlist', 'groups'));
?>]
y este el archivo "tabla_info.php"

Código: Seleccionar todo

  <form method="post" action="<?php echo $action ?>" name="tabla_info">
            <select name="gamer" size="1">
            <?php
			foreach ($all_gamers as $g){
				echo "<option> $g </option>";
			}
			?>
            </select>
            <input type="submit" name="sub_gamer" value="Select">
            </form><br>
            
            Gamer: <?php echo $gamer_s ?>
            
            <table>
            <tr>
            <th>Id. Competicion:</th>
            <th>Nombre</th>
            <th>Edicion</th>
            <th>Id. Equipo</th>
            <th>Equipo</th>
            <th>Semana</th>
            <th>Pendientes</th>
            </tr>
            <?php 
            
            if (isset($datos)) foreach ($datos as $dat){?>
				
            <tr>
            <th><?php echo $dat['id_competicion']?> </th>
            <th><?php echo $dat['competicion']?> </th>
            <th><?php echo $dat['edicion']?> </th>
            <th><?php echo $dat['id_equipo']?> </th>
            <th><?php echo $dat['equipo']?> </th>
            <th><?php echo $dat['semana']?> </th>
            <th><?php echo $dat['pendientes']?></th>
            </tr>
            
            <?php }
            ?>
            
            </table>
Si te fijas en la linea 3 del "info.php" está:

$gamer = $user->data['username_clean'];

Y este es el valor que tiene que tener "$gamer" y por lo tanto "$gamer_s" antes de presionar el select... no??

También te paso un nombre de usuario y contraseña para el foro:

nombre: pulstar
pass: phpbb-es

si te logueas y despues vas a "INFO" veras que no hace falta presionar "select" para que te reconozca, si no que con que recargues la pagina ya lo hace.

Te invito a otra :cerveza: ahora y si me resuelves esto te invito a otra :cerveza: ;) que te lo mereces (de todas maneras, voy ha ir probando a instalar otro foro en otra carpeta a ver que pasa. No sabia que tendría tanta miga el asuntillo.)

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 18:03
por leviatan21
Algunas notas :
ya que estas utilizando phpbb podrías utilizar también ciertas herramientas que nos brinda para facilitarnos la vida, por ejemplo :

el este trozo de código hay muchas cosas para corregir

Código: Seleccionar todo

$gamer = $user->data['username_clean'];

$gamer_s = $_POST['gamer'];
if (!isset($gamer_s)) $gamer_s = $gamer;
$id_gamer = name_to_id('gamer',$gamer_s,$sql_ligas);
$datos = datos_gamer($id_gamer,'3', $sql_ligas);
El resumen sería : tomas el dato del selector, que es el nombre, buscas el ID que corresponde a ese nombre y luego armas el selector.
En lugar de hacer el selector con nombres, hazo directamente con los ID's de los usuarios : (algo así )

Código: Seleccionar todo

<option value="' . $datos['user_id'] . '" >' . $datos['username'] . '</option>
esto dependerá de tu consulta a la base ( supongo que de la función datos_gamer() pero no se como lo armas a que tabla o base consultas)

luego para tomar el ID del usuario ya sea luego de elegir en el selector o no puedes hacer esto :

Código: Seleccionar todo

$user_id = request_var('gamer', $user->data['user_id']);

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 13 Feb 2011, 23:44
por cazaplanetas
Bueno si, tienes razón que quizás el código es muy mejorable, pero solo llevo programando unos meses y soy autodidacta.

Pero bueno, vamos a intentar abordar el tema desde otro punto de vista. Ahora he creado un php de prueba el cual veras aquí: http://www.cazaplanetas.com/pruebas.php
y así nos olvidamos de la selección de usuarios.

El código de este archivo es el siguiente:

Código: Seleccionar todo

<?php

require_once("sesiones.php"); //si tiene los datos de la cookie, abre sesion phpbb

$gamer = $user->data['username_clean'];

print $gamer;

?>
Mi pregunta es la siguiente, si voy al foro, me identifico con mi usuario (cazaplanetas) y después voy a ver la pagina de pruebas.php...

¿Que tendría que mostrarme la pagina?

Re: No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 00:11
por leviatan21
Debería mostrarte cazaplanetas

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 00:20
por cazaplanetas
Pues ahí está el error, no me muestra cazaplanetas si no anonymous, para que me muestre cazaplanetas tengo que recargar la pagina.

Por que puede pasar esto??

Estoy un poco :( porque llevo ya mucho tiempo con esto. Te agradeceré mucho si puedes darme la solución.

Re: No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 03:24
por leviatan21
cazaplanetas escribió:También te paso un nombre de usuario y contraseña para el foro:

nombre: pulstar
pass: phpbb-es
intenté utilizar el usuario, pero no hay forma de lograr identificarme, me devuelve a la página sin siquiera un error o advertencia.
Lo que me hace suponer que tienes algún problema en alguna parte y que está afectando tanto al foro como a tu aplicación. :nolose:

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 06:14
por cazaplanetas
Ya, no es nada bueno para mi comunidad, pero es lo que me pasa al cambiar la configuración del dominio de las cookies, por eso lo mantenia con http://www.cazaplanetas.com, porque así me funcionaba.

Pero he descubierto que si borras las cookies de tu navegador ya deja identificarte.

Prueba por favor y me dices. Y otra cosa es, cuanto hay que donar para que se vaya la publi?? Es que yo he donado 10 Eur y aun se muestra...

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 14:02
por leviatan21
cazaplanetas escribió:Pero he descubierto que si borras las cookies de tu navegador ya deja identificarte.
La cookie no está involucrada con ese problema, a pesar de ellos eliminé las cookies y nada,
Puede ser algo del estilo, prueba cambiando a prosilver

cazaplanetas escribió:Prueba por favor y me dices. Y otra cosa es, cuanto hay que donar para que se vaya la publi?? Es que yo he donado 10 Eur y aun se muestra...
Gracias por tu colaboración :ok:
Es un cambio que se realiza a mano, ya informo a los administradores

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 22:18
por cazaplanetas
Gracias por tu colaboración :ok:
Es lo menos que puede hacer la gente por vuestro trabajo.

Bueno, pues el caso es que probando desde ordenadores que ya había conectado al foro antes, he tenido que borrar todas las cookies y sesiones del navegador para que me deje identificarte, pero si deja... Otro misterio.

Si no te importa hazlo y veras como te deja identificarte. También e cambiado el estilo por si acaso, pero no parece que esté ahí el problema.

Después de identificarte ves a http://www.cazaplanetas.com/pruebas.php y veras lo que te digo. Sigues saliendo como anonymous hasta que reinicias el navegador.

Si por una casualidad te fuera bien a la primera, vuelve al foro y desconectate y vuelve a ir a ..pruebas.php veras como no cambia de estado hasta que reinicias el explorador.

Gracias de nuevo.

Re: No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 14 Feb 2011, 22:53
por leviatan21
cazaplanetas escribió:Bueno, pues el caso es que probando desde ordenadores que ya había conectado al foro antes, he tenido que borrar todas las cookies y sesiones del navegador para que me deje identificarte, pero si deja... Otro misterio.

Si no te importa hazlo y veras como te deja identificarte. También e cambiado el estilo por si acaso, pero no parece que esté ahí el problema.
parte de lo que dices es verdad, en lugar de identificarme con FF lo hice con IE y pude sin problemas.
pero eso no es un comportamiento normal, sigue existiendo algo raro, por ejemplo :
con Prosilver veo que el estilo es versión 3.0.8
con 1thanks veo que el estilo es versión 3.0.7-PL1
pero el idioma (es_x_tu) es versión 3.0.6
otra cosa que puede estar fallando, es el permiso de la carpeta raíz/cache no puedo afirmarlo, pero quizás no sea 777

habría que mirar bien, donde está el fallo, porque puede traerte mas problemas, no solo con este script que estas haciendo.

Si me pasas TODOS los archivos (incluyendo la base), puedo re-escribirlo para que sea mas phpbb y menos php :chulo:

No me muestra el nombre de usuario hasta que recargo la pagina(2)

Publicado: 15 Feb 2011, 01:23
por cazaplanetas
No tengo ningún problema en pasártelo todo, si quieres dime como y te paso todo el código y bases de datos. Incluso si prefieres te paso los datos de FTP para que accedas tu mismo. Es generosa la oferta por tu parte. Pero me sabría mal aceptarla, ahora mismo no podría pagar mucho por ello.

Pero a parte de todo, creo que no tiene nada que ver como esta programada mi web para el fallo que estamos tratando, no crees?? Es decir, si no funciona para el caso mas sencillo de:

Código: Seleccionar todo

$gamer = $user->data['username_clean'];
que es en lo que quiero basar mi sistema de usuarios, que es el pilar básico de mi web... ¿Para que meterse mas a fondo? Y ni si quiera es que no funcione, mi web es perfectamente funcional, el único problema es que tenga que recargar la pagina o mandar un submit, para que me sea reconocido el usuario. Si aún así quieres que te lo pase todo dime como lo hago. Puedo subirlo a fileserve o pasarte los datos de FTP o lo que tu decidas.

Un millón de gracias.

edito: ah!! y tambien probe con cambiarle los permisos a la carpeta cache...