Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/04/2008, 04:33
crujikoki
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 11 meses
Puntos: 8
Re: validacion FORMULARIO

Hola de nuevo,

Buffffffffffff, no se por donde empezar... Cuando dices esto:
Cita:
otra preguntilla, quando llenas un formulario y le da al boton enviar, la documentacion que pones del formulario donde va a parar.....puede que sea una pregunta tonta....pero ....
Por enviar entiendo que le haces un submit, no? Bueno pues los datos van a parar a donde le dices tu. Para indicarle el destino tienes que editar el atributo action del form. Por ejemplo:

<form id="formu" name="formu" method="post" action="miPaginaDeDestino.php">...</form>

La ruta tienes que ponerla dependiendo de donde se encuentre tu páginade destino respecto de tu página de origen. En ese caso solo sirve si están en la misma carpeta.

Luego, sobre lo que pides de la validación, pues tiene algo de faenilla,pero vamos por partes:

Lo de que sea mayor de edad no lo puedes controlar, solo haciendo que te indique la fecha de nacimiento y se la restas a la actual. Esto no lo he hecho nunca y no tengo muy claro como hacerlo, pero lo que yo haría sería restar el año actual menos el introducido. Si da positivo es que tiene más de 18, si da negativo tiene menos, pero si da 0 puede ser que tenga 18 o que aun no. Y para eso hay que recurrir al mes y al día aplicando el mismo procedimiento.

Lo del correo electrónico:
Yo lo que haría sería guardar la cadena introducida y hacerle un split() y como caracter separador la @. Si hace el split() luego miraría lo que hay detrás de la arroba y volvería a hacer otro split() pero esta vez separarí por el punto. Pero aquí viene un tema del que no tengo ni idea. No se como mirar si el dominio y el subdominio son válidos.

Lo de que el usuario sea diferente del nick:

A esto le veo un problema en tu HTML. Has puesto en mismo name en todos los inputs (que no está mal, pero personalmente no me gusta9 pero si haces eso, al menos ponles un id diferente, por que sino cuando hagas un getElementById o un getElementsByName vas a tener problemas. Te los cambio y tu luego pones lo que quieras:

Código PHP:
NOMBRE/NICK: <input type="text" id="nick" name="mnombre" size="50" maxlength="50"></p>
<
p>USUARIO:<input type="text" id="usuario" name="mnombre" size="20" maxlength="50"> </p
Lo de las contraseñas pasa lo mismo que con lo anterior, lo cambio´por esto:
Código PHP:
<p>CONTRASE&Ntilde;A: <input type="text" id="pass1" name="mnombre" size="20" maxlength="50"></p>
<
p>REPETIR CONTRASE&Ntilde;A:<input type="text" id="pass2" name="mnombre" size="20" maxlength="50"> </p
Y para hacerte el script que pides también te cambio la del e-mail:

Código PHP:
<p>E-MAIL: <input type="text" id="emilio" name="mnombre" size="50" maxlength="50"></p
A partir de eso hazte una función que sea algo así:

Código PHP:
function validación()
{
    
ok true;

    
nick document.getElementById("nick");
    
usuario document.getElementById("usuario");
    
pass1 document.getElementById("pass1");
    
pass2 document.getElementById("pass2");
    
correo document.getElementById("emilio");
    
cadenas correo.split("@");
    
    if(
pass1.value != pass2.value)
    {
        
alert("Las contraseñas intriducidas no son iguales");
        
pass1.value "";
        
pass2.value"";
        
ok false;
    }
    
    if(
nick.value == usuario.value)
    {
        
alert("El usuario y el nick no pueden coincidir");
        
nick.value="";
        
usuario.value="";
        
ok false;
    }
    
    if(
cadenas.length == 2)
    {
        
dominios cadenas[1].split(".");
        if(
dominios.length != 2)
        {
            
alert("El correo introducido es incorrecto");
            
ok false;
        }
        
    }
    else
    {
        
alert("El correo introducido es incorrecto");
        
ok false
    }
    
    if(
ok)
        
document.getElementById("TuFormulario").submit();
    

La función no la he probado, y tampoco te he puesto lo de la fecha por que solo se hacerlo en PHP. Fíjate que he supuesto que todo eso está dentro de un formulario y he puesto que tu formulario se llama "TuFormulario". Esta función tendrías que meterla en un onclick de algún botón.

Si hay algún problema lo vuelves a comentar.