![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 420 Pomógł: 44 Dołączył: 22.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
a co masz w bloku try
-------------------- Sztuką jest widzieć to czego nie widać.
|
|
|
![]()
Post
#3
|
|
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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 8 Dołączył: 16.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli to:
Kod if((!empty($haslo)) && ($stareHaslo !== $haslo)){...} się wykona to to: Kod if((!empty($email)) && ($ustawienia->email !== $email)){...} już się nie wykonuje i na odwrót. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 8 Dołączył: 16.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Rzecz w tym, że ja to sprawdzałęm kilka(naście) razy.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 8 Dołączył: 16.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dosonale o tym wiem, że tak powinno być, ale tak nie jest!
Popre to co mówię przykładem: $stareHaslo wpisuje poprane->wpisuje $hasło i $hasło2, wpisuje $email i $email2-> zatwierdzam Wynik: Wykonuje się to co w pierwszym if(), potem jeśli to co w if(->dotyczącym hasel<-) się nie wykonuje to wykonuje się to co w if(->dotyczącym maila<-). Dane w polach $email i $email2 ciągle są takie same(AJAX). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 8 Dołączył: 16.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ajax nic nie psuje:/
Niestety wina jest gdzie indziej. Proszę o pomoc bo już dzisiaj od rana siedze i patrze na to, kombinuje, ale ciągle to samo.:/ |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 8 Dołączył: 16.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie jesteśmy ślepi, bo jeśli wyświetle sobie wszystkie przesłane dane to wszystko się zgadza.
Jeśli chodzi o wykorzystywane klasy to wszystkie użyte w nich metody, tak jak wcześniej napisałem, zwracają wartości logiczne. Pozatym te metody są wykorzystywane jedynie wako warunki w if(). Zaobserwowałem jeszcze jedną dziwną rzecz: Jeśli zmienia się chasło to końcowa instrukcja echo wyświetla 'Hasło zostało zmienione.<br />' dwa razy; Jeśli natomiast zmienia się e-mail to informacja o pomyślnym przebiegu wyświetla się raz. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.06.2025 - 00:05 |