Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt nie działa, dlaczego?
Szupien
post 19.01.2008, 17:53:11
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 24.11.2007

Ostrzeżenie: (30%)
XX---


Siemka!!
Napisałem sobie mini totka smile.gif Prosze go sprawdzic bo nie działa mi informacja jak ktoś trafi wszystkie cyfry poprawnie. (co do kwesti bezpieczenstwa to to ma byc tylko do mojego urzytku wiec nie musiałem tego zabezpieczac).

  1. <?php
  2.  
  3. $cyfra_1 = $_POST['cyfra1'];
  4. $cyfra_2 = $_POST['cyfra2'];
  5. $cyfra_3 = $_POST['cyfra3'];
  6. $cyfra_4 = $_POST['cyfra4'];
  7. $cyfra_5 = $_POST['cyfra5'];
  8. $cyfra_6 = $_POST['cyfra6'];
  9.  
  10. $los = range(, 49);
  11. shuffle($los);
  12. $los_2 = range(, 49);
  13. shuffle($los_2);
  14. $los_3 = range(, 49);
  15. shuffle($los_3);
  16. $los_4 = range(, 49);
  17. shuffle($los_4);
  18. $los_5 = range(, 49);
  19. shuffle($los_5);
  20. $los_6 = range(, 49);
  21. shuffle($los_6);
  22.  
  23. for($los1 = 0 , $los2 = 0 , $los3 = 0 , $los4 = 0 , $los5 = 0 , $los6 = 0 ;
  24. $los1 < 1 , $los2 < 1 , $los3 < 1 , $los4 < 1 , $los5 < 1 , $los6 < 1 ;
  25. $los1++ , $los2++ , $los3++ , $los4++ , $los5++ , $los6++ )
  26. {
  27.  
  28. echo $los[$los1]; 
  29. echo ','.$los_2[$los2];
  30. echo ','.$los_3[$los3];
  31. echo ','.$los_4[$los4];
  32. echo ','.$los_5[$los5];
  33. echo ','.$los_6[$los6];
  34.  
  35. }
  36.  
  37. if($los[$los1] == $cyfra_1 && $los_2[$los2] == $cyfra_2 && $los_3[$los3] == $cyfra_3 && $los_4[$los4] == $cyfra_4 && $los_5[$los5] == $cyfra_5 && $los_6[$los6] == $cyfra_6 )
  38. {
  39. echo 'Moje Gratulacje, Własnie wygrałes Kopa!! biggrin.gif';
  40. }
  41.  
  42. ?>
Go to the top of the page
+Quote Post
Hazel
post 19.01.2008, 17:58:22
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Skąd wiesz, że to nie działa - trafiłeś kiedyś wszystkie cyfry poprawnie? dostal.gif
Bo jedyną możliwością sprawdzenia tego pod tak skonstruowanym skryptem jest niestety trafienie szóstki...
P.S. Przy okazji, skrypt nie działa tak jak totolotek - tam są kule, które się nie powtarzają, a u Ciebie równie dobrze można trafić wszystkie cyfry identyczne winksmiley.jpg
P.S.2 Zeby nie było - uruchomiłem skrypt i wygenerowałem parę zestawów szóstek winksmiley.jpg Dorobiłem formularz do tego, ale ani razu nie trafiłem (dziwne...) tongue.gif

Ten post edytował Hazel 19.01.2008, 17:59:09


--------------------
Go to the top of the page
+Quote Post
Szupien
post 19.01.2008, 18:00:37
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 24.11.2007

Ostrzeżenie: (30%)
XX---


Wiem że nie działa bo zrobiłem tak, że wygrywałem i sie nie pokazywało, dlatego załozyłem temat a co do tego ze moze sie trafic kilka identycznych to wiem tongue.gif
początkowo miałem coś takiego:

  1. <?php
  2. $los = range(, 49); //tworzy tabele z liczbami od 1 do 49
  3. shuffle($los); //losowanie
  4.  
  5. for ($i = 0 ; $i < 6 ; $i++)
  6. {
  7. echo $los[$i]; //wywołanie liczb
  8. echo ',' ; // dodanie przecinka 
  9. }
  10. ?>

ale nie wiedziałem zbytnio jak zrobic żeby info sie wyswietlało.

Ten post edytował Szupien 19.01.2008, 18:01:55
Go to the top of the page
+Quote Post
Hazel
post 19.01.2008, 18:03:06
Post #4





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


