Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z losowaniem liczby
Kamilok1965
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.11.2010

Ostrzeżenie: (0%)
-----


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. ?>



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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.

Ten post edytował markonix 17.11.2010, 20:55:37
Go to the top of the page
+Quote Post
Kamilok1965
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.11.2010

Ostrzeżenie: (0%)
-----


Dzięki za zainteresowanie, a co dokładnie ma tam być (jestem totalnie zielony)?
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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.

Ten post edytował markonix 17.11.2010, 21:00:56
Go to the top of the page
+Quote Post
Kamilok1965
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.11.2010

Ostrzeżenie: (0%)
-----


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!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 10:41