saludos
Código PHP:
require_once('conexion.php');
class Autentica
{
private $servidor= 'localhost';
private $usuario= 'gerardo';
private $clave= 'gerardo';
private $baseDatos= 'marcadores';
private $base;
//Asi se crea y usa un objeto dentro de una clase
function __construct()
{
$this-> base= new Conecta($this-> servidor, $this-> usuario, $this-> clave, $this-> baseDatos);
}
function registrar($usrname, $passwd, $mail)
{
try
{
$consultaStr= 'select * from usuario where nombUsuario= "$usrname"';
$this-> base->consultar($consultaStr);
}
catch (Exception $e)
{
$msg= $e->getMessage();
echo $msg;
exit();
}
if(mysql_num_rows>0)
{
echo 'El ususario que intenta registrar ya existe';
exit();
}
try
{
$insertarStr= 'insert into usuario(nombUsuario, clave, correo) values("$usrname", "$passwd", "$mail")';
$this-> base->consultar($insertarStr);
}
catch (Exception $e)
{
$msg= $e-> getMessage();
echo $msg;
exit();
}
}
}
Código PHP:
class Conecta
{
private $servidor;
private $usuario;
private $clave;
private $baseDatos;
private $abrirConexion;
function __construct($servidor, $usuario, $clave, $baseDatos)
{
$this-> servidor= $servidor;
$this-> usuario= $usuario;
$this-> clave= $clave;
$this-> baseDatos= $baseDatos;
try //se usa este bloque donde se de puede producir un error(esta conectado a throw new Exception)
{
$this-> conectar_base();
}
catch (Exception $e)
{
$msg= $e->getMessage();
echo $msg;
exit();
}
}
public function conectar_base()//ABRE conexión con la base
{
$this->abrirConexion= @mysql_connect($this->servidor, $this->usuario, $this->clave);
if(!$this->abrirConexion)
{
throw new Exception('<b>ERROR::</b> No se ha podido establecer la
conexion con el SERVIDOR, por favor intente mas tarde.<br>');
exit();
}
$enlazarBase= @mysql_select_db($this->baseDatos, $this->abrirConexion);
if(!$enlazarBase)
{
throw new Exception('<b>ERROR::</b>No sea podido establecer conexion con
la BASE DE DATOS solicitada, por favor intente más tarde.<br>');
exit();
}
}
public function desconectar_base()//CIERRA la conexión con la base
{
$cerrarConexion= @mysql_close($this->abrirConexion);
}
public function consultar($consulta)//usar esta func en caso de una petición mas específica a la base
{
$this->resultado= @mysql_query($consulta);
if(!$this->resultado)
{
throw new Exception('<b>ERROR::</b>No se ha podido realizar la peticion.<br>');
exit();
}
}
public function extraer_registro()//EXTRAE registro o fila de la base según consulta
{
if($fila= @mysql_fetch_assoc($this->resultado))
{
return $fila;
}
else
{
return false;
}
}
}