Back to Roadmap
5:00

Handling Forms in PHP

Learn how PHP processes HTML forms, handles user input, and validates submitted data securely

5 MIN READ VERIFIED CURRICULUM

Forms are one of the most important ways users interact with web applications.

PHP provides powerful features for collecting, processing, and validating form data on the server side.

What is a Form?

An HTML form is used to collect user input such as names, emails, passwords, and messages.

The collected data is sent to the server where PHP processes the information.

Basic HTML Form

A form contains input fields and a submit button that sends data to the server.

<form method="POST" action="process.php">
  <input type="text" name="username" placeholder="Enter Name">
  <button type="submit">Submit</button>
</form>
html

Form Methods

Forms commonly use GET or POST methods to send data to the server.

GET sends data through the URL, while POST sends data securely inside the request body.

Using the GET Method

The GET method is commonly used for search forms and non-sensitive data.

<?php
 echo $_GET['username'];
?>
php

Using the POST Method

The POST method is recommended for passwords, login forms, and sensitive information.

<?php
 echo $_POST['username'];
?>
php

Understanding Superglobals

PHP provides predefined superglobal arrays such as $_GET, $_POST, and $_REQUEST to access form data.

These arrays make it easy to retrieve values submitted by users.

Checking Form Submission

Developers often check whether a form has been submitted before processing data.

<?php
 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   echo 'Form Submitted';
 }
?>
php

Accessing Form Input

Form field values can be accessed using their name attribute.

<?php
 $email = $_POST['email'];
 echo $email;
?>
php

Form Validation

Validation ensures that users provide correct and complete information before processing.

Common validation checks include required fields, email format, and password length.

Required Field Validation

<?php
 if (empty($_POST['username'])) {
   echo 'Username is required';
 }
?>
php

Sanitizing User Input

Sanitizing removes unwanted or harmful characters from user input.

This helps prevent security vulnerabilities such as Cross-Site Scripting (XSS).

<?php
 $name = htmlspecialchars($_POST['name']);
 echo $name;
?>
php

Validating Email Addresses

PHP provides built-in filters to validate email formats.

<?php
 if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
   echo 'Valid Email';
 }
?>
php

Working with Multiple Inputs

Forms can contain multiple input fields such as text boxes, radio buttons, checkboxes, and dropdowns.

<input type="checkbox" name="skills[]" value="PHP"> PHP
html

Handling Password Fields

Passwords should never be stored in plain text.

PHP provides password_hash() and password_verify() functions for secure password handling.

<?php
 $hashedPassword = password_hash('mypassword', PASSWORD_DEFAULT);
?>
php

Displaying Success Messages

After successful validation and processing, applications often display confirmation messages to users.

<?php
 echo 'Form submitted successfully';
?>
php

Common Form Errors

Common mistakes include missing form methods, incorrect input names, and processing unsanitized data.

Careful validation and debugging help prevent these issues.

Best Practices

Always validate and sanitize user input before storing or displaying it.

Use POST for sensitive data and implement proper security measures to protect applications.

Summary

PHP form handling allows developers to collect and process user input efficiently.

Understanding form processing, validation, and security is essential for building safe and interactive web applications.