Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obsługa błędów
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Mam takie pytanie. Od jakiegoś czasu pisze w php. No i gdy pisze naprzyklad aby sprawdzić dane w forularzu to robie to tak (przykładowo):
  1. <?php
  2. $danezformularza = htmlspecialchars(trim($_POST['danezformularza']));
  3. $danezformularza1 = htmlspecialchars(trim($_POST['danezformularza1']));
  4. ///// no i teraz
  5. if(empty($danezformularza))
  6. {
  7. $error .= 'Pole imie obowiązkowe';
  8. }
  9.  if(empty($danezformularza1))
  10. {
  11. $error .= 'Pole wiek obiwiązkowe';
  12. }
  13.  
  14. if($error) {
  15. echo $error;
  16. }
  17. else
  18. {
  19. //// dalsza część kodu
  20. }
  21. ?>


No i napisałem sobie funkcje która filtruje mi to
$danezformularza = htmlspecialchars(trim($_POST['danezformularza']));

Ale nie wiem co zrobić z tymi ostrzeżeniami. Jak to najwygodniej zrobić, aby nie pisać tak jak ja :?:
Opiszecie swoje sposoby.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
vieri_pl
post
Post #2





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Tak jak zrobiłeś to Ty jest to najłatwieszy sposób, możesz stworzyć funkcję która będzie wyświetlała errory automatycznie, dajesz komunikaty do tablicy, tworzysz funckję która wyświetla komunikat o danym nr (takie rozwiązanie jest w smod cms), no i wyświetlasz to np taK:

  1. <?php
  2.  
  3. komunikat(2);
  4.  
  5. ?>


Przeanalizuj sobie jak to jest zrobione w smod CMS ja korzystam z takiego rozwiązania ponieważ jest ono na prawdę wygodne ! Aby zmienić tekst każdego komunikatu o błędzie bądź sukcesie modyfikujesz jeden plik, który jest odpowiedzialny za wszystkie komunikaty, które mają być wyświetlane...

Cytat
aby nie pisać tak jak ja


Wstydzisz się swojego kodu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Ten post edytował vieri_pl 20.01.2006, 19:14:25
Go to the top of the page
+Quote Post
Apo
post
Post #3





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


heh. Nie wstydze tylko takie rozwiązanie nie jest za bardzo estetyczne. Bo jeśli np dodam do tego jeszcze wyrażenie regularne to już bedzie niezły syf w kodzie.
Na każdym kroku trzeba sprawdzać dane z formularza. No i przydałaby się do tego hmm jakas klasa, tylko że niegdy takiego czegoś nie robiłem :roll2:
Go to the top of the page
+Quote Post
vieri_pl
post
Post #4





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Hmm jako że smod jest open source zapodam ci kod:

plik komunikaty.php

  1. <?php
  2.  
  3.  
  4. $kom = array();
  5.  
  6. $kom[1] = "Proszę wpisać nazwę, tytuł i treść strony <br /><a href="javascript:history.back();">&raquo; wróć</a>";
  7. $kom[2] = "Dane zostały pomyślnie zapisane";
  8. $kom[3] = "Wystąpił błąd, dane NIE zostały zapisane";
  9. $kom[4] = "Nie znaleziono żądanych danych";
  10. $kom[5] = "Strona została ukryta";
  11.  
  12. $liczbakomunikatow = 5;
  13.  
  14. ?>


funckja którą wstawiasz np do pliku funkcje.php:

  1. <?php
  2. function komunikat($tk)
  3. { 
  4. echo "<div>";
  5.  include_once("komunikaty.php");
  6. if ($tk>$liczbakomunikatow)
  7. {
  8.  echo "Błąd niezdefiniowany";
  9.  return;
  10. }
  11. else
  12. {
  13.  echo "$kom[$tk]";
  14. }
  15. echo "</div>";
  16.  }
  17.  
  18. define ('komunikat',0);
  19. ?>


Oczywiśćie includujesz obydwa pliki a wyświetlasz tak:

  1. <?php
  2. $kom[$tk];
  3. exit();
  4. ?>
Gdzie $tk to nr komunikatu...

Proste i fajnie zrobione...

Ten post edytował vieri_pl 20.01.2006, 19:57:35
Go to the top of the page
+Quote Post
Apo
post
Post #5





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


No nawt dobry pomysył (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Jeśli macie jeszcze jakieś pomysły to zapodajcie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
vieri_pl
post
Post #6





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Jeśli dobry pomysł spróbuj to wdrożyć... albo skonstruować samemu podobną do tego funkcję...
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 - 07:03