Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Firefox problem
Forum PHP.pl > Forum > Przedszkole
xxdrago
witam , mam taki skrypt. Na firefoxie mam taki bład. jak to naprawić?
Cytat
Nieprawidłowe przekierowanie
Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.
Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek.

  1. <?php
  2. $gracz = $uzytkownik['gracz'];
  3. if(isset($_GET['walka'])){
  4. //jeżeli wciśnięto walkę z wybranym potworem
  5.  
  6. // w linku podaje się ID potwora z którym mamy walczyć, więc zabezpieczymy sobie tą zmienną
  7. $_GET['walka'] = (int)$_GET['walka'];
  8.  
  9.  
  10. $pozostalo = $uzytkownik['ostatnia_walka_pvc'] + 600 - time();
  11. if($uzytkownik['zycie'] < 5){
  12. echo "masz za mało życia by walczyć<hr/>";
  13. } elseif($pozostalo > 0){
  14. echo "ostatnio prowadziłeś walkę<hr/>";
  15. } else {
  16.  
  17. //pobieramy dane
  18. $przeciwnik = mysql_fetch_array(mysql_query("select * from potwory where potwor = ".$_GET['walka']));
  19.  
  20. if(empty($przeciwnik)){
  21. //jeżeli nie pobrano przeciwnika
  22. echo "nie ma takiego potwora<hr/>";
  23. } else {
  24. //wszystkiedane potwora mamy w zmiennej $przeciwnik
  25. echo "<b>rozpoczęto walkę</b><hr/>";
  26.  
  27. //walka ma trwać dopóki gracz i przeciwnik mają minimum 1 punkt życia
  28. while(($uzytkownik['zycie'] > 0) && ($przeciwnik['zycie'] > 0)){
  29. //losujemy ile obrażeń zada gracz potworowi
  30. $obrazenia = rand($uzytkownik['obrazenia_min'],$uzytkownik['obrazenia_max']);
  31.  
  32. //modyfikujemy ilość obrażeń, im większa różnica atak gracza do obrony przeciwnika tym więcej zada się obrażeń
  33. $mod = $uzytkownik['atak'] / $przeciwnik['obrona'];
  34.  
  35. //obrażenia nie mogą być zwiększone więcej niż dwukrotnie, żeby nie przeginać ;] możesz zrezygnować z tej opcji
  36. if($mod > 2) $mod = 2;
  37.  
  38. //żeby nie przesadzać wprowadzono także ograniczenia dolne, obrażenia nigdy nie będą mniejsze niż niż wylosowana wartość / 2
  39. if($mod < 0.5) $mod = 0.5;
  40.  
  41. //obliczamy
  42. $obrazenia = floor($obrazenia * $mod);
  43.  
  44. //jeżeli nie zadano minimum 1 obrażeń, to ustaw wartość = 1, możesz z tego zrezygnować jeżeli chcesz
  45. if($obrazenia < 1) $obrazenia = 1;
  46.  
  47. //jeżeli zadało się więcej obrażeń iż przeciwnik ma życia to popraw dane
  48. if($obrazenia > $przeciwnik['zycie']) $obrazenia = $przeciwnik['zycie'];
  49.  
  50. $przeciwnik['zycie'] -= $obrazenia;
  51. echo "zadałeś ".$obrazenia." obrażeń przeciwnikowi<br/>";
  52.  
  53. if($przeciwnik['zycie'] < 1){
  54. //potwór nie żyje
  55. echo "<br/>ostateczny cios zabija potwora<br/>";
  56.  
  57. } else {
  58. //jeżeli potwór wciąż żyje
  59.  
  60. //losujemy ile obrażeń zada graczowi
  61. $obrazenia = rand($przeciwnik['obrazenia_min'],$przeciwnik['obrazenia_max']);
  62.  
  63. //modyfikujemy ilość obrażeń
  64. $mod = $przeciwnik['atak'] / $uzytkownik['obrona'];
  65.  
  66. //obrażenia nie mogą być zwiększone więcej niż dwukrotnie, żeby nie przeginać ;] możesz zrezygnować z tej opcji
  67. if($mod > 2) $mod = 2;
  68.  
  69. //żeby nie przesadzać wprowadzono także ograniczenia dolne, obrażenia nigdy nie będą mniejsze niż niż wylosowana wartość / 2
  70. if($mod < 0.5) $mod = 0.5;
  71.  
  72. //obliczamy
  73. $obrazenia = floor($obrazenia * $mod);
  74.  
  75. //jeżeli nie zadano minimum 1 obrażeń, to ustaw wartość = 1, możesz z tego zrezygnować jeżeli chcesz
  76. if($obrazenia < 1) $obrazenia = 1;
  77.  
  78. //jeżeli zadało się więcej obrażeń iż przeciwnik ma życia to popraw dane
  79. if($obrazenia > $uzytkownik['zycie']) $obrazenia = $uzytkownik['zycie'];
  80.  
  81. $uzytkownik['zycie'] -= $obrazenia;
  82.  
  83. echo $przeciwnik['nazwa']." zadał Ci ".$obrazenia." obrażeń<br/>";
  84.  
  85. if($uzytkownik['zycie'] < 1){
  86. //potwór zabił gracza
  87. echo "<br/>morderczy cios posyła Cię na ziemię, trochę czasu minie nim się pozbierasz<br/>";
  88. }
  89. }
  90. echo "<br/>";
  91. }
  92.  
  93. if($uzytkownik['zycie'] > 0){
  94. //gracz wygrał walkę
  95. echo "wygrałeś walkę i zdobywasz ".$przeciwnik['punkty']." punktów oraz ".$przeciwnik['zloto']." złota";
  96.  
  97. mysql_query("update gracze set ostatnia_walka_pvc = ".time().", punkty = punkty + ".$przeciwnik['punkty'].", zloto = zloto + ".$przeciwnik['zloto'].", zycie = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  98.  
  99. } else {
  100. //przegrałeś
  101.  
  102. echo "przegrałeś walkę";
  103.  
  104. mysql_query("update gracze set ostatnia_walka_pvc = ".time().", zycie = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  105. mysql_query("INSERT INTO raporty SET raport = '1', tytul = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  106. }
  107.  
  108. $uzytkownik['ostatnia_walka_pvc'] = time();
  109. echo "<hr/>";
  110. }
  111. }
  112. }
  113.  
  114. $pozostalo = $uzytkownik['ostatnia_walka_pvc'] + 600 - time();
  115. if($uzytkownik['zycie'] < 5){
  116. echo "masz za mało życia by walczyć";
  117. } elseif($pozostalo > 0){
  118.  
  119. //gracz niedawno prowadził walkę
  120.  
  121. //dodajemy funkcję liczącą czas
  122. ?>
  123. <script type='text/javascript'>
  124. function liczCzas(ile) {
  125. godzin = Math.floor(ile / 3600);
  126. minut = Math.floor((ile - godzin * 3600) / 60);
  127. sekund = ile - minut * 60 - godzin * 3600;
  128. if (godzin < 10){ godzin = "0"+ godzin; }
  129. if (minut < 10){ minut = "0" + minut; }
  130. if (sekund < 10){ sekund = "0" + sekund; }
  131. if (ile > 0) {
  132. ile--;
  133. document.getElementById("zegar").innerHTML = godzin + ':' + minut + ':' + sekund;
  134. setTimeout("liczCzas("+ile+")", 1000);
  135. } else {
  136. document.getElementById("zegar").innerHTML = "[zakończono]";
  137. }
  138. }
  139. </script>
  140. Twoja postać niedawno prowadziła walkę: <span id='zegar'></span>
  141. <?php
  142. echo "<script type='text/javascript'>liczCzas(".$pozostalo.")</script>";
  143. } else {
  144. //pobieramy listę potworów
  145.  
  146. $potwory = mysql_query("select * from potwory");
  147. if(mysql_num_rows($potwory) == 0){
  148. echo " brak potworów w grze";
  149. } else {
  150. echo "
  151. <table>
  152. <tr>
  153. <th align='center'>Potwór</th>
  154. <th>złoto</th>
  155. <th>exp</th>
  156. <th></th>
  157. </tr>
  158.  
  159. ";
  160. while($potwor = mysql_fetch_array($potwory)){
  161. echo "
  162. <tr>
  163. <td>".$potwor['nazwa']."</td>
  164. <td>".$potwor['zloto']."</td>
  165. <td>".$potwor['punkty']."</td>
  166. <td><a href='arena.php?walka=".$potwor['potwor']."'>walcz</a></td>
  167. </tr>";
  168. }
  169. echo " </table>";
  170. }
  171.  
  172. }
  173. ?>
darko
Abstrahując od kodu, który podałeś - masz wyłączoną obsługę ciasteczek w ff ?
xxdrago
Tak:)

dobra juz mam;)
darko
Możliwe rozwiązania:
- włącz obsługę ciasteczek smile.gif
- wyczyść cache


Za mało info podałeś:
jaka wersja firefoxa
uruchamiasz to lokalnie czy jakiś serwer online
czy to całość kodu na stronie, na którą próbujesz wejść, bo nigdzie tu nie ma fragmentu operującego na ciasteczkach
czy tylko na firefoxie tak się robi?
?

//edit: @up
to może zechcesz się podzielić z nami, co było nie tak?
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.