Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: error_reporting(E_ALL) -> tak czy nie??
Forum PHP.pl > Forum > PHP
menic
Mam ustawione pełne raporty o wszytskich błędach oraz informacjach z php. Oczywiście staram się doprowadzić do tego, aby ich nie było, ale czasem jest to niepraktyczne :|
Np. mam plik językowy w w nim fragment
Kod
$lang['createOk']  = '<BR><center>Konto dla użytkownika <B>'.$_POST['nick'].'</B> zostało poprawnie założone.<br>

            Dziękujemy za rejestrację.</center><BR>';

I php wyrzuca informację o niezdefiniowanym indexie dla $_POST. No i ma razję bo tablica $_POST[nick] istnieje tylko po zarejestrowaniu użytkownika.
Albo popularny przykład z formularzem. Często jest tak, że jako value ustawia sie np. $_POST['cos'] tak na wszelki wypadek jeżeli trezba wrócić do formularza. I teraz pytanie:
Czy starac się za wszelką cenę wyeliminować wszystkie tego typu informacje, czy czasem je poprostu olać?
DeyV
podstawowym ustawieniem error reporting jest E_ALL ^ E_NOTICE na czas programowania, i E_ERROR | E_PARSE już dla 'stable' skryptów
kurtz
Cytat
podstawowym ustawieniem error reporting jest E_ALL ^ E_NOTICE na czas programowania, i E_ERROR | E_PARSE już dla 'stable' skryptów
hmm wg mnie wlasnei na E_ALL najprawdziwiej sie tworzy - nie ma wowczas pzoniej przeklaman zenie wiadomo skad ta zamian.. albo ze przeicez maila byc pusta.

pozdrawiam
menic
Ale czy czasem warto je ignorować nakładając nawet 2x roboty??
DeyV
IMHO walka z notice to już zbędny masochizm. Od tego, by sie ustrzegać takich błędów, jest logika projektu. A ten - jeśli bedzie skopany - to i tak się rozsypie, niezależnie od ilości czasu poświęconego na tępienie notice'ów. A jeśli bedzie poprawny - wtedy i notice nie zaszkodzą.

Pozdrawiam
KaMeLeOn
Żeby wyeliminować notice, wystarczy umiejętnie wykorzystana funkcja isset(), nic więcej...
kurtz
Cytat
IMHO walka z notice to już zbędny masochizm. Od tego, by sie ustrzegać takich błędów, jest logika projektu. A ten - jeśli bedzie skopany - to i tak się rozsypie, niezależnie od ilości czasu poświęconego na tępienie notice'ów. A jeśli bedzie poprawny - wtedy i notice nie zaszkodzą.
nei moge sie zgoodzic - osoby ktore od pcozatku wiedizaly ze trzeba robic isset zeby nie pokazywaly sie notice twoarza dzis skrypty ktore same z siebie sa bezpieczniejsze. ot wlasna obserwacja.

pozdrawiam
menic
Ale np. mamy coś takiego.
Jest formularz do rejestracji. I w przypadku nie poprawnego jego wypełnienia przechodzimy do niego i wyswietlamy infrmację (jak w phpBB)
. I wszystkie pola mają value="$_POST['cos']
I przy pierwszym wywołaniu formularza są NOTICE. I jak coś takiego naprawić
scanner
[php:1:829ef70886]<?php
if ( !isset($_POST['costam'] )
{
$_POST['costam'] = '';
}
?>[/php:1:829ef70886]
DeyV
a troszkę ładniej tongue.gif
[php:1:97d1035fc5]<?php
$_POST['costam'] = isset($_POST['costam']) ? $_POST['costam'] : '' ;
?>[/php:1:97d1035fc5]
menic
ale jak mam 20 takich pól to trochę dodatkowego kodu będzie :|
scanner
Pisane z palca:[php:1:dd98e93584]<?php
foreach($_POST as $key => $value)
{
$_POST[$key] = isset($_POST[$key]) ? $value : '' ;
}
?>[/php:1:dd98e93584]
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.