Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Kohana - Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
bahh
Witam, napisałem taki formularz do dodawania ogłoszeń na Kohanie. Jednakże uzupełniając dane w formularzu i naciskając dodaj (tzn. submit) nic się nie dzieje - brak reakcji - nie dodaje ogłoszenia ani nic nie wyświetla
Nie mogę połapać się gdzie popełniłem błąd...

  1. public function action_add($type)
  2. {
  3. $this->action_edit($type);
  4. }
  5.  
  6. /**
  7. * Edycja ogłoszenia
  8. * @param int $id - Id ogłoszenia
  9. */
  10. public function action_edit($type, $id = NULL)
  11. {
  12. $advertisement = new Model_Advertisement($id, $type);
  13.  
  14. $form = new View('admin/advertisements/edit');
  15. $form->type = $type;
  16. $form->advertisement = $advertisement;
  17.  
  18. if($_POST)
  19. {
  20. $advertisement->loaded() or $advertisement->clear();
  21. // Dodajemy walidację kategorii
  22. $post = $advertisement->validate()
  23. ->rule('category_id', 'not_empty');
  24. $post->exchangeArray($_POST);
  25.  
  26. if($post->check())
  27. {
  28. // Skąd to się wzieło ?
  29. unset($post['id']);
  30. unset($post['language_id']);
  31. unset($post['type']);
  32.  
  33. $advertisement->values($post);
  34. if(!$advertisement->loaded())
  35. {
  36. // Kalkulujemy date wygasniecia ogloszenia
  37. $advertisement->expiry = date('Y-m-d h:i:s',
  38. time() + $post['expiry'] * 24 * 60 * 60);
  39. }
  40. $advertisement->save();
  41.  
  42. if($advertisement->saved())
  43. {
  44. // Usuwamy stare relacje
  45. $categories = $advertisement->categories
  46. ->find_all();
  47. foreach($categories as $category)
  48. $advertisement->remove('categories', $category);
  49.  
  50. // Łączymy relacją z kategorią
  51. $advertisement->add('categories',
  52. ORM::factory('Advertisement_Category', $_POST['category_id']));
  53.  
  54. $advertisement->save();
  55. }
  56. }
  57. else
  58. {
  59. $form->errors = $post->errors('admin/advertisement');
  60. }
  61. }


A tutaj znajdziecie część kodu odpowiadającego za wyświetlenie formularza: http://www.wklej.eu/index.php?id=1eb5b95a4a
Helid
Zacznij debugować klasę.
Po kazdym warunku daj die('test'); i sprawdź gdzie się zatrzymuje.
bahh
Sprawdziłem za pomocą die - nic nie wywaliło - i też wstawiałem echo 'test'; gdzie wszędzie się wyświetliło w każdym warunku... to uparcie nie chce dodać danych z formularza do bazy danych
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.