Autor | Zpráva | ||
---|---|---|---|
claner Profil * |
Ahoj, potřeboval bych napsat v php script ktery by mi vytvářel unikátní id, pomůže pls nekdo?
---- Editace Mistrem: Úprava titulku a přesun tématu do vhodnější části diskuze. |
||
Joker Profil |
#2 · Zasláno: 20. 1. 2008, 17:30:37
Jestli na to ID nejsou zvláštní požadavky, stačila by na to jednoduchá databázová tabulka s jediným sloupcem- ID, primární klíč a auto_increment. Tam by se skladovaly už použité hodnoty. No a při každém požadavku na ID by skript zapsal do té tabulky a potom vrátil last_insert_id
|
||
claner Profil * |
#3 · Zasláno: 20. 1. 2008, 17:33:25
aha.. to me vubec nenapadlo.. a pritom je to tak jednoduche :-) diky moc
|
||
Juras Profil * |
#4 · Zasláno: 20. 1. 2008, 19:20:56
<?php echo time(); ?> <?php echo md5(time()); ?> |
||
peta Profil |
#5 · Zasláno: 21. 1. 2008, 08:41:25
Juras
md5 je sumacni funkce. Sance, ze trefis stejne id tu je. Ale ten cas, to je bezva. To je jeste jednodussi nez s tou databazi. |
||
Joker Profil |
#6 · Zasláno: 21. 1. 2008, 09:02:05
peta
Sance, ze trefis stejne id tu je. Ale ten cas, to je bezva. To je hodně nepravděpodobné, větší riziko je podle mě v tom, že pokud přijdou dva požadavky ve stejnou sekundu (což se v závislosti na druhu a vytížení aplikace stát může), dostanou duplicitní ID. Bezpečnější varianta téhož by byla md5(microtime()) |
||
Ondrejjj Profil * |
#7 · Zasláno: 22. 1. 2008, 21:47:14
podle me nejlepsi a nejschudnejsi je:
<?php $hash = md5(microtime()); $hash .= md5($REMOTE_ADDR); ?> unikatnost je zarucena temer na stoprocent musela by to byt velka haluz a treba ty cisla jeste promichat v poli pomoci rand. |
||
Joker Profil |
#8 · Zasláno: 22. 1. 2008, 21:51:34
Ondrejjj
Ten rand by to možná naopak zhoršíl. Nicméně než s tím dělat taková alotria, to bych radši použil tu databázi, jak jsem psal ve svém prvním příspěvku :-) |
||
Leo Profil |
#9 · Zasláno: 22. 1. 2008, 22:58:42
Co treba PHP fce uniqid, nestacila by? :-) Leo
|
||
Časová prodleva: 16 let
|
0