Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Konstrukcja algorytmu a brak przerwania działania skryptu po header(location:)
Forum PHP.pl > Forum > Przedszkole
esos
Najpewniej popełniam jakiś błąd logiczny w konstrukcji skryptu - pomimo, że przy jednym z warunków przerywam skrypt przekierowując stronę headerem na inny url, skrypt wykonuje mi się do końca:

  1. <?php
  2.  
  3. //sprawdzanie czasu generowania strony
  4. //dalej w stopce sprawdzam sobie wartość
  5. function podaj_czas(){
  6. list($usec, $sec) = explode(" ", microtime());
  7. return ((float)$usec + (float)$sec);
  8. };
  9. $na_poczatku = podaj_czas();
  10.  
  11.  
  12. //sprawdzam, czy pojawiła się komenda wylogowania
  13. if ($_GET['a']=="logoff")
  14. {
  15. $_SESSION['xxx'];
  16. }
  17.  
  18. //jeśli nie ma sesji, to lecimy na formularz logowania
  19. if(!$_SESSION["xxx"])
  20. {
  21. //nie ma sesji
  22. header('Location: form.php');
  23. }
  24.  
  25.  
  26. //tu jest kawałek od łączenia się z bazą
  27. //trolololo lololo baza cyk!
  28. //koniec kawałka od łączenia się z bażą
  29.  
  30. //pobieram z GETa dane o firmie:
  31. $firma=$_GET['firma'];
  32. settype($firma, integer);
  33.  
  34.  
  35. ////////////////////////////////////////////////////////////////////
  36. //////////////// sprawdzarka uprawnien do firmy ////////////////
  37. ////////////////////////////////////////////////////////////////////
  38. //sprawdzam czy taki user ma taka firmę :)
  39.  
  40. $firmaUpr=$firma;
  41. $userUpr=$_SESSION["xxx"];
  42.  
  43. //czy user ma taką firmę?
  44. $pytUpr="select * from `firma` where `dodal`='".$userUpr."' and `id`='".$firmaUpr."'";
  45. $sukUpr=mysql_query($pytUpr);
  46. $ileUpr=mysql_num_rows($sukUpr);
  47. if ($ileUpr==0)
  48. {
  49. //echo " tu wywali - brak uprawnień!";
  50. header('Location: dennied.php');
  51. }
  52.  
  53. ////////////////////////////////////////////////////////////////////
  54. //////////////// KONIEC sprawdzarki uprawnien /////////////////
  55. ////////////////////////////////////////////////////////////////////
  56.  
  57.  
  58. /*
  59. TU JEST PROBLEM => w momencie, gdy ktoś pokombinuje z danymi w GET i podstawi nr firmy która nie należy do niego,
  60. skrypt ładnie odpala header`a i przekierowuje do plik dennied.php
  61.  
  62. CO CIEKAWE: pomimo przekierowania strony, wykonuje się dalsza część skryptu!
  63. jak niżej:
  64. */
  65.  
  66.  
  67. //sprawdzmy, czy jest taki rekord w bazie - jeśli nie, dodamy go :)
  68. $pytSpr="select * from `zero_obowiazki` where `firma`='".$firma."' and `proces`='".$proces."' ";
  69.  
  70. if (mysql_num_rows(mysql_query($pytSpr))==0)
  71. {
  72. $pytZero="INSERT INTO `zero_obowiazki`
  73. (`id`, `firma`, `proces`, `1`, `1n`, `1r`, `2`, `2n`, `2r`, `3`, `3n`, `3r`)
  74. VALUES
  75. (NULL, '".$firma."', '".$proces."', '', '', '', '', '', '', '', '', '')";
  76. mysql_query($pytZero);
  77. }
  78.  
  79. //później leci ciąg dalszy strony
  80.  


Dlaczego wykonuje mi się dalszy ciąg skryptu, skoro całość strony wyleciała już headerem?
W jaki inny sposób skutecznie wywalić przeglądarkę i php`a na inny url?
Pyton_000
Kod
header('Location: dennied.php');die;
esos
Cytat(Pyton_000 @ 10.10.2018, 11:24:00 ) *
Kod
header('Location: dennied.php');die;



Dziękuję, o to chodziło.
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.