[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."
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










