Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wykrywanie błedów
stroju
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 2
Dołączył: 17.11.2005

Ostrzeżenie: (0%)
-----


jak wykonać funkcje aby wykrywała błedy i zaptrzymywała kod np. jeżeli plik do includowania nie istnieje to że by wyświetlio że nie ma pliku do includowania a nie błędy po angieldku?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


sprawdz czy plik istnieje (file_exists()), jesli nie to wypisz swoj komunikat
zainteresuj sie tez set_error_handler().
Go to the top of the page
+Quote Post
stroju
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 2
Dołączył: 17.11.2005

Ostrzeżenie: (0%)
-----


mam cos takiego:
  1. <?
  2. function bledy($numerbl, $ciagbl, $plikbl, $liniabl)
  3. {
  4.  
  5.      echo "<br /><table bgcolor='red'><tr><td>
  6.           <p><b>BŁĄD:</b> $ciagbl</p>
  7.           <p>Proszę spróbować ponownie lub skontaktować się z administratorem i
  8.           przekazać, że błąd wystąpił w linii $liniabl pliku '$plikbl'</p>";
  9.      if ($numerbl == E_USER_ERROR||$numerbl == E_ERROR)
  10.      {
  11.      
  12.           echo '<p>Błąd krytyczny, zakończenie programu</p>';
  13.  
  14.      }
  15.      
  16.      echo '</td></tr></table>';
  17. }
  18.  
  19. ?>

i jak w kodzie jest jakaś zmienna to wyświtla cos takiego:
Kod
BŁĄD: Undefined index: cmd

Proszę spróbować ponownie lub skontaktować się z administratorem i przekazać, że błąd wystąpił w linii 31 pliku '/home/kamesenin/domains/compsite.info/public_html/cms/admin.php'

a ja chcem aby wyświtlalo wytlko bledy includowania polaczeniaz baza danych oraz otwioeraniem plików przez fopen() czy file_get_contents().

w pracę systemu włożułem dużo pracy a ten sposub mi wszystko psuje!!!. co mam zrobić?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował stroju 7.01.2006, 13:57:32
Go to the top of the page
+Quote Post
Lars
post
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 15
Dołączył: 29.04.2005
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


  1. <?php
  2. ## BLOCK START
  3. function errorDB() {
  4. die('Error bazy');
  5. }
  6. function errorInclude() {
  7. die('Error inkluda');
  8. }
  9.  
  10. include($file) or errorInclude();
  11. mysql_connect($host, $user, $pass) or errorDB();
  12. mysql_query("SELECT `lars`, `id`, `fe324` FROM `cms_dupa` WHERE `lars`='1'") or errorDB();
  13. ## BLOCK END
  14. ?>


i tak dla kazdego wywolania funkcji include, czy innej

Ten post edytował Lars 8.01.2006, 11:43:07
Go to the top of the page
+Quote Post
DzikiLis
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.12.2005
Skąd: Warszawa, Kabaty

Ostrzeżenie: (0%)
-----


Przedmówców odsyłam do stron/książek nt. usability, szczególnie friendly error messages. O, pierwszy z brzegu link.

Komunikaty typu "Undefined index: cmd" czy masakrycznie długa ścieżka '/home/kamesenin/domains/compsite.info/public_html/cms/admin.php' nie mówią NIC normalnym użytkownikom. Podobnie prośba o kontakt z jakimś administratorem. Czego? Budynku? Takie rzeczy to można do pliku error.log sobie wrzucać.

Ładny komunikat z przeprosinami, krótkim wyjaśnieniem dlaczego została wyświetlona strona błędu, a nie ta, której się spodziewali i ew. krótki formularz kontaktowy powinny załatwić sprawę.

Ten post edytował DzikiLis 10.01.2006, 13:39:18
Go to the top of the page
+Quote Post
Rzast
post
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 24.11.2005
Skąd: Podczerwone

Ostrzeżenie: (0%)
-----


Jeszcze lepsza byłaby funkcja mail() wysyłająca do admina wiadomość. A zapełniająca się skrzynka to najlepszy sposób na szybkie naprawienie błędu (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
Go to the top of the page
+Quote Post
sobstel
post
Post #7





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(Rzast @ 2006-01-11 09:55:14)
Jeszcze lepsza byłaby funkcja mail() wysyłająca do admina wiadomość. A zapełniająca się skrzynka to najlepszy sposób na szybkie naprawienie błędu (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)

tylko to musi byc jakos rozsadnie zrobione, bo przy wiekszym serwisie, jak np. padnie baza na pol godziny to szykuje sie masakra w skrzynce.
Go to the top of the page
+Quote Post
NuLL
post
Post #8





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


A moze by tak sie zinteresowac wyjatkami ? W koncu mamy jest PHPv5.
Go to the top of the page
+Quote Post
hwao
post
Post #9


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




@Null funkcje nie zwracaja wyjatkow (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)

Mozna napisac do tego łatwo error handler'a zeby lapal tylko te bledy co chcessz.

Imho sytuacja ze plik nie istnie nie powinna zainstniec w dobrze zaprojektowanym systemie!
Go to the top of the page
+Quote Post
Rzast
post
Post #10





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 24.11.2005
Skąd: Podczerwone

Ostrzeżenie: (0%)
-----


Cytat(sopel @ 2006-01-11 09:29:57)
... szykuje sie masakra w skrzynce.

No i masz doping (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
A na poważnie: przy częstym sprawdzaniu poczty jesteś na bieżąco, a błędów z bazy nie musisz wysyłać - traktować to jako zło konieczne i niezależne od nas... <- jeżeli system jest dobrze zabezpieczony, to jedyne błędy bazy to brak dostępu do niej (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował Rzast 11.01.2006, 15:29:24
Go to the top of the page
+Quote Post
DzikiLis
post
Post #11





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.12.2005
Skąd: Warszawa, Kabaty

Ostrzeżenie: (0%)
-----


Cytat(Rzast @ 2006-01-11 08:55:14)
Jeszcze lepsza byłaby funkcja mail()

Zakładam, że każdy porządny administrator serwisu co jakiś czas zagląda do logów i statystyk strony.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 15:52