Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2014, 09:52
ninoecf
 
Fecha de Ingreso: diciembre-2014
Mensajes: 1
Antigüedad: 9 años, 11 meses
Puntos: 0
Problemas con Ajax en local

Buenas, soy nuevo por estos lares, aunque llevo años entrando para ver soluciones y técnicas de programación.

La urgencia de entrar aquí es que mañana tengo que entregar un proyecto, y en la víspera lo pruebo en local y me aparece un problema. He estado buscando, pero es imposible verlo.

Bien, en mi página web funciona perfectamente el código, pero cuando lo he llevado a local para probarlo han saltado todas las alarmas, el problema es que no deja enviar el formulario, y eso que no tiene ningún error, salvo una tonteria estoy seguro que el problema reside en el remote: de validación, que no sé porque no ejecuta la instrucción o no devuelve lo que debería. La prueba está que en la web si pongo un nick que existe me salta el error, de ya existe, y en local no.

Los códigos son los mismos en local que en el servidor... no entiendo que puede estar pasando.

Código JS

Código:
// jquery inicializado
$(document).ready(function(){

//Usando el Plugin de validate, creamos esta instrucción que valida cada parte del Formulario
	$('#formid').validate({
			//Focus false es para activar el focus en los campos, de esta forma los mensajes de error te saldrán al momento
			focusInvalid: false,
			//Rules son las normas de cada campo, los campos se clasifican por el id seguido de las normas entre {} y separadas por comas.
            rules: {
                username: {minlength: 3, required: true, remote: {url: "../includes/ajax/comprobarNick.php", type : "post"}},
                pass1: {minlength: 8, required: true},
                pass2: {minlength: 8, required: true, equalTo: "#pass1"},
				email: {email: true, required: true, remote: {url: "../includes/ajax/comprobarEmail.php", type : "post"}},
				nombre: {required: true},
                apellido: {required: true},
				direccion: {required: true},
                cp: {required: true},
                ciudad: {required: true},
                pais: {required: true},
                edad: {required: true}
			},
			//Los mensajes de error es como las normas, solo que en cada norma en lugar del valor tiene el mensaje de error
			messages: {
				username: {minlength: "Debes introducir minimo 3 caracteres", required: "Introduce un nombre de usuario", remote:"Nombre de usuario en uso"},
				pass1: {minlength: "El tamaño debe ser superior a 8 caracteres", required: "Introduce una contraseña"},
                pass2: {minlength: "El tamaño debe ser superior a 8 caracteres", required: "Confirma la contraseña", equalTo: "Las contraseñas deben coincidir"},
				email: {required: "Debes introducir un email", email: "Este no es un email valido", remote: "Email en uso"},
				nombre: {required: "Introduce tu nombre"},
                apellido: {required: "Introduce tu apellido"},
				direccion: {required: "Introduce tu dirección"},
                cp: {required: "Introduce tu código postal"},
                ciudad: {required: "Introduce una ciudad"},
                pais: {required: "Selecciona un país"},
                edad: {required: "Slecciona tu edad"}
			},
			
			//Está función se ejecuta cuando se envia el formulario y localiza los errores
			invalidHandler: function() {
				$(this).find(":input.error:first").focus();
			}

	});
	
});
Código Php comprobarNick

Código PHP:
<?php
/*
PHP función AJAX

Este php, comprueba un usuario si existe y devuelve true o false
*/

    
require_once("../db/msqli_consultas.php");
    include_once(
"../limpiarChar.php");
    
    
$nick=limpiar($_POST['username']);
    
    
$consultas=new Consultas();
    
    
$res=$consultas->getUser($nick);
    
    if(
$res!=NULL){
        echo 
"false";
    }else
        echo 
"true";
?>
Código Php comprobarEmail
Código PHP:
<?php
<?php
/*
PHP función AJAX

Este php, comprueba un email si existe y devuelve true o false
*/

    
require_once("../db/msqli_consultas.php");
    include_once(
"../limpiarChar.php");
    
    
$email=limpiar($_POST['email']);
    
    
$consultas=new Consultas();
    
    
$res=$consultas->getUserByEmail($email);
    
    if(
$res!=NULL){
        echo 
"false";
    }else
        echo 
"true";
?>