From 45ddd15ecf24fac4fad52f7a4383043850867f23 Mon Sep 17 00:00:00 2001 From: Ain <41307858+nero@users.noreply.github.com> Date: Mon, 9 Sep 2019 12:34:54 +0000 Subject: [PATCH] Allow preseeding form fields from URL parameters --- Form.php | 8 ++++++++ test.php | 1 + 2 files changed, 9 insertions(+) diff --git a/Form.php b/Form.php index bbe39c1..0111c03 100644 --- a/Form.php +++ b/Form.php @@ -29,6 +29,14 @@ class Form { } } + public function preseedFromUrl() { + foreach ($this->fields as $name=>$field) { + if (isset($_GET[$name])) { + $field->setValue($_GET[$name]); + } + } + } + public function loadFromEnv() { foreach ($this->fields as $name=>$field) { $field->loadFromEnv($name); diff --git a/test.php b/test.php index 3dff303..cecfe50 100644 --- a/test.php +++ b/test.php @@ -23,6 +23,7 @@ $form = new Post\Form(array( "select" => new Post\SelectField(array("options"=>array("0"=>"false","1"=>"true"))) )); +$form->preseedFromUrl(); $form->denyCsrf(); if ($_SERVER["REQUEST_METHOD"]=="POST") {