Validación de campos no duplicados en Breezingforms para Joomla

function ff_not_duplicate(element, message)
{
    var error = false;

    JQuery.ajax({
        url      : "validacion.php",
        data     : { "name":element.name, "value":element.value },
        type     : "POST",
        async    : false,
        dataType : "json",
        success  : function(response){
            error = (response == "1" ? true : false);
        }
    });

    if( error )
    {
        if (message=='') message = element.name+" faild in my test.\n"
        ff_validationFocus(element.name);
        return message;
    }
    return '';        
}
<?php
    //Esto se podria hacer mas elegante cogiendo los datos del fichero de configuracion de Joomla:
    define('MYSQL_HOST'    , 'localhost' );
    define('MYSQL_DBNAME'  , 'DBNAME'    );
    define('MYSQL_USUARIO' , 'USUARIO'   );
    define('MYSQL_PASSWORD', 'PASSWORD'  );

    $result = "1";

    if( isset($_POST) )
    {
        try
        {
            $name  = str_replace("[]_", "", str_replace("_ff_nm_", "", ("_" . $_POST["name"] . "_")));
            $value = $_POST["value"];

            $conexion = new PDO("mysql:host=" . MYSQL_HOST . ";dbname=" . MYSQL_DBNAME, MYSQL_USUARIO, MYSQL_PASSWORD);

            $stmt = $conexion->prepare("SELECT true AS result FROM joomla_facileforms_subrecords WHERE name = ? AND value = ?;");
            $stmt->bindParam(1, $name );
            $stmt->bindParam(2, $value );
            $stmt->execute();

            while( $row = $stmt->fetch() )
            {
                $result = $row['result'] ? "1" : "0";
                break;
            }
            $conexion = null;
        }
        catch( Exception $e )
        {
            if( $conexion != null )
                $conexion = null;
            //$result = $e->getMessage();
        }
    }

    echo $result;
?>
Anuncios

Acerca de giltesa

Desarrollador de software, y hardware a pequeña escala. Aficionado al ciclismo, series y películas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: