Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zablokowanie odświeżania strony
Geniesis
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 4.12.2013
Skąd: Śląsk

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


Witam! Ponieważ uczę się PHP postanowiłem napisać w tym właśnie języku prostą gre "saper" niestety mam problem, ponieważ za każdym razem gdy nacisnę input to strona sie odświeża, co z tym idzie nie można przetestować dalszego kodu czy działa poprawie ze względu na reset wszystkiego. Czy moglibyście mi poradzić jak mam rozwiązać ten problem? Ew. jeżeli istnieje jakieś inne lepsze rozwiązanie podsunąć mi je.
Drugim "estetycznym" problemem jest dla mnie napisanie warunku: czy da się if z linii 20 zapisać prościej w stylu linii 23?


  1. <?php
  2. // zmienne for: r a i b c
  3. //$bomb[]
  4. //$man[] tablica pokazujaca ile bomb obok
  5. //write tablica wypisujaca
  6. $wyn = 0; //sprawdza czy wygrales
  7. $dis = 0; //blokowanie tablicy
  8. $bomb[1] = 23;
  9. $bomb[2] = 43;
  10. //losuje miejsca $bomb
  11. for ($r = 1; $r<11; $r++){
  12. //$bomb[$r] = rand(1,100);
  13. echo $bomb[$r]. " ";
  14. }
  15. if (isset($_POST[$a])){
  16. for($i = 1; $i < 101;$i++){ //sprawdza czy klikniecie w $bombe
  17. for ($b = 1; $b < 11; $b++){
  18. if($a != $bomb[$b]){
  19. for($c = 1; $c < 11; $c++){ // sprawdza ile bomb jest obok
  20. if (($a - 1 == $bomb[$c]) && ($a != 11) && ($a != 21) && ($a != 31) && ($a != 41) && ($a != 51) &&
  21. ($a != 61) && ($a != 71) && ($a != 81) && ($a != 91)){$man[$a]++; $dis = 1;}
  22.  
  23. if (($a + 1 == $bomb[$c]) && ($a % 10 == 0)){$man[$a]++; $dis = 1;}
  24.  
  25. if (($a - 11 == $bomb[$c]) && ($a != 11) && ($a != 21) && ($a != 31) && ($a != 41) && ($a != 51) &&
  26. ($a != 61) && ($a != 71) && ($a != 81) && ($a != 91)){$man[$a]++; $dis = 1;}
  27.  
  28. if (($a - 10 == $bomb[$c])){$man[$a]++; $dis = 1;}
  29.  
  30. if (($a - 9 == $bomb[$c]) && ($a % 10 == 0)){$man[$a]++; $dis = 1;}
  31.  
  32. if (($a + 9 == $bomb[$c]) && ($a != 11) && ($a != 21) && ($a != 31) && ($a != 41) && ($a != 51) &&
  33. ($a != 61) && ($a != 71) && ($a != 81) && ($a != 91)){$man[$a]++; $dis = 1;}
  34.  
  35. if (($a + 10 == $bomb[$c])){$man[$a]++; $dis = 1;}
  36.  
  37. if (($a + 11 == $bomb[$c]) && ($a % 10== 0)){$man[$a]++; $dis = 1;}
  38.  
  39. else{$man[$a] = ""; $dis = 1;} //jezeli nie ma
  40. }
  41. }
  42. if($a == $bomb[$b]){
  43. echo "przegrales";
  44. break;
  45. }
  46. $wyn++;
  47. if ($wyn == 90){
  48. echo "wygrales";
  49. }
  50. }
  51. }
  52. }
  53.  
  54. ?>
  55. <html>
  56. <head>
  57. <script language ="JavaScript">
  58. var sek = 0;
  59. setInterval("add()",1000);
  60. function add(){
  61. sek++;
  62. refresh();
  63. }
  64. function refresh(){
  65. document.getElementById("stoper").innerHTML = sek;
  66. }
  67. </script>
  68. </head>
  69. <body>
  70. <form id = "ff" method ="POST">
  71. <div id = "stoper">0</div>
  72. <div align = "center">
  73. <table cellspacing = "0" cellpadding ="0">
  74. <tr>
  75. <?php
  76. for ($a = 1; $a < 101; $a++){
  77. echo "<td>";
  78. echo "<form id = \"ff[$a]\" method = \"POST\">";
  79. echo "<input type = \"submit\" name = \"$a\" value = \"$man[$a]\""; if ($dis == 1){ echo "disabled = \"disabled\""; } echo "/>";
  80. echo "</form>";
  81. echo "</td>";
  82. if(($a % 10 == 0)){
  83. echo "</tr>";
  84. echo "<tr>";
  85. }
  86. }
  87. ?>
  88. </tr>
  89. </table>
  90. </div>
  91. </form>
  92. </body>
  93. </html>


Ten post edytował Geniesis 4.12.2013, 19:51:51
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: 26.12.2025 - 17:22