From: Jason Woofenden Date: Sun, 31 Dec 2006 21:41:22 +0000 (-0500) Subject: metaform: tested and fixed. fixed sql for checkboxes X-Git-Url: https://jasonwoof.com/gitweb/?p=wfpl.git;a=commitdiff_plain;h=f3744c6cf3c6e0f344e15283dbe85e002c402037 metaform: tested and fixed. fixed sql for checkboxes --- diff --git a/metaform.php b/metaform.php index 347717c..9fe48c9 100644 --- a/metaform.php +++ b/metaform.php @@ -40,8 +40,8 @@ $GLOBALS['types'] = array( 'password' => array('password', 'oneline', 'varchar(200)'), 'textarea' => array('textarea', 'unix', 'text'), 'pulldown' => array('pulldown', 'options', 'int'), - 'checkbox' => array('checkbox', 'yesno', 'int'), - 'yesno' => array('checkbox', 'yesno', 'int'), + 'checkbox' => array('checkbox', 'yesno', 'varchar(3)'), + 'yesno' => array('checkbox', 'yesno', 'varchar(3)'), 'submit' => array('submit', 'oneline', 'n/a') ); diff --git a/metaform/template.html b/metaform/template.html index beb9bb4..fa10571 100644 --- a/metaform/template.html +++ b/metaform/template.html @@ -12,7 +12,7 @@ td.caption { text-align: right; vertical-align: top; font-weight: bold; }

~form_name~ entry form

-
+ diff --git a/metaform/template.php b/metaform/template.php index 6ed1caa..d6760cf 100644 --- a/metaform/template.php +++ b/metaform/template.php @@ -30,10 +30,10 @@ function ~form_name~_get_fields() { } function ~form_name~() { - $event_id = format_int($_REQUEST['~form_name~_edit_id']); + $edit_id = format_int($_REQUEST['~form_name~_edit_id']); if($edit_id) { # add hidden field for database id of row we're editing - tem_set('~form_name~_event_id', $edit_id); + tem_set('~form_name~_edit_id', $edit_id); tem_sub('editing'); } @@ -51,7 +51,7 @@ function ~form_name~() { if("you're happy with the POSTed values") { # to enable saving to a database, create a file called 'db_connect.php' # see: code/wfpl/examples/db_connect.php - if(file_exists('db_connect.php') { + if(file_exists('db_connect.php')) { require_once('db_connect.php'); if($edit_id) { db_update('~form_name~', '~db_fields~', ~php_fields~, 'id = %"', $edit_id); @@ -86,10 +86,9 @@ function ~form_name~() { # already put the posted values back into the template engine, so they will # show up in the form fields. You should add some message asking people to # fix their entry in whatever way you require. - } } elseif($edit_id) { # we've recieved an edit id, but no data. So we grab the values to be edited from the database - list(~php_fields~) = db_get_row('events', '~db_fields~', 'id = %"', $event_id); + list(~php_fields~) = db_get_row('~form_name~', '~db_fields~', 'id = %"', $edit_id); ~tem_sets.tab~ } else { # form not submitted, you can set default values like so
~caption.html~: ~caption.html~: ~caption.html~: ~caption.html~: