![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 24.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Napisałem prosty skrypt rejestracji użytkowników. Dodatkowo chcę, aby każdy z użytkowników otrzymywał unikatowy identyfikator o formacie (np. U1234567), czyli jak widać stała litera "U" oraz 7-cyfrowa unikatowa, losowa liczba. Napisałem coś takiego:
Niestety nie działa jak powinno. Tzn. jeśli jako pierwsza liczbę wylosuje ciąg którego nie ma w bazie to jest OK. Natomiast kolejna wylosowana liczba lubi się powtórzyć (dla ułatwienia ustawiłem 1-cyfrową liczbę i wpisałem do bazy U1-U7, czyli możliwe powinno być jedynie uzyskanie ciągów: U8,U9 oraz U0) Jeśli ktoś widzi błąd lub zna lepszy sposób na rozwiązanie problemu unikatowego, losowego ID byłbym wdzięczny za wskazówki. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat nie znalazłem odpowiedzi na pytanie: dlaczego gdy zainicjuje generator losuje ciągle taką samą liczbę gdy odświeżam stronę, a jeśli odznaczę inicjowanie wyświetla różne liczby przy odświeżaniu strony. srand() przyjmuje jako parametr liczbę całkowitą, która służy później do obliczania liczb pseudolosowych w funkcji rand(). A jako że w moim kodzie był błąd, to do funkcji przekazywana była zawsze liczba 0. Zamień sobie linijkę:
na:
lub na:
i problem zniknie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 23:11 |