Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: graphixx en Enero 22, 2015, 07:21:45 PM

Título: [SOLUCIONADO] Problema con libreria que genera string aleatorio
Publicado por: graphixx en Enero 22, 2015, 07:21:45 PM
Tengo un script de generacion aleatoria de strings, que funciona perfecto en el xampp del portatil, pero en el xampp de la torre no.
Alguna idea de por que siendo la misma instalacion de xampp, el script funciona mal en la torre.
(http://imagizer.imageshack.us/v2/280x200q90/540/ystkNe.png) (https://imageshack.com/i/f0ystkNep)

Código (php) [Seleccionar]

<?php
ini_set
('max_execution_time'0);

function 
RandomString($length=10,$uc=TRUE,$n=TRUE,$sc=FALSE)
{
    
$source 'abcdefghijklmnopqrstuvwxyz';
    
//if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if($uc==1$source .= 'abcdefghijklmnopqrstuvwxyz';
    if(
$n==1$source .= '1234567890';
    
//if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
    
if($length>0){
        
$rstr "";
        
$source str_split($source,1);
        for(
$i=1$i<=$length$i++){
            
mt_srand((double)microtime() * 1000000);
            
$num mt_rand(1,count($source));
            
$rstr .= $source[$num-1];
        }
 
    }
    return 
$rstr;
}

$link=mysql_connect("localhost","root","");
mysql_select_db("seriales",$link);

require_once 
'Serial.php';
for (
$i 0$i 100$i++) {

    
$cod1 RandomString(6,TRUE,true,false);

$inputString addslashes(strip_tags($cod1));
$inputLength = (int)4;
$serial = new Serial($inputLength);
$serialString $serial->generate($inputString);
   
    
mysql_query("insert into seriales(qr,serial) values('$cod1','$serialString')",$link);
}

mysql_close($link);
?>



En el portatil los string se generan bien, y sale un codigo aleatorio de 6 cifras. Pero cuando lo ejecuto en la torre, pasando el script directamente del portatil a la torre sin tocar nada, el string se queda como que pegado en la primer cifra, no logro entender por que.
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: blackdrake en Enero 23, 2015, 08:06:36 AM
Ambos xampp están en la misma versión? Puede ser algo de php, porque si va en uno, el código debe de funcionar...

Un saludo.
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: DeBobiPro en Enero 23, 2015, 03:19:55 PM
te da algún error?
seguro que el usuario y pass son los mismos?
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: blackdrake en Enero 23, 2015, 04:06:34 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
te da algún error?
seguro que el usuario y pass son los mismos?

Teóricamente xampp trae por defecto:

root y sin pass.

Di por supuesto de que no había cambiado eso, pero es posible que sea por ese tipo de rror.
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: graphixx en Enero 23, 2015, 05:32:31 PM
Si en ambos equipos esta instalada absolutamente la misma version de xampp... voy a probar con otro entorno de php entonces, cual me recomiendan ?
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: Jimeno en Enero 23, 2015, 05:40:35 PM
He creado un código simple, salta a la vista cómo añadir caracteres al rango. Te lo dejo aquí así como un link para un compilador online en el que verás que funciona.
Código (php) [Seleccionar]
<?php
function random($len) {
    
$token "";
    
//Aquí tus posibles caracteres
    
$keys array_merge(range(09), range('a''z'), range('A''Z'));
    for (
$i 0$i $len$i++) {
    
$token .= $keys[array_rand($keys)];
    }
    return 
$token;
}
echo 
random(30);
?>



Link con PoC: http://ideone.com/UDJpgi


Sé que no es lo mismo, pero es funcional, ya solo te queda modificarlo para que haga lo que tú deseas.
Si este te funciona solo en un PC es problema de las credenciales MySQL o de XAMPP que hayas puesto.


Saludos.
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: Alex en Enero 23, 2015, 05:51:28 PM
Prueba el código de jimeno, aunque por lo visto correrás con la misma suerte.

Revisa que te esté funcionando bien la hora.

NO es necesario usar mt_srand antes de mt_Rand para mejorar el randomizado, al menos no en php.

PRueba re3instalar php, es muy raro que no te funcione, el código hace lo que debería, además por lo que dices si funciona con la excepción de que no randomiza más luego del primer caracter.
Título: Re:[Ayuda] problema con libreria que genera string aleatorio
Publicado por: graphixx en Enero 23, 2015, 05:55:19 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Prueba el código de jimeno, aunque por lo visto correrás con la misma suerte.

Revisa que te esté funcionando bien la hora.

NO es necesario usar mt_srand antes de mt_Rand para mejorar el randomizado, al menos no en php.

PRueba re3instalar php, es muy raro que no te funcione, el código hace lo que debería, además por lo que dices si funciona con la excepción de que no randomiza más luego del primer caracter.

Acabo de probar instalando wamp, y en wamp paso lo mismo asi que no era cosa del xampp. Voy a probar el codigo de jimeno.

El codigo de Jimeno soluciono el problema, mil y mil gracias Jimeno.


Planteo otra duda:
De todas formas es de lo mas extraño que en una computadora funcione, y en otra no... alguien sabria el por que ?