[resolvido] Gerar Um Numero Unico
#1
Posted 23/06/2007, 21:50
#2
Posted 23/06/2007, 22:02
De qualquer forma tente aliar algumas funções como "time() / rand() / md5()" com a "uniqid()" para gerar números unicos como visto do exemplo do manual veja:
http://www.php.net/m...tion.uniqid.php
#3
Posted 23/06/2007, 22:11
$code = rand(1, 99999999999999); setcookie("codigo",$code,time()+172800);
mas quando vou resgatar o cookie ele pega outro numero , pq ?
estou resgatando da seguinte maneira :
$_COOKIE["codigo"]ai quando resgato pega outro numero , pq ?
#4
Posted 23/06/2007, 22:32
Quanto ao Cookie, acredito que o "problema" esteja na forma que esteja querendo pegar o valor, ou seja vc quer pegar o valor do cookie logo após cria-lo, pórem ao criar cookie que vc fizer agora os valores só ficará ativo na próxima vez que carregar a página, sendo assim os códigos não vão coicidir dai vc está se confundido, acredito que vc esteja fazendo algo assim:"
<?php $code = rand(1, 99999999999999); // Gera o Código: 1234 setcookie("codigo",$code,time()+172800); // Grava o código: 1234 // Vai mostrar o código anterior (4321) e so mostrar o atual (1234) na próxima atualização // Porém ai vc já vai ter gerado um novo código/cookie do jeito que esse código esta ... echo "Cookie Anterior" . $_COOKIE["codigo"] . "<br>"; echo "Código gerado agora:" . $code; // Código atual: 1234 ?>
Acredito que seje isso...
#5
Posted 23/06/2007, 22:36
Caso eu gere um outro numero para o Cookie ele pega o numero que foi errado 589 soh que quando vou resgatar esse numero ele pega outro , e assim por diante !.
o que esta de errado ?
Edição feita por: mofo, 23/06/2007, 22:54.
#6
Posted 24/06/2007, 01:04
Gera um numero bem randomico que a probabilidade de se repetir é bem baixa.
Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);
Cookie só ficará valido para o novo valor no próximo reloading.
#7
Posted 24/06/2007, 12:28
depois de longas pesquisas descobri um metodo
$dad = mysql_fetch_array($aqped); $codigo = $dad["CCLVEN"]; if(isset($_COOKIE[$codigo])) { echo "O produto não foi solicitado por você"; }
esse codigo acima ele pega o valor do banco de dados guarda numa variavel e depois joga essa variavel dentro do cookie verificando se existe no cookie !
fonte : http://www.pontophp....p?act=ler&id=15
Edição feita por: mofo, 24/06/2007, 13:02.
#8
Posted 24/06/2007, 18:30
Porque, como a palavra mesmo diz, randomico é pego ao acaso, tendo possibilidade de ser repetido.
Para pegar um número realmente único você pode gerar um da seguinte forma:
<?php $unique = sprintf('%d%s%d', time(), str_replace(array(' ', '.'), '', microtime()), rand(1111111, 9999999)); ?>
Assim você combina muitos números em um só.
[]'s
Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger)
"Aquele que se define se limita."
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)