[SOLUCIONADO] Problema con libreria que genera string aleatorio

Iniciado por graphixx, Enero 22, 2015, 07:21:45 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 22, 2015, 07:21:45 PM Ultima modificación: Febrero 26, 2015, 10:07:24 PM por Gabriela
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.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php

<?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.
Mi Blog Personal
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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.



te da algún error?
seguro que el usuario y pass son los mismos?
Nivel 77 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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.



Si en ambos equipos esta instalada absolutamente la misma version de xampp... voy a probar con otro entorno de php entonces, cual me recomiendan ?
Mi Blog Personal
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Enero 23, 2015, 05:40:35 PM #5 Ultima modificación: Enero 23, 2015, 05:44:20 PM por Jimeno
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
<?php
function random($len) {
    $token = "";
    //Aquí tus posibles caracteres
    $keys = array_merge(range(0, 9), 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: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


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.
Contacto: @migueljimeno96 -

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.

Enero 23, 2015, 05:55:19 PM #7 Ultima modificación: Enero 24, 2015, 02:37:24 AM por Gabriela
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 ?



Mi Blog Personal
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta