Validar formulario [js] y consulta de [php]

shako

Pues, comenzare por lo mas facil:

tengo una base de datos en la que guardo informacion del usuario, la inserto y muestro mediante php, el problema es a la hora de establecer la fecha de nacimiento que no se la manera de guardar una fecha en formato time(), puedo guardar la fecha en la que se registra por que hago un $fecha-registro = time()... alguna sugerencia??

Lo segundo es que en js estoy bastante mal y quiero validar un formulario(en realidad varios pero lo que preciso es un empujoncito ^^)

<input type="text" name="nick" size="15" maxlength="15" />
<input type="text" name="nombre" size="25" maxlength="25" />
<input type="text" name="apellido" size="35" maxlength="35" />
<input type="password" name="password" size="15" maxlength="15" />
<input type="text" name="fecha-nac" size="10" maxlength="10" />(aqui es donde tambien tengo el problema de php)
<input type="text" name="pais" size="15" maxlength="15" />
<input type="text" name="ciudad" size="30" maxlength="30" />
<input type="text" name="mail" size="30" maxlength="30" />
<input type="text" name="link" size="35" maxlength="150" />
<input type="text" name="link-desc" size="35" maxlength="150" />
<textarea name="firma" cols="30" rows="5"></textarea>

alguien me podria echar una mano?? lo que encontre en google no me ayudo mucho, lo que quiero es que no halla nada en blanco y que el mail contenga un @ y que la contraseña no se de menos de 6 digitos

desde ya muchas gracias!

Shendraf

Yo no sé mucho de php pero te puedo ayudar con js.

Validadores:

//devuelve true si el campo input tiene texto
function contieneTexto(input){
  var dato = document.getElementById(input).value;
  var valido = (dato != null && dato.replace(/^\s+|\s+$/g,"") != '');
  return valido;
}

function validaEmail(email){
  var patron1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // no valido
  var patron2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/; // valido
  if (!patron1.test(email) && patron2.test(email))
    return true;
  else
    return false;
}

//devuelve true si input cumple con el número de caracteres de longitud
function validaLongitudPass(input, longitud){
  var dato = document.getElementById(input).value;
  if (dato!=null) {
    if(dato.length>=longitud) {
      return true;
    } else {
      return false;
    }
  } else return false;

}
erdanblo

time() http://es.php.net/time te devuelve el timestamp http://es.wikipedia.org/wiki/Timestamp

Para pasar de timestamp a algo potable http://es.php.net/manual/en/function.date.php

shako

Joer como me ralla tocar codigo que no conozco,

el js aver, pongo ese codigo arriba del formulario y supuestamente al enviar un al darle a enviar, si algun campo esta mal, no lo envia??

lo que quiero es q me salga el alert("No puedes dejar campos vacios");

ese scrpit lo q hace es comprobar si los input cumplen los requisitos?? pero no me funciona...

y en cuanto al php no se si es que estoy rallado o que pero ahoramismo no me entero bien, volvere a probarlo en unos dias...

no me entero como transformar un 23/12/2007 en timestamp

Shendraf

Te veo muy perdido. Vamos a ver. Primero, si quieres que te funcione en Firefox, define el atributo id de tus elementos. Algo así:

<input type="text" name="nick" id="nick" size="15" maxlength="15" />
<input type="password" name="password" name="password" size="15" maxlength="15" />
<input type="text" name="mail" id="mail" size="30" maxlength="30" />

Define el submit de tu formulario así: submit="validaForm()"

function validaForm(){
  if(!contieneTexto("nick")){alert("Campo obligatorio");return;}
  if(!validaEmail(document.getElementById("mail").value)){alert("Email erroneo");return;}
  if(!validaLongitudPass("password",6)){alert("El password tiene menos de 6");return;}
  //aquí-> tu formulario .submit();
}

De nada

GamA

#1 Antes de nada advertirte que validar con javascript un formulario es principalmente algo estético y para ayudar a que el servidor web tenga menos peticiones, pero no te fies solo del javascript. El javascript se puede desactivar, pueden copiar tu web sin código y meter lo que es de la gana en los campos, etc...

Vamos que aunque lo comprubes en Javascript también debes comprobarlo en PHP.

Un saludo

bLaKnI

#4:

"Joer como me ralla tocar codigo que no conozco"

Hace mucho que programas? Trabajas? Tienes intención de trabajar como programador "no individual"?

Vas a tener que agarrarte fuertemente los machos si quieres dedicarte a esto. Precisamente esa frase tuya, es la que te dara de comer si te dedicas a este mundo.

Crawler

si usas jquery (o puedes usarlo para este caso) te recomiendo "vanadium" para validar los formularios.

Tan fácil como añadir el script en el header y en los inputs ponerle class=":email" , class=":required" y cosas asi.

Ahora, como ya han dicho antes.. no olvides validar los datos también en el servidor! ;)

Edit: http://vanadiumjs.com/

JuAn4k4

Pues menos mal que el codigo que te han pasado estaba bien clarito, que si te pasan cosas que pasan algunos... que es pa borrarlo y hacerlo entero.

Usuarios habituales

  • JuAn4k4
  • Crawler
  • bLaKnI
  • GamA
  • Shendraf
  • shako
  • erdanblo