Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Konstrukcja algorytmu a brak przerwania działania skryptu po header(location:), Skrypt przerwał i wyskoczył na inną stronę, ale wykonał się do końca
esos
post 10.10.2018, 12:20:21
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 7.08.2005
Skąd: zabrze

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


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?

Ten post edytował esos 10.10.2018, 12:21:44
Go to the top of the page
+Quote Post
Pyton_000
post 10.10.2018, 12:24:00
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Kod
header('Location: dennied.php');die;
Go to the top of the page
+Quote Post
esos
post 10.10.2018, 12:34:37
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 7.08.2005
Skąd: zabrze

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


Cytat(Pyton_000 @ 10.10.2018, 11:24:00 ) *
Kod
header('Location: dennied.php');die;



Dziękuję, o to chodziło.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 15:50