Bueno, lo explicare de nuevo tal vez no me haya explicado con claridad...
1º Tengo una clase que utilizo para operar con la base de datos mysql, y incluyo y declaro en todas mis funciones donde utilize mysql, y tambien en mi pagina index.php donde van a parar todas las funciones, es esta:
Código PHP:
<?php
/*----
- Manejador de mysql.
@ Version 1.0 por Zamblo.
----*/
class mysql
{
var $conexion;
var $conexion_servidor= "localhost";
var $conexion_usuario= "zamblo";
var $conexion_contrasena= "pass";
var $conexion_bd= "pokemonrpg";
//Realizar conexion a la base de datos
function Conectar()
{
$this->conexion= mysql_connect($this->conexion_servidor, $this->conexion_usuario, $this->conexion_contrasena);
mysql_select_db($this->conexion_bd, $this->conexion);
mysql_query ("SET NAMES 'utf8'");
}
//Realizar consulta a la base de datos
function Consulta($datos)
{
$resultad= mysql_query($datos, $this->conexion) or die(mysql_error());
return $resultado;
}
//Devolver resultado de un campo de consulta a la base de datos
function ResultadoConsulta($datos)
{
$resultado= mysql_result(mysql_query($datos), 0) or die(mysql_error());
return $resultado;
}
//Devolver array de datos de consulta a la base de datos
function ArrayConsulta($datos)
{
$resultado= mysql_fetch_array(mysql_query($datos)) or die(mysql_error());
return $resultado;
}
//Devolver numero de filas de consulta a la base de datos
function FilasConsulta($datos)
{
$resultado= mysql_num_rows(mysql_query($datos)) or die(mysql_error());
return $resultado;
}
}
?>
2º Esta clase la incluyo y la defino en mi fichero index.php, y utilizo el metodo Conectar() para hacer un mysql_connect y un mysqL-select_db, por lo tanto siempre estare conectado a la bd, esta es la cabezera de mi archivo index.php:
Código PHP:
//Mysql
require("clases/mysql.php");
$mysql= new mysql;
$mysql->Conectar();
3º Mas abajo de mi archivo index.php (Despues de haber incluido, declarado una instancia y utilizado el metodo Conectar()) utilizo una funcion para hacer una comprobacion de las cookies del usuario, donde vuelvo a necesitar la clase mysql, esta es la funcion:
Código PHP:
<?php
/*---
- Comprobar si el usuario esta logeado en el sistema.
@ Version 1.0 por Zamblo.
---*/
//Manejador de mysql
include_once("clases/mysql.php");
if (!isset($mysql)) $mysql= new mysql;
function ComprobarCookies()
{
if (isset($_COOKIE["pokemonrpg_jugador_id"]) and isset($_COOKIE["pokemonrpg_jugador_cuenta"]) and isset($_COOKIE["pokemonrpg_jugador_contrasena"]) and isset($_COOKIE["pokemonrpg_jugador_entrenador"]))
{
$cuenta= $mysql->DevolverArray("SELECT id, nombre, contrasena FROM pokemonrpg_cuenta WHERE id='".$_COOKIE["pokemonrpg_jugador_id"]."'");
if ($cuenta["contrasena"]== $_COOKIE["pokemonrpg_jugador_contrasena"])
return true;
else
return false;
}
else
return false;
}
?>
¿El problema? Cuando se ejecuta la funcion me arroja el siguiente error:
Código:
Fatal error: Call to a member function DevolverArray() on a non-object in C:\Wamp\www\Pokemonrpg\funciones\ComprobarCookies.php on line 15
La linea 15 de ComprobarCookies es:
Código PHP:
$cuenta= $mysql->DevolverArray("SELECT id, nombre, contrasena FROM pokemonrpg_cuenta WHERE id='".$_COOKIE["pokemonrpg_jugador_id"]."'");
¿Que hay mal aqui?
Muchas gracias!