Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/08/2013, 22:51
Avatar de giancarloffi
giancarloffi
 
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta validar disponibilidad

hola, bueno estoy haciendo una validacion con el jquery validate usando el remote para mandar un mensaje de que el nombre ya existe, hasta ahi todo bien el script lo tengo asi:

Código:
$('#form-estudiante').validate(
                {
                    rules: {
                        email: {
                            required: true, //para validar campo vacio
                            email: true, //para validar formato email
                            //remote: {url: "views/intranet/pages/estudiante/validar.php", type: "post"}
                            remote: {url: "validar.php", type: "post"}
                        },
.....
....
....
y cree un archivo php llamado validar.php con este codigo:

Código PHP:
try {
    
$link = new PDO('mysql:host=localhost;dbname=database;charset=UTF-8''root''123456');
    
$consulta 'SELECT COUNT(*) FROM estudiante WHERE nombre =:nombre or email=:email';
    
$usr_check $link->prepare($consulta);
    
//$stmt = $con->prepare($consulta);
    //$usr_check->bindParam(1, $_POST['nombre'], PDO::PARAM_STR);
    
$usr_check->bindParam(":nombre"$_POST['nombre']);
    
$usr_check->bindParam(":email"$_POST['email']);
    
$usr_check->execute();
    if (
$usr_check->fetchColumn() == 0)
        echo 
"true";
    else{
        echo 
"false";
    }
} catch (
PDOException $e) {
    echo 
"Error al consultar: " $e->getMessage();

hasta ahi todo correcto, funciona de maravilla, pero en donde tengo mi modelo es en otro archivo llamado estudianteModel.php donde estan los insert, update y delete es ahi donde quiero insertar ese codigo pero dentro de una funcion por ejemplo public function validate(){
el codigo de arriba
}

y poner en el remote esa direccion

remote: {url: "models/estudianteModel.php", type: "post"}

ahi es donde surge el problema y no pasa nada no muestra el mensaje de que el usuario ya esta en uso, alguien tiene alguna idea de como solucionar esto?

el formulario lo tengo asi

Código PHP:
<?php
require_once '../../../../models/estudianteModel.php';

$users users::singleton_user();
$id $_POST['id'];

$data $users->validar_duplicados();

if (
$id 0) {
    
$data $users->get_usuarios_id($id);
} else {
    
$data $users->get_usuarios_limpio();
}
?>
<form class="form-horizontal" id="form-estudiante">
    <div class="control-group">
        <label class="control-label" for="codigo">Nombre</label>
        <div class="controls">
            <input type="text" id="nombre" class="input-xlarge required" name="nombre" value="<?php echo $data[0]["nombre"?>"/>
            <div id="msgUsuario"></div>  
        </div>

    </div>
    <div class="control-group">
        <label class="control-label" for="nombre">Email</label>
        <div class="controls">
            <input type="text" id="email" class="input-xlarge required email" name="email" value="<?php echo $data[0]["email"?>"/>
            <div id="msgEmail"></div>  
        </div>
    </div> 
    <div id="Info"></div>
</form>
y agregue esto: $data = $users->validar_duplicados(); para ver si me llamaba a esa funcion pero no :( si alguien me pudiera dar alguna sugerencia se lo agradeceria!!..