Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dziwne zachowanie instrukcji IF()
gcdreak
post 14.06.2009, 16:40:41
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


Witam!
Mam w pliku dwie, dość skomplikowane, instrukcje if.
Na samym początku każdej z nich są sprawdzane warunki.
Jeżeli warunki w jednej są spełnione i ona się wykona to druga się nie wykonuje?
Czy zdarzyło wam się kiedykolwiek coś takiego?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gcdreak
post 14.06.2009, 17:22:00
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


Kod
if(empty($stareHaslo)){
        $odpowiedz = '<li>Proszę podać obecne hasło.</li>'."\n\t";
    }elseif(!$ustawienia->sprawdzStareHaslo($stareHaslo)){
        $odpowiedz = '<li>Proszę podać poprawne obecne hasło.</li>'."\n\t";
    }
    
    if(isset($odpowiedz)){    //    Jeżeli podane 'obecne hasło' nie jest poprawne lub nie zostało podane,
        echo $odpowiedz;    //    to wyświetla się ostrzeżenie
        exit;                //    i dalsza część skryptu nie będzie wykonywana.
    }
    
    
    if((!empty($haslo)) && ($stareHaslo !== $haslo)){
        if(!SprawdzanieDanychWejsciowych::sprawdzHaslo($haslo)){
            $odpowiedz = '<li>Proszę podać nowe hasło składające się z co najmniej 6 znaków.</li>'."\n\t";
        }
        if(empty($haslo2)){                                                    
            $odpowiedz .= '<li>Proszę powtórnie podać nowe hasło.</li>'."\n\t";
        }elseif($haslo !== $haslo2){
            $odpowiedz .= '<li>Podane nowe hasła muszą być takie same.</li>'."\n\t";
        }
        
        if(isset($odpowiedz)){
            echo $odpowiedz;
        }else{
            if($ustawienia->zmienHaslo($haslo))
                $odpowiedz = 'Hasło zostało zmienione.<br />';
            else
                $odpowiedz = 'Nie zmieniono hasła.<br />';
        }
    }
    
    
    if((!empty($email)) && ($ustawienia->email !== $email)){
        if(!SprawdzanieDanychWejsciowych::sprawdzEmail($email)){
            $odpowiedz .= '<li>Proszę podać poprawny adres e-mail.</li>'."\n\t";
        }
        if(empty($email2)){                                                    
            $odpowiedz .= '<li>Proszę powtórnie podać nowy adres e-mail.</li>'."\n\t";
        }elseif($email !== $email2){
            $odpowiedz .= '<li>Podane nowe adresy e-mail muszą być takie same.</li>'."\n\t";
        }
        
        if(isset($odpowiedz)){
            echo $odpowiedz;
        }else{
            if($ustawienia->zmienEmail($email))
                $odpowiedz .= 'Adres e-mail został zmieniony.<br />';
            else
                $odpowiedz .= 'Nie zmieniono adresu.<br />';
        }
    }
        
    echo $odpowiedz;


Dodam jeszcze, żę wszystkie metody użyte w tych instrukcjach warunkowych zwracają jedynie wartości logiczne
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.06.2025 - 16:02