Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: noaptebuna en 24 Septiembre 2015, 09:12 am



Título: Como poner un minimo de caracteres en un input
Publicado por: noaptebuna en 24 Septiembre 2015, 09:12 am
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:

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):

Código:
<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>


Título: Re: Como poner un minimo de caracteres en un input
Publicado por: engel lex en 24 Septiembre 2015, 09:17 am
Código:
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...


Título: Re: Como poner un minimo de caracteres en un input
Publicado por: MinusFour en 24 Septiembre 2015, 15:30 pm
Código:
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().


Título: Re: Como poner un minimo de caracteres en un input
Publicado por: engel lex en 24 Septiembre 2015, 15:31 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í...