Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> walidacja danych w pear QuickForm
Mike27
post 26.03.2005, 15:37:27
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();
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 21:13