polygris
Guest
Проблема с HTML_QuickForm
в php файле использующем HTML_QuickForm нужно передать дополнительный параметр (для примера action) add_towns.php?action=add...
Когда я запуская скрипт с такими параметрами у меня сразу срабатывает validation.
Пробовал добавлять hidden для action не помогло.
в php файле использующем HTML_QuickForm нужно передать дополнительный параметр (для примера action) add_towns.php?action=add...
Когда я запуская скрипт с такими параметрами у меня сразу срабатывает validation.
Пробовал добавлять hidden для action не помогло.
PHP:
<HTML>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Добавить город</TITLE>
<BODY>
<?php
require_once("HTML/QuickForm.php");
require_once("DB.php");
# Connection to DB
$user = 'polygris';
$pass = 'bonjovi';
$host = 'localhost';
$db_name = 'gamem';
$dsn = 'mysql://polygris:bonjovi@localhost/gamem';
$db = DB::connect($dsn);
// With DB::isError you can differentiate between an error or
// a valid connection.
if (DB::isError($db)) {
die ($db->getMessage());
}
$result_array = array();
$sql = "SELECT * FROM regions ORDER BY name";
$result = $db->query($sql);
// Always check that $result is not an error
if (DB::isError($result)) {
die ($result->getMessage());
}
// Get each row of data on each iteration until
// there are no more rows
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$result_array[$row["id"]] = $row["name"];
}
// Disconnect from DB
$db->disconnect();
$defaults = array('action' => 'add',
'region_id' => 1);
// Fields
$form = new HTML_QuickForm('add_towns', 'get');
$form->addElement('hidden', 'action');
$form->addElement('header', 'add_towns_header', 'Добавление города');
$form->addElement('text', 'id', 'ИН города:');
$form->addElement('select', 'region_id', 'Область:', $result_array);
$form->addElement('text', 'name', 'Название города:', array('size' => 50, 'maxlength' => 100));
$form->addElement('reset', 'btnClear', 'Очистить');
$form->addElement('submit', 'btnSubmit', 'Отправить');
// Rules
$form->addRule('id', 'Идентификационный номер города не может состоять из спецсимволов и букв',
'numeric');
$form->addRule('region_id', 'Выберите регион (область)', 'required');
$form->addRule('name', 'Введите название города!', 'required');
if ($form->validate()) {
# If the form validates then freeze data
$form->freeze();
$form->process('process_data', false);
} else {
$form->setDefaults($defaults);
$form->display();
}
function process_data ($values) {
echo "<pre>";
print_r($values);
$sql_add = "INSERT towns VALUES(null, ".$values["region_id"].",'".$values["name"]."')";
echo $sql_add;
echo "</pre>";
}
?>
</BODY>
</HTML>