Como poner un minimo de caracteres en un input

Iniciado por noaptebuna, 24 Septiembre 2015, 09:12 AM

0 Miembros y 1 Visitante están viendo este tema.

noaptebuna

Pues eso estoy trabajando con un formulario y necesito especificar que en el campo contraseña no tenga menos de 8 caracteres. A ser posible en php por supuesto. Éste es el código:

<html>
<head>
<script type="text/javascript">
alert("Te recordamos que si te registras, obtendrás información sobre nuevos grupos que vayamos incorporando. Muchas gracias");
</script>
<style type="text/css">
span{
color: red;
}
</style>
</head>
<body>
<h1><u>Alta de usuarios</u></h1>
<form action="registro.php" method="post" name="formulario">
Escribe tu nombre y apellidos:
<input type="text" name="nombre_apellidos" maxlength="30"><br>
Escribe tu correo electrónico:
<input type="text" name="correo_electronico" maxlength="30"><br>
Escribe tu contraseña <span>(Debe contener entre 8 y 14 carácteres)</span>:
<input type="password" name="contraseña" maxlength="14"><br>
<br>
<input type="submit" value="Registrar" onclick="valida_contraseña();">
</form>
</body>
</html>


Y el de PHP por si las moscas... (este código lo estoy reutilizando de un antiguo proyecto mio así que está bien):

<html>
<head>
<title>registro</title>
</head>
<body>
<?php
$conexion
=mysql_connect("localhost","root",""
  or die(
"Problemas en la conexion");
mysql_select_db("basedatos1",$conexion) or
  die(
"Problemas en la seleccion de la base de datos");
mysql_query("insert into grupo(nombre_apellidos,correo_electronico,contraseña) values
   ('
$_REQUEST[nombre_apellidos]','$_REQUEST[correo_electronico]','$_REQUEST[contraseña]')"
   
$conexion) or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo 
"¡¡Felicidades!! Has sido registrado. En menos de 24 horas recibirás un correo electrónico recordándotelo.";
?>

<h6><a href="index.html">Pincha aqui para volver a Metalyrock</a></h6>
</body>
</html>
Los maestros suelen castigar a sus alumnos por cometer errores, cuando en realidad, el mejor maestro es el mismo error. Quieren que atiendan los alumnos, y esto es imposible si ellos no hacen lo que les apasiona. Internet da conocimientos al alumno, y el error la sabiduría, pocos profesores quieren aceptarlo, pero la realidad, es ésta.

engel lex

if(count($_REQUEST['contraseña'])<8){ error_menos_de_8_caracteres(); }

las contraseñas se guardan como hash (sha o md5), no en texto plano... eso es uni de los grandes pecados de la programación web...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MinusFour

Cita de: engel lex en 24 Septiembre 2015, 09:17 AM
if(count($_REQUEST['contraseña'])<8){ error_menos_de_8_caracteres(); }

las contraseñas se guardan como hash (sha o md5), no en texto plano... eso es uni de los grandes pecados de la programación web...

Citar
php > $hello = 'Hello World';
php > echo strlen($hello);
11
php > echo count($hello);
1

Para contar longitud de caracteres se usa strlen(), no count(). Y si estas utilizando un formato multi-byte (UTF-8, UTF-16), lo mejor es usar mb_strlen().

engel lex

Cita de: MinusFour en 24 Septiembre 2015, 15:30 PM
Para contar longitud de caracteres se usa strlen(), no count(). Y si estas utilizando un formato multi-byte (UTF-8, UTF-16), lo mejor es usar mb_strlen().

rayos! sorry tienes razón lo confundí...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.