![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam sobie o to taki problemik. quickform rysuje mi tabele ..wszystko cacy. Wysyłam formularz zostaje on poddany walidacji, jeśli cos jest nie tak rysuje go jeszcze raz ze wskazaniem błędów. Jeśli jest ok powinien go wyświetlić rowniez jeszcze raz[to jest np. dodawanie czegoś do bazy] ..przyk?ad: [php:1:0ada0bc681]<?php [..] function kategorie(){ $this->dod_kat = new HTML_QuickForm('dod_kat','post',$_SERVER['PHP_SELF']);$this->rekurencja(); //tworzy tablice z drzewem kategorii$this->dod_kat->addElement('select', 'ojc_kat', 'W kategori',$this->naz_drzewo); //dodaje select zawieraj?cy tablic? pobranych z bazy..danych [...] if ($this->dod_kat->validate()){ //je?li walidacja przebiegnie pomy?lnie [..] $query="INSERT INTO......." $wynik=$all->db->query($query); //dodaje do bazy czytanej przez metode $this->rekurencja() rekord. } $this->dod_kat->display(); } [..] ?>[/php:1:0ada0bc681] I niby wszystko jest ok ..ale po poprawnej walidacji w formularzu zostają mi poprzednio podane wartości, a $this->naz_drzewo nie zmienia sie no i w select nie ma nowo dodanego rekordu. Po prostu formularz *wygląda* dokładnie tak jak by walidacja nie powiodła sie ...ale bez błędów. Rozwiązałem sprawę przez dodanie do warunku poprawnej walidacji czyszczenie wszystkich _POST. i powtórne wykonanie funkcji kategorie(). W takim przypadku kategorie() wykonywane jest 2 razy czego wolałbym uniknąć. Czy jest cos co mo?na zrobi? po poprawnej walidacji ale przed $this->dod_kat->display() aby wartości były wyczyszczone a tablica została wczytana jeszcze raz? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:43 |