Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adenison

[Resolvido] Erro ao gerar protocolo randomico

Recommended Posts

Boa tarde amigos,

 

Estou me aventurando na linguagem PHP e estou tendo algumas dificuldade no meu codigo...

Dentro do formulario de cadastro que criei, gero de forma randomica um protocolo, pois não minha falta de experiencia, não me permitiu exibir como protocolo o valor do campo ID da tabela que é incrementado automaticamente.

 

Mais o problema é o seguinte:

 

function makeRandomPassword(){

$salt = "0123456789";
srand((double)microtime()*1000000); 

$i = 0;

while($i <= 7){

$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp + 10;
$i++;
}
return $pass;
} 
$numero_randomico = makeRandomPassword();
$protocolo = ($numero_randomico);

Mais ele esta gerando constantemente numero iguais...

 

É possivel impedir que seja gerado numero iguail com tanta frequencia?

 

Agradeço a ajuda de todos.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado..

Então minha função ficaria desta forma?

 

function makeRandomPassword(){

$i = 0;
$salt = "0123456789";
srand((double)microtime()*1000000); 

while($i <= 10){

$num = md5(uniqid(rand(), true));
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp + 10;
$i++;
			}
			return $pass;
		} 
		$numero_randomico = makeRandomPassword();
		$protocolo = ($numero_randomico);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é necessário usar uma função, você pode usar direto em seu formulário. Por exemplo:

 

<?=md5(uniqid(rand(), true))?>

Se preferir colocar dentro da função, pode deixá-la somente assim:

 

function makeRandomPassword() {
 return md5(uniqid(rand(), true));
}

$numero_randomico = makeRandomPassword();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.