Google
Web dns.bdat.net

[PHP-ES] claes y objetos en PHP4 y PHP5

Write haof XML files: Sebastian Perez ( sebastian(EN)popupdg.com.ar)
Fecha: jue 10 feb 2005 - 01:16:56 CET


Hola a todos !

Mi nombre es Sebastian y soy nuevo en la lista. Saludos a todos ! ;)

Queria hacerles una consulta.

Hasta ahora he trabajado con clases (bastante precariamente) en PHP4 y
resulta que al pasar la aplicacion a un servidor con PHP5 nada funciona.

Voy a los detalles :

Servidor anterior : Linux , PHP Version 4.3.10 Servidor Nuevo : Windows NT,
PHP Version 5.0.0

por ejemplo en el archivo index.php donde hago un login tengo lo siguiente :

#################### INDEX.PHP

<?

$arrClases = array("Consultas");

include dirname(__FILE__)."/../include/conn.php";

if (isset($_POST['user']) && strlen($_POST['user']) && isset($_POST['pass'])
&& strlen($_POST['pass'])) {

session_register("logged");

$_SESSION['logged'] = $Consultas->Login($_POST['user'],$_POST['pass']);

if (isLogged()) {

header("Location: home.php");

} else {

$error = "Usuario y/o contrase&ntilde;a incorrectos";

}

}

?>

#################### CONN.PHP :

<?

(EN)session_start();

include "config.php";

include "functions.php";

include "clsSqlServer.php";

if (isset($arrClases) && is_array($arrClases)){

foreach ($arrClases as $key => $value) {

if (!class_exists($value)) {

include dirname(__FILE__)."/cls".$value.".php";

eval("\$$value = new $value;");

}

}

}

?>

#################### CONFIG.PHP:

<?

$dbhost = "localhost";

$dbbase = "proyecto";

$dbuser = "root";

$dbpass = "";

?>

#################### clsSqlServer.php :

<?

class SqlSrv {

var $db;

function SqlSrv () {

global $dbhost, $dbuser, $dbpass, $dbbase;

$this->db = (EN)mysql_connect($dbhost, $dbuser, $dbpass)

or die("No se pudo conectar a la base de datos : <b>".mysql_error()."</b>");

mysql_select_db($dbbase,$this->db)

or die("No se pudo acceder a la base de datos : <b>".mysql_error()."</b>");

}

# Hace QUERYs a la base de datos

function dbQuery($query) {

$result = mysql_query($query,$this->db)

or die($this->error());

return $result;

}

...(sigue)

?>

#################### clsConsultas.php:

<?

class Consultas extends SqlSrv {

function Consultas () {

$this->SqlSrv(); # Comienza la conexion con la base de datos

}

function Login($usuario = "", $password = "") {

$usuario = escape($usuario);

$password = escape($password);

$query = "SELECT * FROM admin WHERE user = '$usuario' AND pass =
MD5('$password')";

$res = $this->dbQuery($query);

if ($numrows = $this->dbNumRows($res)) {

return 1;

} else {

return 0;

}

}

... (sigue)

?>

Bien... aclarado esto... explico cual es mi cuestion.

Para empezar cuando quiero correr index.php en WIN NT no me tira errores y
me muestra la pagina en blanco.

Si comento la linea "$arrClases = array("Consultas");" muestra la pagina
pero obviamente no instancia la clase Consultas.

Que puede estar pasando ?

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 19 mar 2005 - 01:01:24 CET