Pues primero que nada quiero aclararles que estoy entrando en el mundo XAJAX, y de antemano les doy las gracias por la ayuda que puedan darme.
Mi problemita es este:
Tengo un archivo llamado f_form_registrar.php, donde tengo mi codigo Xajax en donde me valida el formulario que le paso por parametro,a continuacion el codigo
f_form_registrar.php
Código PHP:
<?php
require ('xajax/xajax_core/xajax.inc.php');
[COLOR="Red"]include ('admin/clad.php');[/COLOR]
$xajax = new xajax();
function form_crearUsuario($formulario){
//creo el xajaxResponse para generar una salida
$respuesta = new xajaxResponse();
//validación
$error_form = "";
if ($formulario["cedula"] == "")
$error_form = "El campo Cédula está vacio. Verifique e intente de nuevo.";
elseif ($formulario["nombre"] == "")
$error_form = "El campo Nómbre está vacio. Verifique e intente de nuevo.";
elseif ($formulario["apellido"] == "")
$error_form = "El campo Apellido está vacio. Verifique e intente de nuevo.";
elseif ($formulario["username"] == "")
$error_form = "El campo Nombre de registro está vacio. Verifique e intente de nuevo.";
elseif ($formulario["password"] == "")
$error_form = "El campo Clave está vacio. Verifique e intente de nuevo.";
elseif ($formulario["repassword"] == "")
$error_form = "Vuelva a introducir su clave.";
elseif ($formulario["repassword"] != $formulario["password"])
$error_form = "Las claves introducidas son diferentes. Verifique e intente de nuevo.";
elseif ($formulario["email"] == "")
$error_form = "E-Mail invalido. Verifique e intente de nuevo.";
[COLOR="Red"]if((existe_empleado($formulario["cedula"])) > 0){
$error_form = "Ya existe un usuario registrado con este numero de cédula;";
}[/COLOR]
//compruebo resultado de la validación
if ($error_form != ""){
//Hubo un error en el formulario
//en la capa donde se muestran mensajes, muestro el error
$respuesta->Assign("mensajes","innerHTML","<p class='msjerror'>$error_form</p>");
}else{
//es que no hubo error en el formulario
$salida = "Datos Procesados Con Exito.";
//mostramos en capa mensaje el texto que está todo correcto
$respuesta->Assign("mensajes","innerHTML","<p class='mensaje'>$salida</p>");
//tenemos que devolver la instanciación del objeto xajaxResponse
}
return $respuesta;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->register(XAJAX_FUNCTION, 'form_crearUsuario');
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
Ahora bien, la funcion: existe_empleado($formulario["cedula"]) ubicada en esta parte del codigo:
Código PHP:
[COLOR="Red"]if((existe_empleado($formulario["cedula"])) > 0){
$error_form = "Ya existe un usuario registrado con este numero de cédula;";
}[/COLOR]
clad.php
Código PHP:
<?php
include "conexionMySQL.php";
/*
Solamente en este archivo debe estar todo lo relacionado con las consultas SQL del Sistema, y
no debe haber funciones particulares de conexion a bases de datos como por ejemplo pg_connect o mysql_connect.
Si alguna de estas funciones se encuentra en este archivo, o hay alguna consulta SQL fuera de éste se rompería
la estructura de separación de capas por lo que llevaría a un mal diseño.
NOTA: ESTOS ARCHIVOS PUEDEN SER OPTIMIZADOS Y MODIFICADOS
*/
/*
La función existe_empleado tiene como objetivo consultar datos en la tabla t_empleado en la base de datos,
recibe un parámetro, cédula.
Se programó para que los posibles valores de retorno sean:
-2: Hubo un error en la conexión
0 ó 1: cantidad de registros en la base de datos.
*/
function existe_empleado($cedula){
$conexion = bd_conectar(DIRECCION,USUARIO,CLAVE,BASEDEDATOS);
if (!$conexion)
return -2;
$sql = "SELECT count(*) as cuenta FROM t_empleado e WHERE e.ci_empleado = '".$cedula."'";
$r = bd_ejecutar_DQL($conexion,$sql);
return (mysql_num_rows($r));
}
?>