Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Bezpieczeństwo dwóch warunków w if
Rysh
post
Post #1





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Witam, mam pytanie dotyczące bezpieczeństwa używania 2 funkcji w if. Otóż chciałbym użyć czegoś takiego:
  1. if($this->form_validation->run() == TRUE && $this->mu->addServer($this->input->post())){
  2. redirect('/muonline');
  3. } else {
  4. $this->load->view('muonline/formAdd');
  5. }

Gdzie form_vaidation weryfikuje dane, natomiast addServer dodaje już wpis do bazy danych.
Jednak drugie bez pierwszego nie ma prawa się wykonać, mógłbym to zagnieździć w kolejnym if - jednak ciekawi mnie, czy forma o którą pytam jest dozwolona czy lepiej jej unikać.
Wykonałem test polegający na funkcji:
  1. function a() {
  2. echo 'test';
  3. return TRUE;
  4. }
  5. if(FALSE == TRUE && a==TRUE) {
  6. $nic = '';
  7. }

Druga funkcja nie jest wykonywana, mimo wszystko wole zapytać.

Pozdrawiam.

Ten post edytował Rysh 22.11.2014, 20:33:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

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


W drugim przypadku nie wywołujesz funkcji a, lecz porównujesz ją ze stałą.

Wszystkie warunki w "płaskim" if są sprawdzanie (na podstawie pierwszego nie można stwierdzić prawdziwości całości), chyba, że parser optymalizuje takie zapytanie do zagnieżdżonego, ale tego nie wiem.
Nie ma znaczenia czy jest to "płaski" if czy zagnieżdżona struktura, przynajmniej z punktu widzenia wydajności.
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: 8.10.2025 - 23:07