Usando RAND() para crear una cadena aleatoria

8 abril, 2013
Jhonnyf

La función RAND() en php nos devuelve un numero aleatorio al azar de 0 hasta el máximo posible (getrandmax() para saber cual es el mayor numero posible) entre sus usos puede ser crear un dado para juegos en donde deberíamos indicar que el mínimo es 1 y el máximo será 6

otro uso es por ejemplo mostrar un banner de manera aleatorio o que rote

Aqui el código para Generar una cadena de forma aleatoria, por ejemplo un password autogenerado.

 

Post Relacionados

16 Comentarios. Dejar nuevo

Muy bien pensado. Cuando lei el titulo pensaba en que lo harias mediante los valores decimales de cada letra en la tabla ASCII, pero como tu lo has hecho es mucho mas facil.

Responder

una duda cual es el codigo para almacenar la variable?

Responder

En el autogenerado de contraseña final…creo que lo habéis hecho más difícil de lo que podría ser, os podríais haber ahorrado el bucle por ejemplo. Mi código es este:

$caracteres = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890”;
$desordenada = str_shuffle($caracteres);
$password = substr($desordenada, 1, 10);
echo $password;
?>

Con la funcion str_shuffle() desordenamos la cadena, por lo que siempre pillamos del puesto 1 hasta el 10, pero al desordenarse cada vez, nunca saldrá la misma contraseña. Lo he probado y funciona muy bien, y creo que es bastante más fácil, aunque si es para recordar como usar bucles y todo eso esta bien.

Os habla un novatillo jeje, espero haber ayudado.

Responder

Muy buena idea David. En lo personal las dos son buenas pero esta parece gastar menos recursos.

Responder

No se si te refieres a:
$var = rand(1,10);

En este caso $var tendrá un valor aleatorio entre 1 y 10, podría ser 3, 5, 7, o 1.. será aleatorio cada vez que se ejecute el archivo.php

Responder
Jorge Suarez Torres
2 abril, 2014 12:33 PM

Excelente código. Pocas veces dejo un comentario y solo lo hago cuando funciona la solución encontrada y esta acorde con el objetivo que se desea alcanzar.

Responder

buen aporte chicos, tengo una gran duda como puedo crear variables (nuevas) dentro de un rutina en php, como por ejemplo, en cierta linea de mi codigo que se genere una variable llamada $materia1, $materia2, $materia3 o cualquier otro numero dependera eso de unos datos que saque deuna base de datos en mysql. saludosy gracias.

Responder

lo que pides si es posible, pero para eso existe los arrays, $arreglo[1], $arreglo[2], etc, ademas que existen funciones que te pueden ayudar como foreach, y un sin fin de posibilidades con arrays,

en tal caso lo que pides si es posible y aqui te dejo el codigo de ejemplo:

Contenido de string como variable

< ?php $prueba1 = 10; $variable = 'prueba'; echo ${'prueba' . 1}; ${'prueba' . 1} += 10; echo "< br />“;

echo $prueba1;

Responder

Gracias Jhonnyf, no solo por tu aporte, si no resolverlo de manera que yo tenia idea y ademas por la manera mas viable de lo array. Me queda muy claro, muy agradecido.

Responder

Otra pregunta, lo he visto en foreach donde explicas Jonnyf los arrays, que significa “=>”; gracias de antemano por tu respuesta.

Responder

El foreach al usarlo con arrays, puedes recorrer los elementos o elementos y su índice, y la sintaxis es como la muestro, es decir: foreach ($array as $clave=>$elemento) El “=>” es parte de la sintaxis

Responder

David tu codigo anda mejor

Responder

muy ingeniosa la solucion te felicito, excelente post!!

Responder

buenas como puedo hacer un formulario donde introduzca un codigo guardado en una base de datos y me lo verifique

Responder

una pregunta como puedo hacer para que genere nombres aleatorios por ejemplo jun,maria,altagracias…

Responder

como puedo hacer una rand con palabras predefinidas?

Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *