![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 26.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Stworzyłem krótki formularz w pear QuickForm, który ma sprawdzać, czy wpisany wyraz jest już w bazie mysql, ale gdy klikam na submit za pierwszym razem walidacja jest robiona błędnie, dopiero, gdy po raz kolejny klikam na submit bez zmieniania czegokolwiek w formularzu, wtedy dopiero sprawdzanie danych jest wykonywane poprawnie. Czy ktoś mógłby znaleźć błąd w moim skrypcie? Ja już straciłem pomysły co w nim zmienic... ============ require_once 'pear/QuickForm/QuickForm.php'; $form =& new HTML_QuickForm('newuser','POST'); $form->applyFilter('newlogin','trim'); // ===================================================================== // tutaj pobieram dana z bazy by ja porownac z wyrazem wpisanym w formularzu $query = mysql_query("SELECT login FROM data WHERE login='".$form->getSubmitValue('newlogin')."' LIMIT 1"); $result = mysql_fetch_assoc($query); if (empty($result)) $result['login'] = ''; $form->setConstants($result); $form->addElement('hidden','login'); $form->addElement('text','newlogin','Login:',array('maxlength'=> 20)); $form->addElement('submit','submit',' Register '); $form->addRule('newlogin','Musisz podać login!','required'); $form->addRule(array('newlogin','login'),'Wpisanego wyrazu nie ma jeszcze w bazie','compare'); if ($form->validate()) { // wszytko ok, robie cos z otrzymanymi danymi } $form->display(); |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 21:13 |