From 1e686fe97e8b13bf5db0d64ca2fb5209bc3ee30b Mon Sep 17 00:00:00 2001 From: Stephen Beaver Date: Wed, 6 Jul 2016 10:47:55 -0400 Subject: Fixed #6577 - Preserve user input on error (cherry picked from commit a654d899cd5d288501fea1ec52dba2e3f0e479ba) --- src/usr/local/www/pkg_edit.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/usr/local/www/pkg_edit.php b/src/usr/local/www/pkg_edit.php index 20df922..118433d 100644 --- a/src/usr/local/www/pkg_edit.php +++ b/src/usr/local/www/pkg_edit.php @@ -1420,15 +1420,19 @@ foreach ($pkg['fields']['field'] as $pkga) { unset($value); $width = null; - if ($rowhelper['value'] != "") { - $value = $rowhelper['value']; - } $fieldname = $rowhelper['fieldname']; $fielddescr = $rowhelper['fielddescr']; - // if user is editing a record, load in the data. - if (isset($id) && $a_pkg[$id]) { +print($fieldname); print("
"); +print($_POST[$fieldname.$rowcounter]); print("
"); print("
"); + + // If input validation failed, read the value from the POST data so that hte user's input is not lost + if ($get_from_post && isset($_POST[$fieldname.$rowcounter])) { + $value = $_POST[$fieldname.$rowcounter]; + } elseif (isset($id) && $a_pkg[$id]) { $value = $row[$fieldname]; + }elseif ($rowhelper['value'] != "") { + $value = $rowhelper['value']; } $type = $rowhelper['type']; @@ -1437,7 +1441,7 @@ foreach ($pkg['fields']['field'] as $pkga) { $value = base64_decode($value); } } - $fieldname = $rowhelper['fieldname']; + if ($rowhelper['size']) { $size = $rowhelper['size']; -- cgit v1.1