Проблема с HTML_QuickForm

polygris

Guest
Проблема с HTML_QuickForm

в 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>
 

polygris

Guest
$form = new HTML_QuickForm('add_towns', 'get', true);

не помогло :-(
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
сложный математический вопрос: если конструктор принимает 6 параметров, то последний будет которым по счёту?
 

polygris

Guest
я или дурак или наверное надо идти домой
расскажи как вызвать мне этот гребанный шестой параметр

$form = new HTML_QuickForm('add_towns', 'get', , , , true);

вот уже и так пробовал..

Заранее спасибо.
 
Сверху