Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Kilka intrukcji IF - jak z optymalizować?
kotek2185
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 7.12.2011

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


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. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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 (IMG:style_emoticons/default/smile.gif)
Jedyne co mogę od razu powiedzieć... Zamień zdanie logiczne z OR na takie by były tam jedynie AND.
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Poza tym w PHP przekierowywaniem zajmuje się funkcja header().
Go to the top of the page
+Quote Post
kotek2185
post
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 7.12.2011

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


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...:/
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
mortus
post
Post #6





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


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.
Go to the top of the page
+Quote Post
kotek2185
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 7.12.2011

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


właśnie o walidacje mi chodziło...nie wiedziałem jak ująć zagadnienie...(IMG:style_emoticons/default/tongue.gif) także dzięki za wskazówki dalej sobie jakoś poradze. temat można zamknąć. pozdrawiam
Go to the top of the page
+Quote Post

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: 22.08.2025 - 22:05