ďťż
 
Notice i ich usuniecie...(nie to co myslicie ;)) ďťż
 
Notice i ich usuniecie...(nie to co myslicie ;))
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Notice i ich usuniecie...(nie to co myslicie ;))



ErkA - 05-06-2006 00:16
Notice i ich usuniecie...(nie to co myslicie ;))
  Witajcie,

Przeszedlem na wyzszy poziom hardkostwa ;), czyli error_reporting E_ALL
;), jednym ze sposobow pozbycia sie notice'a jest sprawdzenie czy
zmienna istnieje (isset), jednakze sprawdzanie kazdej zmiennej wydaje
mi sie chyba troche dziwne (i nie wiem jakie moze miec wplyw na
wydajnosc aplikacji), dlatego zastanawiam sie nad rozwiazaniem, jak
inteligentnie pozbyc sie notice'ow (nie chodzi mi o wylaczenie E_ALL),
ale to jakis sposob, ich deklarowania. Najczestszym bledem mam
Notice: Undefined index: ... , same zmienne rzadzej, ale to wiadomo,
mozna zadeklarowac je cut wczesniej, ale czy sensowne jest, aby
deklarowac tez pusta tablice z odpowiednimi kluczami (w sumie byloby to
wydajniejsze niz sprawdzanie czy istnieje tablica...)?

--
pozdrawiam serdecznie rafi

+++++++++++to++nie++jest++reklama++;)+++++++++++
www.BAZAREK.pl - DARMOWE SKLEPY INTERNETOWE,
Otwórz sklep online i zarabiaj-bez opłat, bez prowizji
++++++++++++++++++++++++++++++++++++++++++++++++





orcus - 05-06-2006 00:17

  Sun, 04 Jun 2006 11:19:43 +0200, ErkA wrote:

> Przeszedlem na wyzszy poziom hardkostwa ;), czyli error_reporting E_ALL
> ;), jednym ze sposobow pozbycia sie notice'a jest sprawdzenie czy zmienna
> istnieje (isset),

ja nie sprawdzam _wszysktich_ zmienych. Tylko te ktore pochodza od
uzytkownika, bardzo zadko zdarza mi sie sprawdzac zmienne ktore sam
tworze. Przemysl jeszcze raz co chcesz robic i jak bo chyba problem lezy w
Twoim podejsciu.

--
Pozdrawiam
orcus

..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.




ErkA - 05-06-2006 00:17

  orcus napisał(a):

> ja nie sprawdzam _wszysktich_ zmienych. Tylko te ktore pochodza od
> uzytkownika, bardzo zadko zdarza mi sie sprawdzac zmienne ktore
> sam tworze. Przemysl jeszcze raz co chcesz robic i jak bo chyba
> problem lezy w Twoim podejsciu.

zmienne z formularzy etc sprawdzam osobno odpowiednimi funkcjami, ale
chcialbym tak pisac kod, aby nie pojawialy sie notice'y, bo chyba one
nie pojawiaja sie dlatego, zeby bylo fajniej, ale dlatego, zeby np
pisac poprawny kod, moze sie myle, ale jestem wlasnie na etapie, zeby
pisac czysty kod, ale tez nie chce zasmiecac go sprawdzaniem czy
istnieje dany klucz czy cos... jednym rozwiazaniem, na ktore na razie
wpadlem, to jest deklarowanie tablicy na poczatku aplikacji (if
!isset()), ale moze jest jeszcze jakis sposob?

--
pozdrawiam serdecznie rafi

+++++++++++to++nie++jest++reklama++;)+++++++++++
www.BAZAREK.pl - DARMOWE SKLEPY INTERNETOWE,
Otwórz sklep online i zarabiaj-bez opłat, bez prowizji
++++++++++++++++++++++++++++++++++++++++++++++++




orcus - 05-06-2006 00:17

  Sun, 04 Jun 2006 12:53:10 +0200, ErkA wrote:

> orcus napisał(a):
>
>> ja nie sprawdzam _wszysktich_ zmienych. Tylko te ktore pochodza od
>> uzytkownika, bardzo zadko zdarza mi sie sprawdzac zmienne ktore sam
>> tworze. Przemysl jeszcze raz co chcesz robic i jak bo chyba problem lezy
>> w Twoim podejsciu.
>
> zmienne z formularzy etc sprawdzam osobno odpowiednimi funkcjami, ale
> chcialbym tak pisac kod, aby nie pojawialy sie notice'y, bo chyba one nie
> pojawiaja sie dlatego, zeby bylo fajniej, ale dlatego, zeby np pisac
> poprawny kod, moze sie myle, ale jestem wlasnie na etapie, zeby pisac
> czysty kod, ale tez nie chce zasmiecac go sprawdzaniem czy istnieje dany
> klucz czy cos... jednym rozwiazaniem, na ktore na razie wpadlem, to jest
> deklarowanie tablicy na poczatku aplikacji (if !isset()), ale moze jest
> jeszcze jakis sposob?

