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();