Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2011, 15:58
Avatar de rivasxavier
rivasxavier
 
Fecha de Ingreso: enero-2011
Ubicación: Caracas
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Php + Formulario + Xajax

Hola que tal como estan?

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&eacute;dula est&aacute; vacio. Verifique e intente de nuevo.";
    elseif (
$formulario["nombre"] == "")
      
$error_form "El campo N&oacute;mbre est&aacute; vacio. Verifique e intente de nuevo.";
    elseif (
$formulario["apellido"] == "")
      
$error_form "El campo Apellido est&aacute; vacio. Verifique e intente de nuevo.";
    elseif (
$formulario["username"] == "")
      
$error_form "El campo Nombre de registro est&aacute; vacio. Verifique e intente de nuevo.";
    elseif (
$formulario["password"] == "")
      
$error_form "El campo Clave est&aacute; 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&eacute;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();
?>
Ok,ya que hemos visto el codigo, les comento que si le quito lo que esta en rojo todo lo demas funciona correctamente y no me da problema alguno.

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&eacute;dula;";    
    }[/
COLOR
Esta ubicada en el archivo clad.php (que contiene todo lo relacionado a las consultas SQL del sistema),este archivo lo incluyo a principio de pagina include ('admin/clad.php'); y este es su codigo:

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));
    }
?>
Quisiera saber si esto se puede hacer,y si no se puede hacer asi cual seria la forma correcta,muchisimas gracias