Ezt hogyan lehetne megvalósítani?
Szóval, egy szerencsejátékos oldalt akarok csinálni egy játékhoz. Nem fogom nyilvánosra rakni csak hobby-ból, lehet hülyén hangzik :D .
Szóval ha én írok egy php-t ami random számot csinál 0-14ig, az akkor fut le ha belépek az oldalra, minden más kliensnek más számot dob.
Hogyan lehetne ezt kiküszöbölni???
A segítséget előre is köszönöm.
2 dolgot tudok javasolni.
Sorsorláskor kimented az eredményt, mondjuk txt-be v adatbázisba és mindenkinek azt jeleníted meg.
V készítesz internet alapján seed-el rendelkező randomot és sorsoláskor módosítod ezt. Első randomra mindenkinek ugyanazt a számot fogja generálni.
Nehogymár az akkora rohadt nagy probléma legyen, hogy letárolj szerver oldalon egy nyamvadt számot...
Se txt, se adatbázis nem kell hozzá.
Bőven elég egy singleton pattern hozzá pl, ha már szépen akarod csinálni.
De ez sehogy se akar összejönni.
Mert figyeljetek, ha valaki felmegy az oldalra, ugye akkor lefut a php kód:
$saltSET = '0123456789abcdef';
$length = strlen($saltSET);
$salt = '';
$saltLength = mt_rand(8,12);
for ($i = 0; $i < $saltLength; $i++) {
$salt .= $saltSET[mt_rand(0, $saltLength - 1)];
}
$number = mt_rand(0,14);
$hash = md5($salt.$number);
$file = fopen("test.txt","w");
fwrite($file,"$number \r\n"."$hash \r\n"."$salt");
fclose($file);
ez így jó is lenne valahogy késleltetném amig belehet rakni a beteket és ha lejár az idő beolvassa innen. de az a baj, ha feljön valaki az oldalra akkor ez újraíródik, és más lesz a szám. Szóval valami olyanra gondoltam(elképzelés):
van még egy szerver ami frissíti magát annyi időnként amennyit megadok neki és az csinál egy ilyen számot majd azt egy változóba lementi vagy fájlba ls beolvassa a főoldal.
+Hogyan tudnám azt megcsinálni, hogy késleltetem?
Mert ha beraknék egy js késleltetést ugye az lefut ha belépsz és akkor nem lesz real-time az oldal.
A válaszokat nagyon megköszönném!
Elmented a számot és egy tetszőleges időpontot. Ha megnyitáskor még korábbi időpont van a kód nem fut le, ha igen, akkor generálódik az új szám és dátum. (pl.: A szám random, a dátum meg mai dátum + 10 nap.)
A szerverek szoktak tudni időzítetten futtatni dolgokat. Nézz utána a CRON-nak.
Tárold le az ip címet. ha még nem járt fent az oldalon, akkor a te általad generált számot olvassa be (mysql vagy valami sqlite motor kellene inkább). Használhatsz munkamenetet is (session).
Ha meg már járt fent akkor új számot dobsz amig.
stb
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!