![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam nietypowy problem podczas sprawdzania wartości stałej (skrypt niżej) wyświetla błąd serwera. Pytanie, jak mam umieścić stałą by serwer nie wywalał mi błędów. Dodatkowo chciałem wspomnieć iż w edytorze Aptana wskazuje mi błąd składni (czyli że jest zła składnia zapytania), dla zmiennej jest wszystko ok, ale zależy mi na zastosowaniu stałych.
Ten post edytował ksenonlogin 6.08.2012, 09:18:57 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jaki błędy są wyświetlane, jeśli jest to błąd że stała nie jest zdefiniowana to jest poprawny błąd.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
A możesz jeszcze raz zadać pytanie, bo tak je napisałeś, że nic kompletnie z niego nie rozumiem ;/
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
A możesz jeszcze raz zadać pytanie, bo tak je napisałeś, że nic kompletnie z niego nie rozumiem ;/ Już poprawiłem zapytanie... A dodatkowo stała jest zdefiniowana prawidłowo, ponieważ wyświetla zawartość przy drukowaniu. Ten post edytował ksenonlogin 6.08.2012, 09:26:34 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Jeśli stała nie jest zdefiniowana i będziesz próbował jej użyć to dostaniesz error, że nie ma takiej stałej i pokazana zostanie jej nazwa w błędzie. Tak na marginesie, jak sprawdzasz czy jest zdefiniowana?
|
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi o to czy jest zdefiniowana, bo wszystko działa (wszędzie używam stałej bez problemu), tylko nie mogę użyć stałej z empty() - tak jakby to było nie dozwolone, łączenie stałych z empty(), w dreamwer i aptana pokazuje mi że tak nie powinna wyglądać składnia, więc jak powinna, czy muszę ją jakoś umieścić, poprzedzić bym mógł sprawdzać czy stała ma jakąś wartość czy nie?
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przecież ci napisałem..... DEFINED
Podałem ci nawet linka do manuala. Tylko ta funkcja sprawdza, czy stała jest zdefiniowana czy nie... |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jemu nie chodzi o to, czy stała jest zdefiniowana czy nie jest, bo zawsze jest. On chce sprawdzić, czy wartość stałej jest empty tak, jak to sprawdza empty() na zmiennych.
empty() na stałych nie można użyć, ale możesz rzutować wartość stałej na boolean.
Ten post edytował irmidjusz 6.08.2012, 11:20:09 |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
acha, sorki, nie doczytałem (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zmienna ma wartość, a dlaczego nie istnieje?? mi nie chodzi o to czy została zdefiniowana tylko czy ma wartość czy nie?, a defined mówi że nie jest, ale przecież ma wartość
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie define.... a defined...... Dostałeś linka.
Poza tym nie: DEFINE(A, BBB); a:DEFINE('A', 'BBB'); |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
nie define.... a defined...... Dostałeś linka. Poza tym nie: DEFINE(A, BBB); a:DEFINE('A', 'BBB');
Tak ale to i tak nic mi nie pomaga, bo teraz jest zdefiniowana, ale nie ma wartości - MI CHODZI O SPRAWDZENIE CZY JEST WARTOŚĆ CZY NIE. Widzę że jedynie @redeemer mnie rozumie i jest to dobry pomysł który chciałem zastosować na początku, jednak jestem ciekawy dlaczego nie mogę tego sprawdzić przez empty()? Ten post edytował ksenonlogin 6.08.2012, 12:34:18 |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat - MI CHODZI O SPRAWDZENIE CZY JEST WARTOŚĆ CZY NIE. Przecież dwa posty temu już przeprosiłem i napisałem, że nie doczytałem. A ty pomimo tego walnąłeś posta z DEFINE (złego posta) więc ci go poprawiłem.... Nie tylko jak tu nie potrafię doczytać tego i owego (IMG:style_emoticons/default/wink.gif) Cytat , jednak jestem ciekawy dlaczego nie mogę tego sprawdzić przez empty() Bo składnia dla empty wymaga podania zmiennych. Tyle w temacie (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
I dokładnie o taką odpowiedź mi chodziło - po prostu nie wiedziałem że empty() wymaga tylko zmiennych, brak informacji w internecie...
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat po prostu nie wiedziałem że empty() wymaga tylko zmiennych, brak informacji w internecie... A do manuala zaglądałeś(IMG:style_emoticons/default/questionmark.gif) http://fr.php.net/manual/pl/function.empty.php Zaraz na początku: Cytat empty — Determine whether a variable is empty I dalej w komentarzach Cytat By definition empty( mixed* $var ) cannot accept all types. For example, define constants will cause error if you try to test them.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
ksenologin, przecież ja też Cię zrozumiałem (IMG:style_emoticons/default/smile.gif) no wiesz co, czuję się dotknięty... (IMG:style_emoticons/default/wink.gif)
tak samo sprawdzisz, czy stała zawiera coś, czy pusty link, rzutując ją na typ bool, dlatego Ci to napisałem.
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@irmidjusz: Nie do końca. Jeżeli stała będzie zawierała "0" to rzutowanie zwróci false, a przecież pusta nie jest (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No redeemer jak już tak się czepiasz to i twój kod
DB_HOST == '' dla 0 da złą odpowiedź (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dla 0 tak, dla "0" już nie (w przypadku rzutowania wyniki dla "0" i 0 będą takie same) (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#22
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
W sumie tak (IMG:style_emoticons/default/smile.gif)
ALe raczej nikt do DB_HOST nie wkłada 0 czy "0" (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
@irmidjusz: Nie do końca. Jeżeli stała będzie zawierała "0" to rzutowanie zwróci false, a przecież pusta nie jest (IMG:style_emoticons/default/smile.gif) Ależ właśnie o to chodzi! To prawidłowy wynik. Przecież ksenonlogin pytał na początku, jak użyć empty na stałej, więc podałem mu rozwiązanie, które jest tego odpowiednikiem, tzn. działa tak, jak wywołanie empty() na zmiennej. A w tym znaczeniu, stała zawierająca '0' jest "empty", bo empty() na zmiennej zawierającej '0' jest true.
i analogicznie:
oczywiście trzeba zanegować albo zamienić treść bloków if/else, ale znaczeniowo działa tak samo. I o to mi chodziło (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przyznam szczerze, że się trochę zdziwiłem zachowaniem funkcji empty. Za manualem: The following things are considered to be empty: ... "0" (0 as a string) .... No cóż, nazwa funkcji trochę niefortunna, ale tak już bywa w PHP. Zwracam honor (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 11:24 |