Foros del Web » Programando para Internet » PHP »

Ayuda con variable alfanumerica aleatoria

Estas en el tema de Ayuda con variable alfanumerica aleatoria en el foro de PHP en Foros del Web. saludos a todos, tengo funcionando un sistema de postales, pero la ID de la postal funciona aleatoriamente y solo entre 1 y 32000, me gustaria ...
  #1 (permalink)  
Antiguo 24/08/2004, 18:24
 
Fecha de Ingreso: julio-2003
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Ayuda con variable alfanumerica aleatoria

saludos a todos, tengo funcionando un sistema de postales, pero la ID de la postal funciona aleatoriamente y solo entre 1 y 32000, me gustaria ver si alguien sabe alguna forma de generar ID's o variables alfanumericas de manera para que haya menor riesgo en la repeticion de variables al momento de generar aleatoriamente la variable.

saludos a todos y espero que me haya explicado bien
  #2 (permalink)  
Antiguo 24/08/2004, 19:22
Avatar de sir_notos  
Fecha de Ingreso: noviembre-2001
Ubicación: Mexicali
Mensajes: 709
Antigüedad: 16 años
Puntos: 1
Código PHP:
<?php
function gen_rand_string()
{
    
$chars = array( 'a''b''c''d''e''f''g''h',
            
'i''j''k''l''m''m''n''o',
            
'p''q''r''s''t''u''v''w',
            
'x''y''z''1''2''3''4''5',
            
'6''7''8''9''0');

    
$max_chars count($chars) - 1;

    
srand((double) microtime()*1000000);

    
$rand_str '';
    for(
$i=0$i 8$i++)
    {
        
$rand_str $rand_str $chars[rand(0$max_chars)];
    }

    return 
$rand_str;
}
?>
Pieza de codigo tomada de PHPbb

tambien puedes darle un MD5()
lego str_shuffle()
leugo
substr($str,0,12); o algo asi :)

cheka aqui para ver mas funciones de manejo de string
http://mx2.php.net/manual/en/ref.strings.php
__________________
Usuario Registrado de linux #374849

Última edición por sir_notos; 24/08/2004 a las 19:23
  #3 (permalink)  
Antiguo 24/08/2004, 19:41
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 15 años, 9 meses
Puntos: 43
Hola miguel280975
pudes usar la funcion uniq, en combinacion con otras para obtener un ID unico.
ejemplo
Código PHP:
md5(uniqid(rand()));
//esto te generar un numero parecido a este 9f47aa3a7cadfabdc5c76208210c94b8 
manual de PHP
Cita:
Esto creará un identificador de 32 carácteres (un número hexadecimal de 128 bits) que es extremadamente difícil de predecir.
mas info.
http://www.php.net/manual/es/function.uniqid.php
Saludos
  #4 (permalink)  
Antiguo 24/08/2004, 20:01
 
Fecha de Ingreso: julio-2003
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
muchas gracias sir_notos y Genetix, andaba buscando algo como la segunda solucion


lo probare

Última edición por miguel280975; 24/08/2004 a las 20:03
  #5 (permalink)  
Antiguo 24/08/2004, 20:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Hace tiempo dejé una funcioncita para tal fin en las FAQ's de este foro .. Genera "passwords" (cadenas aleatorías) tanto alfanuméricas como numéricas de longitud (en caracteres/dígitos) variables ...

Si quieres probarla:
http://www.forosdelweb.com/showthrea...483#post411483


Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:11.