PHP - problema con contraseña aleatoria

   
Vista:

problema con contraseña aleatoria

Publicado por aldo (824 intervenciones) el 02/01/2016 02:23:40
he creado este codigo para crear una contraseña aleatoria:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$conexion = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
   error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
 
$email = $_POST['email'];
$e_mail="SELECT * FROM usuarios WHERE email = '$email'";
$res = @pg_query($conexion,$e_mail);
  if(@pg_num_rows($res)>0)
  {
     $cadena = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  	 $passw ='';
	 $lng_cadena = strlen($cadena);
	 $longitud = 8;
 
	 	for($x=1;$x<=$longitud;$x++)
		{
		   $aleatorio = mt_rand(0,lng_cadena-1);
		   $passw = substr($cadena,$aleatorio,1);
		   echo $passw;
 
		}
   }
   else
   {
   	 echo' <script language="javascript">alert("Atencion, su correo no existe");</script> ';
     echo "<script>location.href='passw.php'</script>";
 
   }
 
 
?>
pero no esta funcionando, esta arrojando siempre esta contraseña:

AAAAAAAA hasta ahora no veo cual es el error si alguin pudiera ayudarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM

problema con contraseña aleatoria

Publicado por VRM (171 intervenciones) el 02/01/2016 09:43:29
Hola:

El problema es el siguiente:

En la linea 17 se te olvidó poner $ delante del nombre de la variable $lng_cadena, de esta forma lo toma como cero lo cual hace que la función mt_rand sea mt_rand(0, -1), lo que devuelva false que se interpreta como 0 y te da siempre el mismo valor

A mi me da: HP6vm7MP

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con contraseña aleatoria

Publicado por aldo (824 intervenciones) el 02/01/2016 13:06:27
Hola. Efectivamente, gracias amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar