Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kilka intrukcji IF - jak z optymalizować?
Forum PHP.pl > Forum > Przedszkole
kotek2185
Witam, mam pytanie zapewne trywialne ale jak uniknąć zagnieżdzenia intrukcji if / else if otóż mam taki kawałek kodu i chciałbym zoptymalizować to rozwiązanie bo wydaje mi się, że poniższe jest rzekłbym "niepełnosprawne" tzn działa w swoim zamierzeniu ale z pewnościa da się prościej tylko jak? z góry dzięki za sugestie
  1. if (!$nick || !$imie || !$haslo || !$nazwisko ) {
  2. echo "<meta http-equiv=\"refresh\" content=\"0;URL=../config/indeks.php?page=error10\">";
  3. }
  4. else if ($spr4 < 4) {
  5. echo "<meta http-equiv=\"refresh\" content=\"0;URL=../config/indeks.php?page=error11\">";
  6. }
  7. else if ($spr5 < 4) {
  8. echo "<meta http-equiv=\"refresh\" content=\"0;URL=../config/indeks.php?page=error12\">";
  9. }
  10.  
  11. else if ($spr1[0] >= 1) {
  12. echo "<meta http-equiv=\"refresh\" content=\"0;URL=../config/indeks.php?page=error13\">";}
  13.  
  14. else {
  15.  
  16. mysql_query("UPDATE users SET imie='$imie', nazwisko='$nazwisko', nick='$nick', haslo='$haslo' WHERE id='".$_POST['id']."'");
  17. echo "<meta http-equiv=\"refresh\" content=\"0;URL=../config/indeks.php?page=users\">";
  18. }
thek
Co to za zmienne wszelakie? Co to jest spr4, spr5? Co znajduje się w spr1[0] ? Ty wiesz... Każdy kto patrzy na Twój kod, nie ma pojęcia smile.gif
Jedyne co mogę od razu powiedzieć... Zamień zdanie logiczne z OR na takie by były tam jedynie AND.
mortus
Poza tym w PHP przekierowywaniem zajmuje się funkcja header().
kotek2185
sory, myślałem ze zmienne nie potrzebne, otóż:
  1. $spr1 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE nick='$nick' LIMIT 1"));
  2. $spr4 = strlen($nick);
  3. $spr5 = strlen($haslo);


a dalsza część kody to tamto co powyzej, w zasadzie chodzi o to by przy dodawaniu uzytkownika sprawdzało powyższcze ograniczenia, tylko zapis nie bardzo mi się podoba... jest jakiś taki za długi...:/
nospor
Pomijając bezsens tego rozwiązania to:
każde przekierowanie różni się tylko wstawką page=....

W warunkach wiec zapisuj page, a przekierowanie zrób jedno na koniec uwzględniając zapisany page
mortus
Na forum jest mnóstwo tematów dotyczących walidacji formularza i zachęcam do przyjrzenia się tym tematom. Sposób, jaki zademonstrowałeś może być bardzo "uciążliwy" dla użytkownika, który nie będzie miał od razu pełnej wiedzy na temat tego, które dane podał prawidłowe, a które nie. I jeszcze te ciągłe przekierowania.
kotek2185
właśnie o walidacje mi chodziło...nie wiedziałem jak ująć zagadnienie...tongue.gif także dzięki za wskazówki dalej sobie jakoś poradze. temat można zamknąć. pozdrawiam
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.