Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Instrukcja warunkowa sprawdzanie
Forum PHP.pl > Forum > Przedszkole
xwo52
Witam,
mam problem, zapewne dla was jakaś błahostka, ale jeżeli mam takie coś:
  1. if(warunek==true)
  2. {
  3. tutaj cos
  4. }
  5. i tutaj kolejny warunek
  6. if(warunek2==true)
  7. {
  8. tutaj cos
  9. }
  10.  
  11. i żeby kod ktory jest pod "spodem" żeby się nie wykonał dopóki nie "sprawdzi", bo takto mam takie coś i sprawdza i odrazu idzie
  12.  
  13.  
  14. //tutaj cos co ma się nie wykonywać dopóki if nie dojdzie tu ;p


a tutaj taki praktyczny kod
  1. if(strlen($_POST['nick']) <= 5 or strlen($_POST['email'] <=5))
  2. {
  3. echo "<font style='color: red;'>Nick,email musi zawierac minimum 5 znaków</font>";
  4. }
  5.  
  6.  
  7.  
  8. i jak to rozdzielic zeby w pierwszym warunku sprawdzalo nick,w drugim email,a dopiero po tym jak sprawdzi i przejdzie do dalszego kodu


wpadłem na takie coś,
  1. if(strlen($_POST['nick']) <= 5)
  2. {
  3. echo "<font style='color: red;'>Nick minimum 5 znaków</font>";
  4. }
  5. if(strlen($_POST['email'] <=5)
  6. {
  7. echo "<font style='color: red;'>Nick minimum 5 znaków</font>";
  8. }else{
  9. dalszy kod
  10. }
  11.  

ale nie wiem czy to zadziala
dublinka
  1. if(strlen($_POST['nick']) < 5)
  2. {
  3. echo "<font style='color: red;'>Nick minimum 5 znaków</font>";
  4. }
  5. if(strlen($_POST['email'] < 5)
  6. {
  7. echo "<font style='color: red;'>Email minimum 5 znaków</font>";
  8. }
  9.  
  10. dalej jak juz jest ok


Lub wersja druga z if, elseif i else

  1. if(strlen($_POST['nick']) < 5)
  2. {
  3. echo "<font style='color: red;'>Nick minimum 5 znaków</font>";
  4. }
  5. elseif(strlen($_POST['email'] < 5)
  6. {
  7. echo "<font style='color: red;'>Email minimum 5 znaków</font>";
  8. }else{
  9. // tu jak jest ok
  10. }


Jezeli uzywasz samych if-ów elseif i else juz nie jest potrzebne. Wystarczy ze w kazdym ifie dasz exit bo tak musialbys zaczac od if-a, potem elseif itd... az dochodzisz do else.
Z samymi ifami jest prosciej
xwo52
A jest możliwośc wznowienia kodu po tym exit?
viking
Ustaw jakaś zmienną $blad na bool albo jako tablica i dopisuj dopisuj do niej błędy. Jak puste/false to lecisz dalej.
dublinka
Cytat(xwo52 @ 29.08.2019, 19:26:33 ) *
A jest możliwośc wznowienia kodu po tym exit?

Tylko jaki jest wtedy sens tego ? Nie uzywaj exit czy die jesli nie chcesz wstrzymywac dzialania procesu.
xwo52
dublinka Ale np mam formularz rejestracji i mam tez kod do sprawdzania czy dana zmienna ma więcej niż 5 znaków, a dodawanie do bazy danych mam odrazu pod spodem, a po bazie danych moge mieć również jakiś inny kod na coś innego, wyświetlanie daty itp.
dublinka
Cytat(xwo52 @ 29.08.2019, 20:13:49 ) *
dublinka Ale np mam formularz rejestracji i mam tez kod do sprawdzania czy dana zmienna ma więcej niż 5 znaków, a dodawanie do bazy danych mam odrazu pod spodem, a po bazie danych moge mieć również jakiś inny kod na coś innego, wyświetlanie daty itp.


Tak sie teg onie robi. Jesli masz rejestracje, logowanie czy jakis podobny proces ktory ma za zadanie tylko wykonanie okreslonego dzialania nie wrzucasz zadnego dodatkowego kodu. W tych plikach ma sie wykonac okreslony kod i nic wiecej. Podczas rejestracji sprawdzasz / walidujesz dane zformularza tak jak chcesz. Na samym koncu dodajesz dane do bazy i od razu uciekasz stamtad. Exit to exit. Przeywasz dzialanie. Jesli sprawdzasz dane z formularza i dajesz exit to znaczy ze warunek sie spelnil (lub i nie to zalezy od zapytania) i stopujesz wykonanie dalszego kodu.

Wszystko co masz zrobic (konkrety) robisz na koncu i jesli wszystko przebieglo ok dajesz headera do innego pliku i tam ew cos wyswietlasz.

W miejscu gdzie dajesz exit wyswietlasz ew. link do formularza z info zeby ponowic.
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.