No to Ci uświadamiam, że jeśli to ma byc totolotek to nie powinno tak być winksmiley.jpg
Skrypt działa i nie ma na to bata. U mnie się wyświetla, jak go trochę przerobię tak, żebym mial wpływ na moje zwycięstwo. No i pomijam fakt, że masę zbędnych instrukcji tam zamieściłeś.

Ten post edytował Hazel 19.01.2008, 18:03:52


--------------------
Go to the top of the page
+Quote Post
Szupien
post 19.01.2008, 18:05:37
Post #5





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 24.11.2007

Ostrzeżenie: (30%)
XX---


a mozna to losowanie z mojego ostatniego posta rozwiazac inaczej??
Go to the top of the page
+Quote Post
Hazel
post 19.01.2008, 18:08:39
Post #6





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Na przykład tak:
  1. <?php
  2. $los = range(, 49); //tworzy tabele z liczbami od 1 do 49
  3. shuffle($los); //losowanie
  4. $prz = 0;
  5.  
  6. for ($i = 1 ; $i <= 6 ; $i++)
  7. {
  8. echo $los[$i].','; //wywołanie liczb
  9. if ($_POST['cyfra'.$i]) != $los[$i])
  10. {
  11. $prz = 1;
  12. }
  13. }
  14. if (!$prz)
  15. {
  16.  echo 'Wygrałeś';
  17. }
  18. ?>


Ten post edytował Hazel 19.01.2008, 18:09:54


--------------------
Go to the top of the page
+Quote Post
Szupien
post 19.01.2008, 18:14:45
Post #7





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 24.11.2007

Ostrzeżenie: (30%)
XX---


Parse error: syntax error, unexpected T_IS_NOT_EQUAL in C:\xampp\htdocs\new3.php on line 9
Go to the top of the page
+Quote Post
Hazel
post 19.01.2008, 18:19:56
Post #8





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


  1. <?php
  2. $los = range(, 49); //tworzy tabele z liczbami od 1 do 49
  3. shuffle($los); //losowanie
  4. $prz = 0;
  5.  
  6. for ($i = 1 ; $i <= 6 ; $i++)
  7. {
  8. echo $los[$i].','; //wywołanie liczb
  9. if ($_POST['cyfra'.$i] != $los[$i])
  10. {
  11. $prz = 1;
  12. }
  13. }
  14. if (!$prz)
  15. {
  16.  echo 'Wygrałeś';
  17. }
  18. ?>

Literówka. A mógłbyś nie przychodzić już z takimi pierdołami i zauważyć sam...


--------------------
Go to the top of the page
+Quote Post
qrees
post 19.01.2008, 18:21:25
Post #9





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(Szupien @ 19.01.2008, 18:14:45 ) *
Parse error: syntax error, unexpected T_IS_NOT_EQUAL in C:\xampp\htdocs\new3.php on line 9

No nie dziwne skoro niepotrzebnie jest nawias zamknięty....
Go to the top of the page
+Quote Post
Szupien
post 19.01.2008, 18:22:41
Post #10





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 24.11.2007

Ostrzeżenie: (30%)
XX---


fakt sorka biggrin.gif nie zauwarzyłem tego.
Go to the top of the page
+Quote Post
sobstel
post 19.01.2008, 18:52:48
Post #11





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


co jak ktoś wpisze np. 5, 4, 2, 3, 1 a ten skrypt wylosuje np. 1, 5, 3, 4, 2? tak więc przed sprawdzeniem najlepiej by było posortować wyniki, a także to co wpisał user.

poza tym, polecam lekturę funkcji tablicowych jakie oferuje php. dzięki nim sprawa staje się o wiele prostrza, bez żadnych pętli itp.

  1. <?php
  2. $typy = array(4, 8, 15, 16, 23, 42);
  3.  
  4. $liczby = range(1, 49);
  5. shuffle($liczby);
  6. $wylosowane = array_slice($liczby, 0, 6);
  7.  
  8. $trafione = array_intersect($typy, $wylosowane);
  9.  
  10. echo 'Typy : '.implode(', ', $typy).'<br/>';
  11. echo 'Losowanie : '.implode(', ', $wylosowane).'<br/>';
  12. echo 'Trafione: <b>'.count($trafione).'</b> ('.implode(', ', $trafione).')<br/>';
  13. ?>


mozna tez uzyc od razu array_rand(), tylko ze ta funkcja zwraca klucze wiec potem trzeba dodatkowo odycztywac wlasciwie wartosci na podstawie kluczy, albo po prostu dodac 1 do kazdej wartosci, bo range zwraca tablice z kluczami 0 do 48 i wartosciami 1 do 49.


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 08:13