Я обычно использую что-то подобное для простых форм / сайтов без фреймворка.
$name = isset($_GET['name']) ? trim($_GET['name']) : "";
$address = isset($_GET['address']) ? trim($_GET['address']) : "";
$city = isset($_GET['city']) ? trim($_GET['city']) : "";
$province = isset($_GET['province']) ? trim($_GET['province']) : "";
$postalcode = isset($_GET['postalcode']) ? trim($_GET['postalcode']) : "";
...
<p>Name<br/>
<input type="text" name="name" size="50" value="<?= htmlspecialchars($name); ?>" /><br/>
<p>Address<br/>
<input type="text" name="address" size="50" value="<?= htmlspecialchars($address); ?>" /><br/>
<p>City<br/>
<input type="text" name="city" size="50" value="<?= htmlspecialchars($city); ?>" /><br/>
<p>Province<br/>
<input type="text" name="province" size="2" value="<?= htmlspecialchars($province); ?>" /><br/>
<p>Postal Code<br/>
<input type="text" name="postalcode" size="6" value="<?= htmlspecialchars($postalcode); ?>" />
Это позволяет вам устанавливать значения по умолчанию, если вам нужно, или вы можете просто оставить их пустыми.
Или вы можете сделать следующее *
$fields = array(
'name' => '',
'address' => '',
'city' => '',
'provice' => 'Quebec',
'postalcode' => ''
);
foreach ( $fields as $field => $default ) {
$$field = isset($_GET[$field]) ? trim($_GET[$field]) : $default;
}
И HTML остается прежним.
* Нет, я не проверял это.