Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]dlaczego kategorie się wciąż dodają
Forum PHP.pl > Forum > Przedszkole
lamcpp
Mam taki kod jak poniżej, służący do dodawania kategorii. Wszystko ładnie działa kategoria się dodaje, jednak po przeładowaniu strony dodaje się następna kategoria i znów przeładowaniu znów następna. Mam na stronie jeszcze inne funkcjonalnosci jak np. edycja kategorii i gdy wybieram edytuj to znow następa kategoria się dodaje. Nie bardzo to rozumiem, wkońcu mam pole w formularzu o nazwie: "nazwa_k" i ok jeśli coś do niego wpisze i dam dodaj to powinno dodać mi kategorie, ale już za drugim razem, pola "nazwa_k" nie wypełniam i mimo to przy przeladowaniu strony dodaje mi kategorie. A skoro nie wypełniam tego pola to powinno działać if(empty($_POST['nazwa_k'])) i powinien pojawić się komunikat "nie podano nazwy kategorii", niestety kategoria się dodaje mimo że pole jest puste. Co tutaj jest nie tak i jak to pozmieniać?

  1. <form action="" method="post">
  2. Nazwa: <input type="text" name="nazwa_k" />
  3. <input type="submit" name="submitted" value="Dodaj" />
  4. </form>
  5. <?php
  6. if(isset($_POST['submitted']))
  7. {
  8. if(empty($_POST['nazwa_k']))
  9. {
  10. echo 'Nie podałeś nazwy kategorii!<br />';
  11. }
  12. else
  13. {
  14. $nazwa = mysqli_real_escape_string($dbc,trim($_POST['nazwa_k']));
  15. $rezultat = mysqli_query($dbc,"INSERT INTO kategoria(nazwa) VALUES('$nazwa')");
  16. if($rezultat)
  17. {
  18. echo 'Dodano kategorię o nazwie: '.$nazwa;
  19. }
  20. else
  21. {
  22. echo 'Wystąpił błąd podczas dodawania kategorii';
  23. }
  24. }
  25. }
  26. ?>
thek
Tak to jest jeśli brak sprawdzenia czy dany rekord już istnieje w bazie lub nie zabezpiecza przed refreshem strony w formularzu podczas dodawania danych.
lamcpp
ok udało się za pomocą funkcji mysqli_num_rows()
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.