Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z losowaniem liczby
Forum PHP.pl > Forum > Przedszkole
Kamilok1965
Witam, po pierwsze chciałbym się przywitać, bo to mój pierwszy post.

Jeśli temat jest w złym dziale, to przepraszam i proszę o przeniesienie.


Mam problem z losowaniem liczby z zakresu 1-31 co jeden dzień.

Napisałem prosty skrypcik losujący (to mój pierwszy, więc proszę się nie śmiać).
Po otwarciu strony skrypt losuje liczbę, zapisuje ją w pliku i wypisuje (na stronie).
Odświeżam stronę i skrypt losuje, zapisuje i wypisuje inną liczbę, chociaż miał to robić tylko raz dziennie,
a potem zwracać liczbę z pliku.(Nie wiem, czy jasno się wyraziłem)

Co jest nie tak??
Z góry dziękuję za pomoc!

Oto skrypt:
  1. <?php
  2. $data=("data.txt");
  3. $numer=("numer.txt");
  4. $nr=file($numer);
  5. if($data==date("z")){
  6. echo "Dzisiejszy szczęśliwy numerek to:
  7. <b>".$nr."</b>";
  8. }else{
  9. $liczba=mt_rand(1,31);
  10. $fp=fopen($data, "w");
  11. $fn=fopen($numer, "w");
  12. fwrite($fp, date("z"));
  13. fclose($fp);
  14. fwrite($fn, $liczba);
  15. fclose($fn);
  16. echo "Dzisiejszy szczęśliwy numerek to:
  17. <b>".$liczba."</b>";
  18. }
  19. ?>



markonix
Kod
if($data==date("z")){

Pod $data powinno być przypisana wartość z pliku date.txt a nic nie jest przypisane.

Edit: tzn jest przypisana nazwa pliku ale o to chyba nie chodziło.
Kamilok1965
Dzięki za zainteresowanie, a co dokładnie ma tam być (jestem totalnie zielony)?
markonix
W pierwszym poście użyłeś słowa "napisałem" więc wychodzi na to, że kłamałeś.

$nr=file($numer) jeśli ten kod dobrze wypisuje numer (troszkę mnie to dziwi bo z tego co w manualu widzę to file zwraca tablicę) to analogicznie wyciągnij dzień roku z pliku daty.
Kamilok1965
Nie kłamałem. Posiłkowałem się tylko podobnymi losowaniami.
Dzięki za pomoc, POMÓGŁ dla Ciebie.

Zmieniłem to tak:
  1. <?php
  2. $data=("data.txt");
  3. $numer=("numer.txt");
  4. $dt=file_get_contents($data);
  5. $nr=file_get_contents($numer);
  6. if($dt==date("z")){
  7. echo "Dzisiejszy szczęśliwy numerek to:
  8. <b>".$nr."</b>";
  9. }else{
  10. $liczba=mt_rand(1,31);
  11. $fp=fopen($data, "w");
  12. $fn=fopen($numer, "w");
  13. fwrite($fp, date("z"));
  14. fclose($fp);
  15. fwrite($fn, $liczba);
  16. fclose($fn);
  17. echo "Dzisiejszy szczęśliwy numerek to:
  18. <b>".$liczba."</b>";
  19. }
  20. ?>


Dzięki wielkie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.