Borisigna nos enseña a hacer un webgame

ATENCIÓN: Nos mudamos a http://juegodenavegador.host22.com/index.php


No estás conectado. Conéctate o registrate

Error en main.php (al menos a mi)

Ir abajo  Mensaje [Página 1 de 1.]

1 Error en main.php (al menos a mi) el Dom Abr 18, 2010 12:45 pm

Rvega_91


Admin
Buenas;

Primero me tiró un error en la linea 11, que equivale a:
Código:
conectar_base_datos();
pero después lo cambié por:
Código:
session_start();
y todo perfecto.

Después, al querer mostrar el mensaje de "Bienvenido $usuario" me pone una cosa al azar, por ejemplo la casilla de gold o ataque. Y no entiendo el porqué.

Aquí dejo el código de mi main (mi tabla se llama players y no usuarios, por eso lo cambie.)
Código:
<?php
session_start();
if(!isset($_SESSION['usuario']))
{
header("Location: index.php");
}
else
{
$us = $_SESSION['usuario'];
require('seguridad.php');
session_start();
$consulta = mysql_query("SELECT * FROM `players` WHERE usuario = '$us'");
$row = mysql_fetch_array($consulta);
echo "Bienvenido: <b>$row[7]</b>";
}
?>

Gracias de antemano y gracias a Borisigna por ayudarnos con todo esto ^^.

2 Re: Error en main.php (al menos a mi) el Dom Abr 18, 2010 5:54 pm

BORISIGNA


Admin
La respuesta se me hace simple.

Fíjate en la línea que dice:
Código:
echo "Bienvenido: <b>$row[7]</b>";

El número que aparece entre los corchetes ([]) corresponde a la ubicación del array que entrega $row. Así, por ejemplo, si tu base de datos tiene este orden:

id - usuario - fecha_ingreso - etc,etc...

Y yo pongo:

Código:
echo $row[1];

Devolverá el valor de usuario (id sería el valor 0 del array).

Entonces debes fijarte y cambiar ese 7 que aparece entre los corchetes hasta que calce con el nombre de usuario que necesitas.

Suerte!

http://juegodenavegador.wordpress.com

3 Re: Error en main.php (al menos a mi) el Dom Abr 18, 2010 5:57 pm

Rvega_91


Admin
Vaya, no sabía nada de eso, estaba por preguntar a que venia ese número, pero no se me ocurrió que fue por el lugar que ocupaba en la base de datos.

Nunca me desconectaré de este foro sin aprender nada nuevo de php xD.

4 Re: Error en main.php (al menos a mi) el Dom Abr 18, 2010 5:58 pm

BORISIGNA


Admin
Eso es lo interesante Razz

Espero que se repare tu problema, avisa si lo solucionaste.

Smile

http://juegodenavegador.wordpress.com

5 Re: Error en main.php (al menos a mi) el Dom Abr 18, 2010 6:03 pm

Rvega_91


Admin
Que decir, como era de esperar esa era la solución, va todo perfecto ^^.

Gracias.

6 Re: Error en main.php (al menos a mi) el Lun Abr 19, 2010 1:20 pm

spanisher


Hola, quería hacer una sugerencia:

Para que cada vez que entremos en "main.php" no tengamos que abrir una conexión con la base de datos y hacer una consulta simplemente para mostrar el nombre de usuario al saludarle, pienso que es mejor aprovechar la sesión creada en el "index.php" (cuando se logea el usuario se guarda su nombre en una sesión, el código ya lo hace así).

Entonces no hace falta hacer ninguna consulta, simplemente el principio de "main.php" quedaría así:

<?php
session_start();
if(!isset($_SESSION['usuario'])){
header("Location: index.php");
}else{
$us = $_SESSION['usuario'];
echo "Bienvenido: <b>".$us."</b>";
}
?>

Con esto conseguimos algo de efectividad al no tener que hacer una consulta a la BBDD cada vez que entramos en Main.

Ahora hay poca cosa en "main.php", pero cuando tengamos que hacer varias operaciones y cargar imágenes... cuanto más optimizado esté el código menos carga para el servidor.

Saludos!

7 Re: Error en main.php (al menos a mi) el Lun Abr 19, 2010 8:34 pm

BORISIGNA


Admin
El problema es que por seguridad mantenemos la sesión en md5... por lo que el nombre de usuario saldría una chorrada de caracteres

http://juegodenavegador.wordpress.com

8 Re: Error en main.php (al menos a mi) el Lun Abr 19, 2010 8:45 pm

spanisher


Ah!, es que al final en mi código sólo dejé la encriptación a la contraseña.

No recordaba que en original el usuario también se encriptaba.

Ya me parecía extraño... Laughing

9 Re: Error en main.php (al menos a mi) el Mar Abr 20, 2010 2:35 am

BORISIGNA


Admin
Yo creo que al final de cuentas sería mejor encriptar la clave y corroborar datos de usuario antes de guardarlos. O sea que no permita elementos distintos a caracteres y números.

http://juegodenavegador.wordpress.com

Contenido patrocinado


Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.