Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Kłopot z if
Forum PHP.pl > Forum > Przedszkole
L1nk
Z pierwszego pliku pobiera dane i w zaleznosci czy zostale podane czy nie ma wyswietlic odpowiedni komunikat.

Kod z pierwszego pliku oszczędzę bo go dużo smile.gif Zależy mi tylko na znalezieniu błędów w dwóch pierwszych ifach w drugim.

  1. <?php
  2. if(($imie==|| $nazwisko==|| $miasto==|| $ulica==|| $telefon==0) && $ilosc==0) //nie podano wszystkich danych osobowych i nic nie zamówiono
  3. die("Nie podano wszystkich wymaganych danych osobowych i nic nie zamówiono.
  4.  Proszę wrócić do strony wcześniej i uzupełnić brakujące pola.</body></html>");
  5.  
  6. elseif($imie==|| $nazwisko==|| $miasto==|| $ulica==|| $telefon==0) //nie podano wszystkich danych osobowych
  7. die("Nie podano wszystkich wymaganych danych osobowych,
  8.  proszę wrócić do strony wcześniej i uzupełnić brakujące pola.</body></html>");
  9. ?>


Klopot w tym ze nawet jak mam wszystkie dane osobowe podane to nadal wyskakuje komunikat z drugiego warunku i nie przechodzi do dalszej czesci kodu... sad.gif Co jest nie tak? zmienne sa przekazywane do tej strony bo jak powyzej wyswietlilem je przy uzyciu echo to bylo w porzadku.



-------------------------
ponieważ dostałeś już odpowiedzi
nie zamknę wątku ale dodam
odpowiedni [tag] do tematu
na przyszłość o tym pamiętaj
~Cienki1980
atomek4
Czy kolega słyszał o typach zmiennych? Rzutując string na int-a otrzymasz 0. A wydaje mi się, że w tym przykładzie robisz to niejawnie smile.gif
Zainteresuj się odpowiednią funkcją np.strlen" title="Zobacz w manualu PHP" target="_manual

Pozdrawiam
pawel81
zastosuj empty lub isset

  1. <?php
  2. if((empty($imie) || empty($nazwisko) || empty($miasto) || empty($ulica) || empty($telefon) && $ilosc=='0') //nie podano wszystkich danych osobowych i nic nie zamówiono
  3. die("Nie podano wszystkich wymaganych danych osobowych i nic nie zamówiono.
  4.  Proszę wrócić do strony wcześniej i uzupełnić brakujące pola.</body></html>");
  5.  
  6. elseif(empty($imie) || empty($nazwisko) || empty($miasto) || empty($ulica) || empty($telefon)) //nie podano wszystkich danych osobowych
  7. die("Nie podano wszystkich wymaganych danych osobowych,
  8.  proszę wrócić do strony wcześniej i uzupełnić brakujące pola.</body></html>");
  9. ?>


a jak chcesz 0 do daj '0'

  1. <?php
  2. if(($imie=='0' || $nazwisko=='0' || $miasto=='0' || $ulica=='0' || $telefon=='0') && $ilosc=='0') //nie podano wszystkich danych osobowych i nic nie zamówiono
  3. die("Nie podano wszystkich wymaganych danych osobowych i nic nie zamówiono.
  4.  Proszę wrócić do strony wcześniej i uzupełnić brakujące pola.</body></html>");
  5.  
  6. elseif($imie=='0'|| $nazwisko=='0' || $miasto=='0' || $ulica=='0' || $telefon=='0') //nie podano wszystkich danych osobowych
  7. die("Nie podano wszystkich wymaganych danych osobowych,
  8.  proszę wrócić do strony wcześniej i uzupełnić brakujące pola.</body></html>");
  9. ?>

powinno pomóc
L1nk
dzieki za pomoc, zmienilem $zmienna = 0; na $zmienna =""; i dziala winksmiley.jpg
pawel81
albo zamień 0 na NULL wydaje mi sie że empty lub isset jest najlepszym rozwiązaniem

wiesz może lepiej zamień " " na ' ' lub na null
L1nk
czemu mialbym zmienic? chodzi o interpretacje kodu?
pawel81
Wrzuć to na serwer i wywołaj

  1. <?php
  2. $x = 0;
  3.  
  4. echo $x . '<br>';
  5.  
  6. echo "$x" . '<br>';
  7.  
  8. echo '$x' . '<br>';
  9. ?>
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.