Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/06/2010, 15:50
Avatar de cadrogui
cadrogui
 
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: Problemas con mi Clase - API

Gracias triby por tus sugerencias, he modificado el codigo y quedo asi:

Código PHP:

<?

$HTTP_API_KEY 
$_POST['API_KEY'];

echo 
"Prueba de la API";
echo 
"<br>";

function 
conectar($conectar
    { 
        
$link=''
        if(
$conectar == 1
        { 
            
$link mysql_connect("localhost""root""root"false65536

                or die(
err(mysql_errno()));                                    
                
            
mysql_select_db("cosit"
                or die(
err(mysql_errno()));      
        } 
        if(
$conectar == 0
        { 
            
$link mysql_connect("localhost""root""root"false65536); 
                
mysql_close($link); 
        } 
    }

function 
VerificaAPI($API_KEY) {
    
    if(empty(
$API_KEY)):

        
$ERR_CODE "001";
        
$ERR_DESC "Error, Debe ingresar un API KEY";
        
        return 
"API_KEY_VACIA";
        
      else:
          
        
conectar(1);
        
$sql "SELECT * FROM api WHERE nro_api = '" .$API_KEY"'";
        
$consulta mysql_query($sql);
        
$existe mysql_num_rows($consulta);
        
$muestra mysql_fetch_array($consulta);
        
conectar(0);
        
            if (
$existe == 1):
                
                
$EMPRESA $muestra['empresa'];
                echo 
"API_KEY Autorizada <br>";
                echo 
$EMPRESA"<BR>";

                return 
"API_AUTORIZADA";

              else:
              
                
$ERR_CODE "002";
                
$ERR_DESC "Error, API KEY Erronea";

                return 
"API_KEY_ERRONEA";
                
            endif;
    endif;    
}                   
    
    
    Switch (
VerificaAPI($HTTP_API_KEY))
        {
            case 
"API_KEY_VACIA":
            
                die(
"Error, Debe ingresar un API KEY");
                
            break;
            
            case 
"API_KEY_ERRONEA":
                die(
"Error, API KEY Erronea");
            break;
            
            case
"API_AUTORIZADA":
            
            echo 
"CASE 000 - API EN FUNCIONAMIENTO...";
            
                class 
API {
                    private 
$rut;
                    private 
$id;
                     
                    function 
_construct($rut){
                        
$this -> rut $rut;
                    }
                    
                    function 
mostrar_nombres($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['nombres'];
                        return 
$out;
                    }
                    
                    
                    function 
mostrar_apellidos($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['apellidos'];
                        return 
$out;
                    }
                    
                    function 
mostrar_telefono($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['telefono'];
                        return 
$out;
                    }
                    
                    function 
mostrar_rut($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['rut'];
                        return 
$out;
                    }
                    
            
                    function 
mostrar_vcto_licencia($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['vcto_licencia'];
                        return 
$out;
                    }
            
                    function 
mostrar_tipo_licencia($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['tipo_licencia'];
                        return 
$out;
                    }
                    
                    function 
psicotecnico($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['psicotecnico'];
                        return 
$out;
                    }
                    
                    function 
vcto_examen($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['vcto_examen'];
                        return 
$out;
                    }
                    
            
                    function 
prevision($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['prevision'];
                        return 
$out;
                    }
            
            
                    function 
tipo_contrato($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['tipo_contrato'];
                        return 
$out;
                    }
            
            
                    function 
cargo($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['cargo'];
                        return 
$out;
                    }
            
            
                    function 
area($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['area'];
                        return 
$out;
                    }
            
            
                    function 
supervisor($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['supervisor'];
                        return 
$out;
                    }
            
            
                    function 
das($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['das'];
                        return 
$out;
                    }
            
            
                }
                
            break;            
            
        }
    

?>
desafortunadamente sigue el mismo comportamiento:

para eliminar el duplicado he suprimido la linea de codigo:

Código PHP:
<?

$RUT 
"1"
$URL_API "http://dllo/Librerias/api/api-trabajadores.php";
$URL_CONFIG "http://dllo/Librerias/api/api-trabajadores-config.php";
$API_KEY_STR "API_KEY=12345";

if(
function_exists('curl_init')) :

    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$URL_API);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_POSTFIELDS$API_KEY_STR);
    
curl_exec($ch);
    
curl_close($ch);

else:

    echo 
"No hay Soporte Para cURL";
    
endif;

//require_once('Librerias/api/api-trabajadores.php');

$obj = new API();

echo 
$obj -> mostrar_nombres("$RUT");
echo 
"<br>";
echo 
$obj -> mostrar_apellidos("$RUT");
echo 
$obj -> mostrar_telefono("$RUT");
echo 
$obj -> mostrar_rut("$RUT");
echo 
$obj -> mostrar_vcto_licencia("$RUT");
echo 
$obj -> mostrar_tipo_licencia("$RUT");
echo 
$obj -> psicotecnico("$RUT");
echo 
$obj -> vcto_examen("$RUT");
echo 
$obj -> prevision("$RUT");
echo 
$obj -> tipo_contrato("$RUT");
echo 
$obj -> cargo("$RUT");
echo 
$obj -> area("$RUT");
echo 
$obj -> supervisor("$RUT");
echo 
$obj -> das("$RUT");


?>
ahora muestra todo bien, salvo el contenido de la bd, osea la clase no funciona.

alguna sugerencia??

gracias.

pd: lo que mencionas fue error al postear, la clase se llama API y es invocada de esa forma.

esto muestra el archivo que incluye a la API.

Código:
Prueba de la API
API_KEY Autorizada 
Empresa Prueba
CASE 000 - API EN FUNCIONAMIENTO...
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl

Última edición por cadrogui; 25/06/2010 a las 15:56