Buenas, la verdad que recien estoy arrancando con POO en PHP y me encontre con mi primer problema que nose cual puede ser la solucion ya que prove diferentes cosas. Bien paso a explicar, tengo dos clases: Validar y Persona, la idea es pasarle las variables del formulario a un metodo de Persona que setiara la variable validada, para esto, el metodo de la clases Persona, llama a metodos de la clase Validar que valida que no tenga caracteres extraños ni que este en blanco la variable. A continuacion les pongo el source de cada clase:
Persona:
<?php
include("Validar.php");
class Persona extends Validar
{
private $verificacion;
public function setUsPass($usPass)
{
if($this->variableVacia($usPass) == 0)
{
if($this->validaUsPass($usPass) == 1)
{
$this->verificacion= 1;
return $this->verificacion;
}
else
{
$this->verificacion= 0;
return $this->verificacion;
}
}
else
{
$this->verificacion= 0;
return $this->verificacion;
}
}
}
Validar:
class Validar
{
private $bien;
public function variableVacia($variable)
{
if(empty($variable) == 1)
{
$this->bien= 1;
return $this->bien;
}
else
{
$this->bien= 0;
return $this->bien;
}
}
public function validaUsPass($varible)
{
if(ereg("^[a-zA-Z0-9]{1,15}$",$variable) == 1)
{
$this->bien= 1;
return $this->bien;
}
else
{
$this->bien= 0;
return $this->bien
}
}
}
Main:
$usuario = $_POST["us"];
$personas= new Persona;
if($personas->setUsPass($usuario) == 0 )
{
$msjUs=1;
$error=1;
}
if($msjUs == 1)
echo '<li class="error">El usuario ingresado es incorrecto.</li>';
Bien, el problema es el siguiente: Al parecer esta validando correctamente cuando la variable esta en blanco y cuando no, ya que hice varios juegos de prueba descartando la parte que hace la validacion sobre los caracteres y funciona correctamente. Pero con la parte de validar caracteres extraños me esta trayendo problemas ya que me esta dando siempre que el usuario es incorrecto, o sea que la variable tiene caracteres extraños.
Que es lo que esta ocurriendo? ya probe varias cosas y no pude solucionarlo. Muchas gracias.