How can a PHP form be created to handle both login and registration functionalities?

To create a PHP form that handles both login and registration functionalities, you can include conditional statements in the form processing script to determine whether the user is trying to log in or register. This can be done by checking if certain form fields are filled out or if a specific button is clicked. Based on this information, the script can then execute the appropriate logic for either logging in or registering the user.

<?php

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Check if login form fields are filled out
    if (isset($_POST['login'])) {
        // Process login logic
        $username = $_POST['username'];
        $password = $_POST['password'];
        
        // Validate login credentials
        // Redirect user to dashboard if login is successful
    }
    
    // Check if registration form fields are filled out
    if (isset($_POST['register'])) {
        // Process registration logic
        $username = $_POST['new_username'];
        $password = $_POST['new_password'];
        
        // Validate registration information
        // Add new user to database
        // Redirect user to dashboard upon successful registration
    }
}

?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="username" placeholder="Username" required>
    <input type="password" name="password" placeholder="Password" required>
    <button type="submit" name="login">Login</button>
    
    <input type="text" name="new_username" placeholder="New Username" required>
    <input type="password" name="new_password" placeholder="New Password" required>
    <button type="submit" name="register">Register</button>
</form>