Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 4 de 4

Tema: Funcion generar contraseña

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    31 may, 10
    Ubicación
    Madrid, España
    Mensajes
    237
    Poder de Reputación
    8

    Funcion generar contraseña

    Hola

    Tengo una funcion para generar contraseñas y me funciona bien, el problema es que me la imprime y cuando llamo a la funcion desde el script la variable esta vacia, no se como guardar la contraseña en la variable sin que se queda vacia al llamarla.

    No se si me he explicado bien.

    Funcion:
    Código PHP:
    /*Generar contraseña aleatoria*/
    function generar_contrasena($tam=7,$may=FALSE)
    {
        
        
    //El tamaño por defecto es 7 para una longitud de 8,    
        //Tamaño Mínimo
        
    $min=7;
        
    //Tamaño Máximo
        
    $max=14;
            
        if(
    $may === FALSE)
        {
            
    $cadena='0123456789abcdefghijklmnopqrstuvwxyz';
        }
        else
        {
            
    $cadena='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        }
        if((
    $tam >= $min)&&($tam <=$max))
        {
            
    //Generación aleatoria segun sea mayuscula o minuscula.
            
    for($i=0;$i<=$tam;$i++)
            {
                
    //Guardamos en un arreglo.
                
    $pila[]=$cadena{rand(0,25)};
            }
            
    //Desordenamos el arreglo.
            
    shuffle($pila);
                    
            
    //Mostramos la contraseña   
            
    foreach($pila as $letra => $contrasena)
            {
               echo 
    $contrasena;        
            }     
        }
        
        

    Gracias

    Un saludo

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    1,572
    Poder de Reputación
    14
    Hola, lo que ocurre es que tienes que "devolver" la contraseña, no mostrarla. Para ello, en lugar de echo contraseña; debes escribir return $variable;, donde $variable es la que tiene la contraseña:

    Código PHP:
    function generar_contrasena($tam=7,$may=FALSE)
    {
        
        
    //El tamaño por defecto es 7 para una longitud de 8,    
        //Tamaño Mínimo
        
    $min=7;
        
    //Tamaño Máximo
        
    $max=14;
            
        if(
    $may === FALSE)
        {
            
    $cadena='0123456789abcdefghijklmnopqrstuvwxyz';
        }
        else
        {
            
    $cadena='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        }
        if((
    $tam >= $min)&&($tam <=$max))
        {
            
    //Generación aleatoria segun sea mayuscula o minuscula.
            
    for($i=0;$i<=$tam;$i++)
            {
                
    //Guardamos en un arreglo.
                
    $pila[]=$cadena{rand(0,25)};
            }
            
    //Desordenamos el arreglo.
            
    shuffle($pila);
            
            
    //Mostramos la contraseña   
           // foreach($pila as $letra => $contrasena)
            //{
              // echo $contrasena;      
            //}     
        
    }

        return 
    $pila;
    }

    $mi_pass_generado generar_contrasena();
    print 
    $mi_pass_generado
    Saludos.

    Te me has adelantado... 5 mins. más y tenias la misma respuesta.... xD
    Jejejejeje, lo siento :P.
    Última edición por skaparate; 19/06/2011 a las 21:48

  3. #3
    Esto empieza a ser un vicio... Habitante Avatar de Rabs
    Fecha de Ingreso
    16 jun, 11
    Ubicación
    Madrid
    Mensajes
    780
    Poder de Reputación
    9
    Te me has adelantado... 5 mins. más y tenias la misma respuesta.... xD
    Mericherno.es - Web del servidor DayZ hecha con la inestimable ayuda de johnetrep :)
    http://www.fernandosalcedo.com

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    31 may, 10
    Ubicación
    Madrid, España
    Mensajes
    237
    Poder de Reputación
    8
    Muchas gracias ya lo he solucionado

    Un saludo

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •