DONATE Hyvor Developer
PHP
PHP TUTORIALPHP IntroductionPHP InstallationPHP Hello WorldPHP Basic SyntaxPHP CommentsPHP VariablesPHP Variable ScopePHP ConstantsPHP OutputPHP Data TypesPHP Type CastingPHP OperatorsPHP ConditionalsPHP Shorthand ConditionalsPHP LoopsPHP Loop Control StructuresPHP FunctionsPHP StringsPHP ArraysPHP Superglobal VariablesPHP in HTMLPHP RegexRegex IntroductionRegex PCRE SyntaxPHP PREG FunctionsPHP FormsPHP Forms IntroductionPHP Forms CreatingPHP Forms SecurityPHP Forms ValidationPHP Forms Required InputsPHP Forms StickyPHP Forms Advanced ValidationPHP Forms Finishing

PHP Forms Sticky

Sticky inputs are auto-filling inputs after submitting

In previous examples, if user forgot to fill the email, an error message was shown. Also, all other inputs were cleared. Sticky inputs prevents this annoying mistake.

To do this, the form and handler should be on the same script. It is pretty easy to make our form sticky. We need to echo the submitted name and email as the value attribute of the input fields.

Sticky Input Fields


<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

	$name = $email = '';

	if (empty($_POST['name'])) {
		$nameError = 'Name should be filled';
	} else {
		$name = trim(htmlspecialchars($_POST['name']));
	}

	if (empty($_POST['email'])) {
		$emailError = 'Please add your email';
	} else {
		$email = trim(htmlspecialchars($_POST['name']));
	}

}
?>
<html>
<head>
	<title>PHP Forms</title>
	<style type="text/css">
		.error {
			color:red;
		}
	</style>
</head>
<body>

<form method="POST" action="">
	Name: <input type="text" name="name" value="<?php if (isset($name)) echo $name; ?>">
	<span class="error"><?php if (isset($nameError)) echo $nameError ?></span>

	Email: <input type="text" name="email" value="<?php if (isset($email)) echo $email; ?>">
	<span class="error"><?php if (isset($emailError)) echo $emailError ?></span>
	<input type="submit" name="submit">
</form>

</body>
</html>

Run Example ››
10
325