zastanow sie kiedy ta tablica sie pojawia i czemu w pewnym miejscu
aplikacji jej nie ma. Zastanow sie czy nie mozesz tego rozwiazac w inny
sposob.

A te noticy IMHO dotycza glownie przypadkow gdy masz register_globals na
on i ktos Ci moze dorzucic cos do strony...

BTW: deklarowanie tablicy NULLi tez jest jakims sposobem ale jakos tak
pachnei mi to lataniem dziur w inych miejscach.

--
Pozdrawiam
orcus

..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.





ErkA - 05-06-2006 00:17

  orcus napisał(a):

> zastanow sie kiedy ta tablica sie pojawia i czemu w pewnym miejscu
> aplikacji jej nie ma. Zastanow sie czy nie mozesz tego rozwiazac w
> inny sposob.
Tablica "wypelnia" sie danymi po zalogowaniu sie uzytkownika
(przypisanie do sesji loginu, id, etc) w miedzyczasie gdy nie jest
zalogowany to korzystam z opcji int
$this->uid = (int)$_SESSION['auth']['id'];
wtedy wiadomo, ze uid bedzie 0 i pojawi sie notice, ze nie ma takiego
klucza..

> BTW: deklarowanie tablicy NULLi tez jest jakims sposobem ale jakos
> tak pachnei mi to lataniem dziur w inych miejscach.
co masz na mysli "latanie dziur w innych miejscach"? W innych miejscach
nie bedzie po prostu warunkow if (isset())

--
pozdrawiam serdecznie rafi

+++++++++++to++nie++jest++reklama++;)+++++++++++
www.BAZAREK.pl - DARMOWE SKLEPY INTERNETOWE,
Otwórz sklep online i zarabiaj-bez opłat, bez prowizji
++++++++++++++++++++++++++++++++++++++++++++++++




emil - 05-06-2006 00:17

  ErkA napisał(a):
[...]
> co masz na mysli "latanie dziur w innych miejscach"? W innych miejscach
> nie bedzie po prostu warunkow if (isset())

Kolega miał zapewne na myśli to, że w dobrze napisanym kodzie nie
powinny się zdarzać takie sytuacje. Jesli sięgasz do elementu tablicy
albo zmiennej, to powinieneś wiedzieć czego się po takiej operacji
spodziewać, a jeśli nie wiesz to pojawia się dziura w programie, która
wcześniej czy później wyjdzie powodując bliżej nieokreślone skutki, np.
wywali zapytanie do bazy.
Pozdrawiam Emil




the_foe - 05-06-2006 00:17

 
Użytkownik "ErkA" <adres@antyspamowy.pl> napisał w wiadomości
news:Xns97D8A1C2A9B77WpiszTuSwojIDToken@217.97.235 .9...
> orcus napisał(a):
>
>> zastanow sie kiedy ta tablica sie pojawia i czemu w pewnym miejscu
>> aplikacji jej nie ma. Zastanow sie czy nie mozesz tego rozwiazac w
>> inny sposob.
> Tablica "wypelnia" sie danymi po zalogowaniu sie uzytkownika
> (przypisanie do sesji loginu, id, etc) w miedzyczasie gdy nie jest
> zalogowany to korzystam z opcji int
> $this->uid = (int)$_SESSION['auth']['id'];

a nie lepiej $this->auth=&$_SESSION['auth'];
masz problem z glowy, a zmienne powinny byc sprawdzane przed wpisem do sesji a
nie dopiero przy ich pobieraniu.




the_foe - 05-06-2006 00:17

 
Użytkownik "ErkA" <adres@antyspamowy.pl> napisał w wiadomości
news:Xns97D8733E5EF2FWpiszTuSwojIDToken@217.97.235 .9...
> Witajcie,
>
> Przeszedlem na wyzszy poziom hardkostwa ;), czyli error_reporting E_ALL
> ;), jednym ze sposobow pozbycia sie notice'a jest sprawdzenie czy
> zmienna istnieje (isset), jednakze sprawdzanie kazdej zmiennej wydaje
> mi sie chyba troche dziwne (i nie wiem jakie moze miec wplyw na
> wydajnosc aplikacji), dlatego zastanawiam sie nad rozwiazaniem, jak
> inteligentnie pozbyc sie notice'ow (nie chodzi mi o wylaczenie E_ALL),
> ale to jakis sposob, ich deklarowania. Najczestszym bledem mam
> Notice: Undefined index: ... , same zmienne rzadzej, ale to wiadomo,
> mozna zadeklarowac je cut wczesniej, ale czy sensowne jest, aby
> deklarowac tez pusta tablice z odpowiednimi kluczami (w sumie byloby to
> wydajniejsze niz sprawdzanie czy istnieje tablica...)?
>

Notice nie sa bledami, ale dostosowanie kodu do nich jest pozadane. Na przyklad
sprawdzanie czy zmienna zostala ustawiona skraca czas wykonaywania skryptu.




Marcin Wasilewski - 05-06-2006 00:17

 
Użytkownik "ErkA" <adres@antyspamowy.pl> napisał w wiadomości
news:Xns97D8733E5EF2FWpiszTuSwojIDToken@217.97.235 .9...
> Witajcie,
>
> Przeszedlem na wyzszy poziom hardkostwa ;), czyli error_reporting E_ALL
> ;), jednym ze sposobow pozbycia sie notice'a jest sprawdzenie czy
> zmienna istnieje (isset), jednakze sprawdzanie kazdej zmiennej wydaje
> mi sie chyba troche dziwne (i nie wiem jakie moze miec wplyw na
> wydajnosc aplikacji), dlatego zastanawiam sie nad rozwiazaniem, jak
> inteligentnie pozbyc sie notice'ow (nie chodzi mi o wylaczenie E_ALL),

@$zmienna rozwiązuje problem.




ErkA - 05-06-2006 00:17

  the_foe napisał(a):

> a nie lepiej $this->auth=&$_SESSION['auth'];
niestety musze odwolywac sie do konkretnego klucza ;).

> masz problem z glowy, a zmienne powinny byc sprawdzane przed
> wpisem do sesji a nie dopiero przy ich pobieraniu.
Nie chodzi o walidacje zmiennej, chodzi o to, aby ustrzec sie przed
pustym kluczem tablicy, ktora tworzona jest po zalogowaniu sie usera, a
do tego czasu przyjmuje wartosci puste...

--
pozdrawiam serdecznie rafi

+++++++++++to++nie++jest++reklama++;)+++++++++++
www.BAZAREK.pl - DARMOWE SKLEPY INTERNETOWE,
Otwórz sklep online i zarabiaj-bez opłat, bez prowizji
++++++++++++++++++++++++++++++++++++++++++++++++




ErkA - 05-06-2006 00:17

  Marcin Wasilewski napisał(a):

> @$zmienna rozwiązuje problem.

:) error_reporting(E_ALL^E_NOTICE) jest prostsze ;), ale dzieki za
odpowiedz.

--
pozdrawiam serdecznie rafi

+++++++++++to++nie++jest++reklama++;)+++++++++++
www.BAZAREK.pl - DARMOWE SKLEPY INTERNETOWE,
Otwórz sklep online i zarabiaj-bez opłat, bez prowizji
++++++++++++++++++++++++++++++++++++++++++++++++




orcus - 05-06-2006 00:17

  Sun, 04 Jun 2006 15:54:06 +0200, ErkA wrote:

> orcus napisał(a):
>
>> zastanow sie kiedy ta tablica sie pojawia i czemu w pewnym miejscu
>> aplikacji jej nie ma. Zastanow sie czy nie mozesz tego rozwiazac w inny
>> sposob.
> Tablica "wypelnia" sie danymi po zalogowaniu sie uzytkownika (przypisanie
> do sesji loginu, id, etc) w miedzyczasie gdy nie jest zalogowany to
> korzystam z opcji int
> $this->uid = (int)$_SESSION['auth']['id']; wtedy wiadomo, ze uid bedzie 0
> i pojawi sie notice, ze nie ma takiego klucza..

czyli rozumiem ze w momencie gdy uzytkownik jest gosciem tego elementu nie
ma... i to jest Twoj problem IMHO. U mnie jest(jego odpowiednik;) i jest
liczba oznaczajac guesta(nie wplywa to na ilosc danych w sesji znaczoca bo
jest tam tez kilka inych rzeczy).

>> BTW: deklarowanie tablicy NULLi tez jest jakims sposobem ale jakos tak
>> pachnei mi to lataniem dziur w inych miejscach.

> co masz na mysli "latanie dziur w innych miejscach"? W innych miejscach
> nie bedzie po prostu warunkow if (isset())

nie nie mowie tu o sprawdzaniu czy istnieje. Mowie ze ta tablica powina
istniec jesli dochodzi do wykonania kodu w kotrym ja wykorzystujesz.
Roznica jest subtelna z pozoru ale jak sie przyjrzec to przepasc.

--
Pozdrawiam
orcus

..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Co myslicie o jednorocznych szkolach na grafika Co myślicie o tym banerku, ocena. Warsztaty Photoshop - co myslicie? Co zrobić jak ktoś usunie rekord zeby nie stracic informacji Co myślicie o tym logo??? MySql5 - Jak wyzerować pole autoincrement po usunięciu rekordów Co myslicie o tym ... [Oracle] Problem z usunietym plikiem - pomocy warunkowe usuniecie rekordu Temat na prace magisterska. Prosba o rade.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • tejsza.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com