Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Błędy - jak napisac do tego silnik?
Prophecy
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.05.2004

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


Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Nurtuje mnie pewnien problem, moze ktos zna rozwiazanie:

Otoz przyklad strony:

Kod
----------------------

linki1 | link1 | itd

----------------------



Witamy na stronie



[tresc]



---------------------

copyright

---------------------


Tam gdzie jest tresc mam np skrypt do bazy...
No ale skrypt ma blad krytyczny, nalezaloby go wylaczyc. Jesli zrobie to exit pojawi sie jedynie blad, i reszte strony szlag trafi. Nie bede mial juz nic nizej.

Jak napisac silnik, kotry przerwie dzialanie skryptu bazy, anie nie bedzie wylaczal glownego pliku index.php?

Mam nadzieje, ze jakos to wyjasnilem... Prosze o pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zacznij od:
http://pl2.php.net/manual/pl/ref.errorfunc.php
następnie mozesz poprzedzić każdą fubkcję, która moze zwracać błąd znakiem "@". W ten sposób wyłączysz wyświetlanie jej błędów. Za to piszesz linijki kontrolujące, co dana funkcja zwraca i wyswietlająca odpowiedni komunikatw formie, w jakiej chcesz.
Go to the top of the page
+Quote Post
Prophecy
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.05.2004

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


Nie, nie, nie o to mi chodzi...
Wiem, ze nalezy poprzedzac @ funkcje i sprawdzac je samemu, no ale sa momenty w ktorych, dlasze wykonywanie skryptu moze naruszuc baze lub bezpoieczenstwo.

Zawsze sprawdzam czy npo wynik zapytania sie powiodl.. jak nie bno to przydaloby sie zakonczyc dzialanie skryptu. W zasadzie powinienem nazwac to "anulowanie jego dlaszej czesci".

Zaznacze tylko, ze nie jestem poczatkujacy, no ale tego nie umiem rozwiazac.

Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
party
post
Post #4





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 19.08.2003
Skąd: Bydgoszcz

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


No to jest jeszcze coś takiego jak return (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
[php:1:a65cc247ce]<?php
function Sprawdz( $plik )
{
if( !file_exists( $plik ) )
{
return 'Plik "'. $plik .'" nie istnieje!';
}
else
{
// rob cos dalej i zwracaj jakies rzeczy, a potem wyswietl sobie f-cje
}
}
?>[/php:1:a65cc247ce]
Go to the top of the page
+Quote Post
PMadej
post
Post #5


Vice-Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 395
Pomógł: 0
Dołączył: 7.08.2003
Skąd: Kielce

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


jezeli masz cos w petli albo if to mozesz uzyc brake wtedy automatycznie zostanie przerwane jej dzialanie i skrypt pojdzie dalej.
Go to the top of the page
+Quote Post
Prophecy
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.05.2004

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


Hhehe, widze ze musze to lepiej wytlumaczyc:

[php:1:c1097c0797]<?php
function baza()
{
// ...
// blad krytyczny
return false;
}

if(!baza())
{
// stalo sie cos nie dobrego, kociec skryptu...
exit; // spowoduje zamkniecie calej aplikacji
}

?>[/php:1:c1097c0797]

Moznaby cos robic w tym stylu:

[php:1:c1097c0797]<?php

if(!baza())
{
// wyswietl blad
}
else
{
// dalsza czesc kodu...
}
?>[/php:1:c1097c0797]

Co by dzialalo, jednak jak mialoby tak sprawdzac 50 funkcji pod zad no to juz kiepsko to widze...

Pozdrawiam.
Go to the top of the page
+Quote Post
Ludvik
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Jeżeli pierwsza instrukcja warunkowa kończy skrypt, to można pominąć 'else', bo przecież i tak jeżeli nie będzie błędu, to skrypt pójdzie dalej.

[php:1:4e8fbf5ecc]<?php
if(!baza())
{ die('blad'); }

if(!funkcja2())
{ die('blad2'); }

?>[/php:1:4e8fbf5ecc]

Itd... Poza tym chyba był już link do error handlerów, które o ile się nie myle pozwalają dowolnie wyświetlać błędy.
Go to the top of the page
+Quote Post
tsharek
post
Post #8





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) /
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: 23.08.2025 - 19:39