Here is a simple Daily Calorie Needs Calculator using PHP. This tool will help users estimate how many calories they need to maintain their weight based on factors like age, gender, weight, height, and activity level. The calculator will use the Mifflin-St Jeor Equation to estimate Basal Metabolic Rate (BMR) and then adjust it based on the user’s activity level.

1. PHP Code for Daily Calorie Needs Calculator

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Daily Calorie Needs Calculator to estimate your daily calorie intake based on activity level, weight, height, and age.">
    <meta name="keywords" content="Calorie Needs Calculator, Daily Calorie Intake, PHP, BMR, Calorie Maintenance">
    <title>Daily Calorie Needs Calculator</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 20px;
        }
        .container {
            max-width: 600px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        h1 {
            text-align: center;
        }
        form {
            margin-top: 20px;
        }
        label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }
        input[type="text"], input[type="number"], select, input[type="submit"] {
            width: 100%;
            padding: 10px;
            margin-bottom: 20px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
        input[type="submit"] {
            background-color: #007bff;
            color: #fff;
            cursor: pointer;
        }
        .result {
            font-size: 18px;
            text-align: center;
            color: #333;
        }
        .error {
            color: red;
            text-align: center;
        }
    </style>
</head>
<body>

<div class="container">
    <h1>Daily Calorie Needs Calculator</h1>
    <p>Enter your details to calculate the number of calories you need daily to maintain your current weight.</p>

    <form method="post">
        <label for="gender">Gender:</label>
        <select id="gender" name="gender" required>
            <option value="male">Male</option>
            <option value="female">Female</option>
        </select>

        <label for="age">Age (years):</label>
        <input type="number" id="age" name="age" min="1" placeholder="Enter your age" required>

        <label for="weight">Weight (kg):</label>
        <input type="number" id="weight" name="weight" min="1" placeholder="Enter your weight in kg" required>

        <label for="height">Height (cm):</label>
        <input type="number" id="height" name="height" min="1" placeholder="Enter your height in cm" required>

        <label for="activity_level">Activity Level:</label>
        <select id="activity_level" name="activity_level" required>
            <option value="1.2">Sedentary (little to no exercise)</option>
            <option value="1.375">Light activity (light exercise/sports 1-3 days/week)</option>
            <option value="1.55">Moderate activity (moderate exercise/sports 3-5 days/week)</option>
            <option value="1.725">Very active (hard exercise/sports 6-7 days/week)</option>
            <option value="1.9">Super active (very hard exercise/sports or physical job)</option>
        </select>

        <input type="submit" name="calculate_calories" value="Calculate Daily Calories">
    </form>

    <?php
    if (isset($_POST['calculate_calories'])) {
        $gender = $_POST['gender'];
        $age = $_POST['age'];
        $weight = $_POST['weight'];
        $height = $_POST['height'];
        $activity_level = $_POST['activity_level'];

        // Validate input
        if (!is_numeric($age) || !is_numeric($weight) || !is_numeric($height) || $age <= 0 || $weight <= 0 || $height <= 0) {
            echo "<div class='error'>Please enter valid numeric values greater than zero.</div>";
        } else {
            // Calculate BMR using Mifflin-St Jeor Equation
            if ($gender == 'male') {
                $bmr = 10 * $weight + 6.25 * $height - 5 * $age + 5;
            } else {
                $bmr = 10 * $weight + 6.25 * $height - 5 * $age - 161;
            }

            // Adjust BMR based on activity level
            $calories_needed = $bmr * $activity_level;

            echo "<div class='result'><p>Your estimated daily calorie needs: <strong>" . round($calories_needed) . " calories/day</strong>.</p></div>";
        }
    }
    ?>
</div>

</body>
</html>

2. How the Daily Calorie Needs Calculator Works

  • Input:
  • Users input:
    • Gender: Male or Female.
    • Age in years.
    • Weight in kilograms.
    • Height in centimeters.
    • Activity Level (from sedentary to very active).
  • Processing:
  • The Mifflin-St Jeor Equation is used to calculate the Basal Metabolic Rate (BMR), which estimates the number of calories your body needs at rest:
    • For men:
      [
      BMR = 10 \times \text{weight (kg)} + 6.25 \times \text{height (cm)} – 5 \times \text{age (years)} + 5
      ]
    • For women:
      [
      BMR = 10 \times \text{weight (kg)} + 6.25 \times \text{height (cm)} – 5 \times \text{age (years)} – 161
      ]
  • The BMR is then multiplied by an Activity Level Multiplier to estimate daily calorie needs:
    • Sedentary (little to no exercise): ( BMR \times 1.2 )
    • Light activity (light exercise/sports 1-3 days/week): ( BMR \times 1.375 )
    • Moderate activity (moderate exercise/sports 3-5 days/week): ( BMR \times 1.55 )
    • Very active (hard exercise/sports 6-7 days/week): ( BMR \times 1.725 )
    • Super active (very hard exercise or physical job): ( BMR \times 1.9 )
  • Output:
  • The estimated daily calorie needs are displayed to the user.
See also  how to create and design Currency Converter Tool ?

3. Integrating the Daily Calorie Needs Calculator into WordPress

Method 1: Creating a Custom Plugin

Steps:
  1. Create a Plugin Folder:
  • Go to /wp-content/plugins/ and create a folder called daily-calorie-calculator.
  1. Create the Plugin File:
  • Inside the daily-calorie-calculator folder, create a file named daily-calorie-calculator.php.
  • Add the following PHP code:
<?php
/*
Plugin Name: Daily Calorie Needs Calculator
Description: A simple tool to calculate daily calorie needs based on age, gender, height, weight, and activity level.
Version: 1.0
Author: Your Name
*/

// Function to display the Daily Calorie Needs Calculator
function daily_calorie_calculator_shortcode() {
    ob_start(); // Start output buffering
    ?>

    <div class="container">
        <h1>Daily Calorie Needs Calculator</h1>
        <p>Enter your details to calculate the number of calories you need daily to maintain your current weight.</p>

        <form method="post">
            <label for="gender">Gender:</label>
            <select id="gender" name="gender" required>
                <option value="male">Male</option>
                <option value="female">Female</option>
            </select>

            <label for="age">Age (years):</label>
            <input type="number" id="age" name="age" min="1" placeholder="Enter your age" required>

            <label for="weight">Weight (kg):</label>
            <input type="number" id="weight" name="weight" min="1" placeholder="Enter your weight in kg" required>

            <label for="height">Height (cm):</label>
            <input type="number" id="height" name="height" min="1" placeholder="Enter your height in cm" required>

            <label for="activity_level">Activity Level:</label>
            <select id="activity_level" name="activity_level" required>


 <option value="1.2">Sedentary (little to no exercise)</option>
                <option value="1.375">Light activity (light exercise/sports 1-3 days/week)</option>
                <option value="1.55">Moderate activity (moderate exercise/sports 3-5 days/week)</option>
                <option value="1.725">Very active (hard exercise/sports 6-7 days/week)</option>
                <option value="1.9">Super active (very hard exercise/sports or physical job)</option>
            </select>

            <input type="submit" name="calculate_calories" value="Calculate Daily Calories">
        </form>

        <?php
        if (isset($_POST['calculate_calories'])) {
            $gender = $_POST['gender'];
            $age = $_POST['age'];
            $weight = $_POST['weight'];
            $height = $_POST['height'];
            $activity_level = $_POST['activity_level'];

            // Validate input
            if (!is_numeric($age) || !is_numeric($weight) || !is_numeric($height) || $age <= 0 || $weight <= 0 || $height <= 0) {
                echo "<div class='error'>Please enter valid numeric values greater than zero.</div>";
            } else {
                // Calculate BMR using Mifflin-St Jeor Equation
                if ($gender == 'male') {
                    $bmr = 10 * $weight + 6.25 * $height - 5 * $age + 5;
                } else {
                    $bmr = 10 * $weight + 6.25 * $height - 5 * $age - 161;
                }

                // Adjust BMR based on activity level
                $calories_needed = $bmr * $activity_level;

                echo "<div class='result'><p>Your estimated daily calorie needs: <strong>" . round($calories_needed) . " calories/day</strong>.</p></div>";
            }
        }
        ?>

    </div>

    <?php
    return ob_get_clean(); // Return the output
}

// Register the shortcode [daily_calorie_calculator]
add_shortcode('daily_calorie_calculator', 'daily_calorie_calculator_shortcode');
?>
  1. Activate the Plugin:
  • Go to the WordPress Admin Dashboard > Plugins and activate the Daily Calorie Needs Calculator plugin.
  1. Add the Shortcode:
  • To display the tool on any post or page, use the shortcode:
   [daily_calorie_calculator]

This Daily Calorie Needs Calculator provides a simple tool for users to estimate their daily caloric intake needs based on activity levels and body metrics.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *