Autor | Zpráva | ||
---|---|---|---|
khubajsn Profil * |
#1 · Zasláno: 24. 7. 2009, 12:34:01
Zdravím.
Vytvořil jsem skript na registraci hráčů do herní ligy. Bohužel to dělá neplechu. Stanovím proměnnou pin, která je vytvořena s náhodným obsahem: $pin = rand(1,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9); A potom s ní dál pracuju - posílám ji mailem, ukládám do db apod. Jenže si to dělá co chce - dejme tomu, že by proměnná pin byla 1234567890. Mailem ji to pošle v pořádku, ale do databáze uloží úplně jiné číslo. Celý skript najdete tady Díky za odpověď, Khubajsn P.S.: Omlouvám se za dost nepřehledný kód.. |
||
Nox Profil |
#2 · Zasláno: 24. 7. 2009, 12:40:13
Nech si vypsat echem to, co máš v tom query příkazu
Jinak asi je jednodušší dát $pin = mt_rand(1000000000, 9999999999); |
||
Kajman_ Profil * |
#3 · Zasláno: 24. 7. 2009, 12:40:14
Asi to přeteče rozsah int, zkuste pin změnit na bigint.
|
||
khubajsn Profil * |
#4 · Zasláno: 24. 7. 2009, 12:55:47
Díky Vám oběma za rady, místi rand jsem použil Noxovo mt_rand, v db jsem pin (int) zaměnil za pin (bigint) a už to funguje - díky moc! :)
*Lock* |
||
rexi Profil * |
#5 · Zasláno: 24. 7. 2009, 16:14:35
nepouziva se spis na tohle varchar?
|
||
fandaa Profil |
#6 · Zasláno: 24. 7. 2009, 16:21:38
rexi
„nepouziva se spis na tohle varchar?“ Na číslo používat typ pro řetězec? |
||
rexi Profil * |
#7 · Zasláno: 24. 7. 2009, 17:54:56
jiste, ale aktivacni link byva spise tvoren nejakym hashem. Mozna v bajtech by to vyslo lip. Je zbytecne to vydavat za cislo kdyz s tim nepracujes jako s cislem, pouze to ctes.
|
||
Nox Profil |
#8 · Zasláno: 24. 7. 2009, 21:06:02
rexi
„ to vydavat za cislo kdyz s tim nepracujes jako s cislem, pouze to ctes“ Takže čísla nemají sloužit k tomu, aby se četly? „aktivacni link byva spise tvoren nejakym hashem“ No zde očividně ne... Ani velikost výhodou nebude, pro zakódování 1 číslice jako řetězec je potřeba 1B (ascii 30-39) a teď si to vynásob 10ti, pro zaznamenání max. čísla co tam chceme stačí nějakých 5B takže řetězcem by to mělo být 2x větší. Ne že bych si byl extra jistý, že to mám dobře, ale i tak |
||
Yur4Y Profil |
#9 · Zasláno: 24. 7. 2009, 21:27:11
Kajman_
Unsigned Int by stačilo. |
||
khubajsn Profil * |
#10 · Zasláno: 26. 7. 2009, 18:20:49
S číslem se pracuje ;)
Díky Yur4Y, už to ale je opravené a funguje to, což je pro mne klíčové xD |
||
Časová prodleva: 15 let
|
0