Mam nastepujacy problem, na stornie jest kilka roznych formularzy tylu szukanie logowanie i jeszcze jakis tam, do stworzenia tych formularzy uzywam PEAR::QuicForm
oto przykladowy kod takiego formularza:
<?
$action = 'index.php?model=users&action=register';
'Dolnośląskie',
'Kujawsko-pomorskie',
'Lubelskie Lubuskie',
'Łódzkie',
'Małopolskie',
'Mazowieckie',
'Opolskie',
'Podkarpackie',
'Podlaskie',
'Pomorskie',
'Śląskie',
'Świętokrzyskie',
'Warmińsko-Mazurskie',
'Wielkopolskie',
'Zachodniopomorskie'
);
$form = new HTML_QuickForm($formName, $method, $action);
$form->addElement('header', '', $label);
$form->addElement('text', 'newUserLogin', 'Login');
$form->addElement('password', 'pass1', 'Hasło');
$form->addElement('password', 'pass2', 'Powtórz hasło');
$form->addElement('text', 'firm', 'Firma');
$form->addElement('text', 'nip', 'NIP');
$form->addElement('text', 'fname', 'Imie');
$form->addElement('text', 'lname', 'Nazwisko');
$form->addElement('text', 'street', 'Ulica');
$form->addElement('text', 'zipCode', 'Kod pocztowy');
$form->addElement('text', 'city', 'Miejscowość');
$form->addElement('select', 'region', 'Województwo', $regions);
$form->addElement('text', 'email', 'E-mail');
$form->addElement('text', 'tel', 'Telefon');
$form->addElement('text', 'gsm', 'Telefon kom.');
$form->addElement('submit', '', 'Potwierdzam');
$form->addRule('newUserLogin', 'To pole musi byc wypełnione!', 'required');
$form->addRule('pass1', 'To pole musi byc wypełnione!', 'required');
$form->addRule('pass2', 'To pole musi byc wypełnione!', 'required');
$form->addRule('fname', 'To pole musi byc wypełnione!', 'required');
$form->addRule('lname', 'To pole musi byc wypełnione!', 'required');
$form->addRule('street', 'To pole musi byc wypełnione!', 'required');
$form->addRule('zipCode', 'To pole musi byc wypełnione!', 'required');
$form->addRule('city', 'To pole musi byc wypełnione!', 'required');
$form->addRule('region', 'To pole musi byc wypełnione!', 'required');
$form->addRule('email', 'To pole musi byc wypełnione!', 'required');
$form->addRule('tel', 'To pole musi byc wypełnione!', 'required');
$form->addRule('gsm', 'To pole musi byc wypełnione!', 'required');
$form->addRule('newUserLogin', 'Nieprawidłowe znaki!',
'regex', '/^[a-zA-Z0-9_]{1,}$/'
);
$form->addRule('newUserLogin', 'Nieprawidłowa liczba znaków!', 'rangelength',
);
$form->addRule('pass1', 'To pole może zawierać tylko litery i cyfry!',
'alphanumeric'
);
$form->addRule('pass1', 'Nieprawidłowa liczba znaków!', 'rangelength',
);
// compare the passwords
$form->addRule(array('pass1', 'pass2'), 'Poda hasła nie są identyczne!', 'compare');
$form->addRule('firm',
'To pole może zawierac tylko litery alfabetu, cyfry o spacje!',
'regex', '/^[a-zA-Z0-9ąˇćĆęńŃłŁśŚĽŹżŻóÓ ]{1,}$/'
);
$form->addRule('nip', 'Niepradidłowy numer', 'regex', '/^[0-9-]{1,}$/');
$form->addRule('fname', 'To pole może zawierać tylko znaki alfabetu!',
'regex', '/^[a-zA-ZąˇćĆęńŃłŁśŚĽŹżŻóÓ ]{1,}$/'
);
$form->addRule('lname', 'To pole może zawierać tylko znaki alfabetu!',
'regex', '/^[a-zA-ZąˇćĆęńŃłŁśŚĽŹżŻóÓ -]{1,}$/'
);
$form->addRule('street',
'Nieprawidłowy adres!',
'regex', '/^[a-zA-Z0-9ąˇćĆęńŃłŁśŚĽŹżŻóÓ'/ ,.]{1,}$/'
);
$form->addRule('zipCode',
'Nieprawidłowy kod!',
'regex', '/^[0-9]{2}-[0-9]{3}$/'
);
$form->addRule('city',
'Nieprawidłowa nazwa!',
'regex', '/^[a-zA-Z0-9ąˇćĆęńŃłŁśŚĽŹżŻóÓ' -]{1,}$/'
);
$form->addRule('email', 'Nieprawidłowy adres!', 'email');
$form->addRule('tel',
'Nieprawidłowy numer!',
'regex', '/^[0-9-() ]{1,}$/'
);
$form->addRule('gsm',
'Nieprawidłowy numer!',
'regex', '/^[0-9-() ]{1,}$/'
);
$form->setRequiredNote
('<font color=\"red\" size=\"1\">*</font>To pole jest wymagane');
// try to validate the form
if ( $form->validate() )
{
$form->exportValue('newUserLogin'),
$form->exportValue('pass1'),
$form->exportValue('firm'),
$form->exportValue('nip'),
$form->exportValue('fname'),
$form->exportValue('lname'),
$form->exportValue('street'),
$form->exportValue('zipCode'),
$form->exportValue('city'),
$regions [ $form->exportValue('region') ],
$form->exportValue('email'),
$form->exportValue('tel'),
$form->exportValue('gsm')
);
if ( $result = users::add ( $data ) )
{
$this->tpl->assign('message', $result);
}
else
{
$this->tpl->assign('error', 'Błąd podczas dodawania');
}
}
else
{
$renderer =& new HTML_QuickForm_Renderer_Array(true, true);
$form->accept($renderer);
$this->tpl->assign($formName, $renderer->toArray());
}
?>
problem w tym ze jesli klikne "OK" w dowolnym formularzu wszystkie probuja sie "wyslac". Macie pomysl jak temu zaradzic?
Ten post edytował squid 6.07.2005, 15:28:29