![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 8 Dołączył: 2.04.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Witam robie taki maly system do zarzadzania hotelem(bardzo skromny
![]() ...." zeby blad sie nie wyswietlal to uzywam "error_reporting(E_ALL ^ E_NOTICE);" ale wydaje mi sie ze poprostu mam zlego IF.
Jezeli moze ktos na to zerknac to bede wdzieczny ![]() |
|
|
-Gość- |
![]()
Post
#2
|
Goście ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
ify masz prawie OK. Błąd E_NOTICE pojawia ci się, bo próbujesz sprawdzać wartość niezdefiniowanej zmiennej. (kiedy masz np. wynajmowanie, wiadomo ze nie masz zwracanie). Co możesz na to poradzić:
zamiast: daj . chociaż, jaka wartosc przyjmuja te parametry? tylko loginczą? istnieją lub nie? moze lepiej oprzec to na konstrukcji switch" title="Zobacz w manualu php" target="_manual?
pozdr. edit: aha, no i odwolanie wtedt zamiast plik.php?wynajmowanie=1 dajesz plik.php?act=wynajmowanie Ten post edytował siemakuba 3.06.2006, 19:19:10 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 8 Dołączył: 2.04.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
dzieki wielkie,dziala ! Pozdrawiam
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, tak bardziej z ciekawości zagadam, jakby co to mnie poprawicie: isset" title="Zobacz w manualu php" target="_manual wyklucza ten notice...?
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Fipaj: przy takim sprawdzaniu jak powyżej, owszem. Warunek && zwraca false jeżeli którykolwiek ze składników będzie miał wartość false. Wieć jeżeli isset() zwróci false, to wydaje mi się, że dalej nie jest sprawdzane wogóle - odpada więc E_NOTICE o niezdefiniowanej zmiennej.
aha, to tak po mojemu, nie mogę tego poprzeć żadnym słowem pisanym niestety. pozdr. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat aha, to tak po mojemu, nie mogę tego poprzeć żadnym słowem pisanym niestety. No to masz slowo pisane:"Zgadza się" - nospor ![]() aczkolwiek tamtego ifa mozna zamienic na takiego:
empty nie wywala noticow gdy nie ma indexu -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
-Gość- |
![]()
Post
#8
|
Goście ![]() |
@nospor - w jakich sytuacjach polecasz uzywac isset a w jakich empty ?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
no to ja odpowiem, a co! :)
Cytat @nospor - w jakich sytuacjach polecasz uzywac isset a w jakich empty ? jest to pytanie natury filozoficznej, i jako takie ma jedyną słuszną odpowiedź :) manual :)isset" title="Zobacz w manualu php" target="_manual - empty" title="Zobacz w manualu php" target="_manual isset - sprawdza czy zmienna została zdefiniowana, czy to przez jawne jej zdeklarowanie czy przez np. poczatkowe okreslenie typu a potem nadanie wartosci
empty - sprawdza czy zmienna ma wartosc null lub inna odpowiadającą logicznemu false (pusta zmienna typu string, 0, false, zdeklarowana zmienna klasy ale bez przypisanej wartosci, pusta tablica). empty zwroci tez true dla niezdefiniowanej zmiennej. wiedzac to - wiadomo kiedy uzyc jakiego sprawdzania - zalezy co chcesz sprawdzic :) pozdr. |
|
|
-Gość- |
![]()
Post
#10
|
Goście ![]() |
Bardziej chodzilo mi o to, ze w jakich sytuacjach, np podczas uzuwania formularza etc. Wy (=bardziej dowiadczeni programisci
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
hmm. ja używam empty kiedy chcę wiedzieć czy zmienna została zdefiniowana i ma wartość inną niż logiczne false. Kiedy chcę wiedzieć tylko czy zmienna została zdefiniowana używam isset. W sumie, tak na dobrą sprawę to można tych konstrukcji w wielu przypadkach używać zamiennie bo efekt będzie dokładnie taki sam.
Tzeba tylko pamiętaj o tej drobnej różnicy ich działania o której pisałem wyżej. Załóżmy, że chcesz sprawdzić czy isntnieje parametr GET o nazwie "wanda". załóżmy też 5 przykładowych zapytań i wyniki dla sprawdzania obecności paramtetru wanda:
tak mniej więcej to wygląda. Używać trzeba tak, aby działało według twojego zamierzenia:) Wydaje mi się, że nie ma też żadnej różnicy w szybkości działania. Jeżeli jest - to raczej niezauważalna. pozdr. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 19:51 |