Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ciasteczka?
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, mam taki skrypt:

  1. <?php
  2. //włączamy bufor
  3.  
  4. //pobieramy zawartość pliku ustawień
  5. require_once('var/ustawienia.php');
  6.  
  7. //startujemy lub przedłużamy sesję
  8.  
  9. //dołączamy plik, który sprawdzi czy napewno mamy dostęp do tej strony
  10. require_once('test_zalogowanego.php');
  11.  
  12. //sprawdzamy czy gracz pracuje
  13. if ($uzytkownik['pracuje'] > 0){
  14. //jeżeli gracz ma ustawione, że pracuje
  15. header("Location: praca.php");
  16. }
  17.  
  18.  
  19. //pobieramy nagłówek strony
  20. require_once('gora_strony2.php');
  21. //pobieramy zawartość menu
  22. require_once('menu.php');
  23. ?>
  24.  
  25. <div id="popupmessage" style="display:block;filter:alpha(opacity=100);-moz-opacity:1.0;"></div>
  26.  
  27. <script type="text/javascript" src="4115/js/work.js"></script>
  28.  
  29. <p class="buildingDesc">
  30. Czujesz że jesteś w miejscu, gdzie powstało wiele legend starożytnego świata a pisku jesteś w stanie <br>odróznić ziarenka kości i prochu ciał słabeuszy.
  31.  
  32. <div class="title_box">
  33. <div class="title_inner">Arena</div>
  34. </div>
  35. <?php
  36.  
  37. if(isset($_GET['walka'])){
  38. //jeżeli wciśnięto walkę z wybranym graczem
  39.  
  40. // w linku podaje się ID gracza z którym mamy walczyć, więc zabezpieczymy sobie tą zmienną
  41. $_GET['walka'] = (int)$_GET['walka'];
  42.  
  43.  
  44. $pozostalo = $uzytkownik['ostatnia_walka_pvp'] + 1800 - time();
  45. if($uzytkownik['zycie'] < 5){
  46. echo "masz za mało życia by walczyć<hr/>";
  47. } elseif($pozostalo > 0){
  48. echo "ostatnio prowadziłeś walkę<hr/>";
  49. } else {
  50.  
  51. //pobieramy dane
  52. $przeciwnik = mysql_fetch_array(mysql_query("select * from gracze where gracz !=".$uzytkownik['gracz']." and gracz = ".$_GET['walka']));
  53.  
  54. if(empty($przeciwnik)){
  55. //jeżeli nie pobrano przeciwnika
  56. echo "nie ma takiego gracza<hr/>";
  57. } else {
  58. //wszystkiedane przeciwnika mamy w zmiennej $przeciwnik
  59. echo "<b>rozpoczęto walkę</b><hr/>";
  60.  
  61. //walka ma trwać dopóki gracz i przeciwnik mają minimum 1 punkt życia
  62. while(($uzytkownik['zycie'] > 0) && ($przeciwnik['zycie'] > 0)){
  63.  
  64. $obrazenia = rand($uzytkownik['obrazenia_min'],$uzytkownik['obrazenia_max']);
  65.  
  66. $mod = $uzytkownik['atak'] / $przeciwnik['obrona'];
  67. if($mod > 2) $mod = 2;
  68. if($mod < 0.5) $mod = 0.5;
  69.  
  70. $obrazenia = floor($obrazenia * $mod);
  71. if($obrazenia < 1) $obrazenia = 1;
  72. if($obrazenia > $przeciwnik['zycie']) $obrazenia = $przeciwnik['zycie'];
  73.  
  74. $przeciwnik['zycie'] -= $obrazenia;
  75. echo "zadałeś ".$obrazenia." obrażeń przeciwnikowi<br/>";
  76.  
  77. if($przeciwnik['zycie'] < 1){
  78. //potwór nie żyje
  79. echo "<br/>ostateczny cios zabija ".$przeciwnik['login']."<br/>";
  80. $przeciwnik['zycie'] = 0;
  81.  
  82. } else {
  83. $obrazenia = rand($przeciwnik['obrazenia_min'],$przeciwnik['obrazenia_max']);
  84.  
  85.  
  86. $mod = $przeciwnik['atak'] / $uzytkownik['obrona'];
  87. if($mod > 2) $mod = 2;
  88. if($mod < 0.5) $mod = 0.5;
  89.  
  90.  
  91. $obrazenia = floor($obrazenia * $mod);
  92. if($obrazenia < 1) $obrazenia = 1;
  93. if($obrazenia > $uzytkownik['zycie']) $obrazenia = $uzytkownik['zycie'];
  94. $uzytkownik['zycie'] -= $obrazenia;
  95.  
  96. echo $przeciwnik['login']." zadał Ci ".$obrazenia." obrażeń<br/>";
  97.  
  98. if($uzytkownik['zycie'] < 1){
  99. //potwór zabił gracza
  100. echo "<br/>morderczy cios posyła Cię na ziemię, trochę czasu minie nim się pozbierasz<br/>";
  101. $uzytkownik['zycie'] = 0;
  102. }
  103. }
  104. echo "<br/>";
  105. }
  106.  
  107. if($uzytkownik['zycie'] > 0){
  108. //gracz wygrał walkę
  109. echo "wygrałeś walkę i zdobywasz 5 punktów oraz 100 złota";
  110.  
  111. mysql_query("update gracze set ostatnia_walka_pvp = ".time().", punkty = punkty + 5, zloto = zloto + 100, zycie = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  112.  
  113. mysql_query("update gracze set punkty = punkty + 1, zloto = zloto + 10, zycie = ".$przeciwnik['zycie']." where gracz = ".$przeciwnik['gracz']);
  114. $uzytkownik['punkty'] +=5;
  115. $uzytkownik['zloto'] +=100;
  116.  
  117. } else {
  118. //przegrałeś
  119.  
  120. echo "przegrałeś walkę i zdobywasz 1 punktów oraz 10 złota";
  121.  
  122. mysql_query("update gracze set punkty = punkty + 5, zloto = zloto + 100, zycie = ".$przeciwnik['zycie']." where gracz = ".$przeciwnik['gracz']);
  123.  
  124. mysql_query("update gracze set ostatnia_walka_pvp = ".time().",punkty = punkty + 1, zloto = zloto + 10, zycie = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  125.  
  126.  
  127. $uzytkownik['punkty'] +=1;
  128. $uzytkownik['zloto'] +=10;
  129. }
  130.  
  131. $uzytkownik['ostatnia_walka_pvp'] = time();
  132. echo "<hr/>";
  133. }
  134. }
  135. }
  136.  
  137. $pozostalo = $uzytkownik['ostatnia_walka_pvp'] + 1800 - time();
  138. if($uzytkownik['zycie'] < 5){
  139. echo "masz za mało życia by walczyć";
  140. } elseif($pozostalo > 0){
  141.  
  142. //gracz niedawno prowadził walkę
  143.  
  144. //dodajemy funkcję liczącą czas
  145. ?>
  146. <script type='text/javascript'>
  147. function liczCzas(ile) {
  148. godzin = Math.floor(ile / 3600);
  149. minut = Math.floor((ile - godzin * 3600) / 60);
  150. sekund = ile - minut * 60 - godzin * 3600;
  151. if (godzin < 10){ godzin = "0"+ godzin; }
  152. if (minut < 10){ minut = "0" + minut; }
  153. if (sekund < 10){ sekund = "0" + sekund; }
  154. if (ile > 0) {
  155. ile--;
  156. document.getElementById("zegar").innerHTML = godzin + ':' + minut + ':' + sekund;
  157. setTimeout("liczCzas("+ile+")", 1000);
  158. } else {
  159. document.getElementById("zegar").innerHTML = "[zakończono]";
  160. }
  161. }
  162. </script>
  163. Twoja postać niedawno prowadziła walkę: <span id='zegar'></span>
  164. <?php
  165. echo "<script type='text/javascript'>liczCzas(".$pozostalo.")</script>";
  166. } else {
  167. //pobieramy listę potworów
  168.  
  169. $gracze = mysql_query("select * from gracze where gracz !=".$uzytkownik['gracz']);
  170. if(mysql_num_rows($gracze) == 0){
  171. echo " brak graczy w grze";
  172. } else {
  173. echo "
  174. <table>
  175. <tr>
  176. <th align='center'>Gracz</th>
  177. <th></th>
  178. </tr>
  179.  
  180. ";
  181. while($g = mysql_fetch_array($gracze)){
  182. echo "
  183. <tr>
  184. <td>".$g['login']."</td>
  185. <td><a href='coloseum.php?walka=".$g['gracz']."'>walcz</a></td>
  186. </tr>";
  187. }
  188. echo " </table>";
  189. }
  190.  
  191. }
  192. //pobieramy stopkę
  193. require_once('dol_strony.php');
  194.  
  195. //wyłączamy bufor
  196. ?>


błąd w firefox:
Kod
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.
nospor
Ciągle przekierowujesz stronę na samą siebie to się zapętla
xxdrago
Tylko że za bardzo nie wiem gdzie. mógłbyś coś podpowiedzieć ?
nospor
No jedyne przekierowanie w tym kodzie masz tu:
if ($uzytkownik['pracuje'] > 0){
//jeżeli gracz ma ustawione, że pracuje
header("Location: praca.php");
}
Widać za każdym razem ten warunek jest spelniony i za każdym razem przekierowujesz.
xxdrago
super dzięki smile.gif
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.