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";
?>