Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Proste Lotto - problemy
DestiX
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 17.04.2010

Ostrzeżenie: (10%)
X----


Witam, potrzebuje zrobić skrypt php, który będzie miał za zadanie wylosować 6 liczb i porównać z liczbami podanymi przez użytkownika a na koniec będzie musial wyświetlić ile liczb zostało trafionych. Coś tam mi się udało napisać ale niestety nie działa, nie mam pojęcia w czym jest błąd dlatego też piszę tutaj.

Oto ten skrypcik:
  1. <html>
  2. <head>
  3. <title>Lotto</title>
  4. </head>
  5. <body>
  6. <form>
  7. 1: <input type=text name="a"/><br />
  8. 2: <input type=text name="b"/><br />
  9. 3: <input type=text name="c"/><br />
  10. 4: <input type=text name="d"/><br />
  11. 5: <input type=text name="e"/><br />
  12. 6: <input type=text name="f"/><br />
  13. <input type=submit name=losowanie value="Losuj"/>
  14. </form>
  15.  
  16. Trafione: <br />
  17. <?php switch($_GET['losowanie'])
  18. {
  19. case "Losuj":
  20. for($i=1; $i<=6; $i++)
  21. {
  22. $los[i] = rand(1,49);
  23. echo $los;
  24. }
  25. break;
  26. default:
  27. break;
  28. }
  29. for($x=1; $x<=6; $x++)
  30. {
  31. if ($_GET['a'] == $los[i])
  32. $wynik=$wynik+1;
  33. elseif ($_GET['b'] == $los[i])
  34. $wynik=$wynik+1;
  35. elseif ($_GET['c'] == $los[i])
  36. $wynik=$wynik+1;
  37. elseif ($_GET['d'] == $los[i])
  38. $wynik=$wynik+1;
  39. elseif ($_GET['e'] == $los[i])
  40. $wynik=$wynik+1;
  41. elseif ($_GET['f'] == $los[i])
  42. $wynik=$wynik+1;
  43. break;
  44. }
  45. echo $wynik;
  46. ?>
  47. </body>
  48. </html>


Będę wdzięczny, jeżeli komuś uda się to poprawić, dodatkowo dodam, że lekcje php zacząłem niedawno dlatego też ten skrypt jest napisany w bardzo prymitywny sposób (IMG:style_emoticons/default/tongue.gif) .

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mayka
post
Post #2





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 12.01.2009
Skąd: Kanapa

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


Moim zdaniem to troche nie tak zrobione, bo w drugiej petli masz $los[i] a to "i" to skąd niby ma być ? I tak jak napisał kolega musisz mieć $i a nie samo i bo to bedzie traktowane jako stała i tymsamym zwraca bzdury.
I raporotwanie błędów tu nic nie da..
Dam Ci gotowca a co mam dobry dzień (IMG:style_emoticons/default/biggrin.gif)
  1. $los = Array();
  2. switch($_GET['losowanie'])
  3. {
  4. case "Losuj":
  5. echo"Wylosowane: ";
  6. for($i=1; $i<=6; $i++)
  7. {
  8. $los[$i] = rand(1,10);
  9. echo $los[$i].'<br>';
  10. }
  11. foreach($los as $val)
  12. {
  13. if ($_GET['a'] == $val)
  14. $wynik=$wynik+1;
  15. elseif ($_GET['b'] == $val)
  16. $wynik=$wynik+1;
  17. elseif ($_GET['c'] == $val)
  18. $wynik=$wynik+1;
  19. elseif ($_GET['d'] == $val)
  20. $wynik=$wynik+1;
  21. elseif ($_GET['e'] == $val)
  22. $wynik=$wynik+1;
  23. elseif ($_GET['f'] == $val)
  24. $wynik=$wynik+1;
  25. }
  26. break;
  27. default:
  28. break;
  29. }
  30. echo '<br> Trafione: '.$wynik;


A no i czemu ta druga petla for (foreach) jest poza tym switchem.. tez nie wiem.. (IMG:style_emoticons/default/wink.gif)

Ten post edytował Mayka 10.03.2014, 21:07:31
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 12:13