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 questionmark.gif 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ł smile.gif. Jeśli macie jeszcze jakieś pomysły to zapodajcie 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:31