Developer
PHP
PHP TUTORIALPHP IntroductionPHP InstallationPHP Hello WorldPHP Basic SyntaxPHP VariablesPHP ConstantsPHP OutputPHP Data TypesPHP 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 Required Inputs

So far, any input in our form was optional. But, when we create forms, we need to have required input fields. As an example, email field should not empty, otherwise it should show an error.

In PHP, we use empty() function to check whether an input is empty or not. This function returns true on following cases.

  • "" - In an empty string
  • 0 - 0 as an integer
  • 0.0 - 0 as a float
  • "0" - 0 as string
  • null
  • false
  • [] - empty array

In the following example, form and handler will be on the same script. Then, we will show error messages inside the forms.

Tip: Data of non-form element (<div>, <span>, etc.) inside a form will not be submitted.

Required Input Fields


<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
	// request method is post
	// now handle the form data

	// declare name and email variables
	$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">
	<span class="error"><?php if (isset($nameError)) echo $nameError ?></span>

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

</body>
</html>

Run Example ››

Tip: If there is only one statement inside a if conditional, you can ommit curly braces.
Ex: <?php if (isset($nameError)) echo $nameError ?>

Advertisement
35
161