表单在提交时看不到详细信息

I've been working some more on the contact form and instead of 2 separate files i made it like this. It's working a lot better now but when you fill in the details: "name, phone, email, message" it will say you need to fill in the required fields "even though they are all filled in...

Code:

    <?php
require_once 'contact/core/init.php'; //adding init file to index
$user = new User(); //Calling class file to be used
?>
<!DOCTYPE HTML>
    <html lang="en" class="no-js">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>

    <link rel="stylesheet" href="contact/css/reset.css"> <!-- CSS reset -->
    <link rel="stylesheet" href="contact/css/style.css"> <!-- Resource style -->
    <script src="contact/js/modernizr.js"></script> <!-- Modernizr -->

        <link href='http://fonts.googleapis.com/css?family=Neucha' rel='stylesheet' type='text/css'>
        <link href='http://fonts.googleapis.com/css?family=Antic' rel='stylesheet' type='text/css'>
        <link href='http://fonts.googleapis.com/css?family=Lato:300' rel='stylesheet' type='text/css'>
        <link rel="stylesheet type="text/css" href="style.css">
        <link rel="apple-touch-icon" sizes="57x57" href="Favicon/apple-icon-57x57.png">
        <link rel="apple-touch-icon" sizes="60x60" href="Favicon/apple-icon-60x60.png">
        <link rel="apple-touch-icon" sizes="72x72" href="Favicon/apple-icon-72x72.png">
        <link rel="apple-touch-icon" sizes="76x76" href="Favicon/apple-icon-76x76.png">
        <link rel="apple-touch-icon" sizes="114x114" href="Favicon/apple-icon-114x114.png">
        <link rel="apple-touch-icon" sizes="120x120" href="Favicon/apple-icon-120x120.png">
        <link rel="apple-touch-icon" sizes="144x144" href="Favicon/apple-icon-144x144.png">
        <link rel="apple-touch-icon" sizes="152x152" href="Favicon/apple-icon-152x152.png">
        <link rel="apple-touch-icon" sizes="180x180" href="Favicon/apple-icon-180x180.png">
        <link rel="icon" type="image/png" sizes="192x192"  href="Favicon/android-icon-192x192.png">
        <link rel="icon" type="image/png" sizes="32x32" href="Favicon/favicon-32x32.png">
        <link rel="icon" type="image/png" sizes="96x96" href="Favicon/favicon-96x96.png">
        <link rel="icon" type="image/png" sizes="16x16" href="Favicon/favicon-16x16.png">
        <link rel="manifest" href="Favicon/manifest.json">
        <meta name="msapplication-TileColor" content="#ffffff">
        <meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
        <meta name="theme-color" content="#ffffff">


        <title>*******</title>
</head>
<img src="Images/Banner.jpg" />
<body>
<?php
                if(Input::exists()) { //Checking if there are inputs
                    $validate = new Validate(); //calling Validation class
                    $validation = $validate->check($_POST, array(
                        'Name'  => array( //using name in the input section you can validate your inputs here
                            'required'  => true, //something has to be added into the name section
                            'min'       => 2, //nothing less then 2
                            'max'       => 255 //nothing over 255
                        ),
                        'Phone' => array(
                            'required'  => true,
                            'min'       => 2,
                            'max'       => 255
                        ),
                        'Email' => array(
                            'required'  => true
                        ),
                        'Message' => array(
                            'required'  => true
                        )
                    ));

                    if($validation->passed()) { //if validation has passed 
                        $user = new User(); //calling class file within the validation if statment

                        try {
                            if(isset($_POST['Features'])){
                            $user->create(array( //adding items to a database.
                                'Name'                  => Input::get('Name'), //getting information form the form to ass to database
                                'Phone'                 => Input::get('Phone'),
                                'Email'                 => Input::get('Email'), // Email is the database table name
                                'Budget'                => Input::get('Budget'),
                                'Message'           => Input::get('Message'),
                                'Features'              => implode(', ', $_POST['Features']), //Imploding Features to display more then one if more then one is selected and spacing them with a comma ',' to look neat
                                'Message'   => Input::get('Message'),
                                'Sent'                  => date('Y-m-d H:i:s'),
                                'IP_Address'            => $user->_ip() //Getting users IP address for security reasons
                            ));
                        }else{
                            $user->create(array( //adding items to a database.
                                'Name'                  => Input::get('Name'), //getting information form the form to ass to database
                                'Phone'                 => Input::get('Phone'),
                                'Email'                 => Input::get('Email'), // Email is the database table name
                                'Budget'                => Input::get('Budget'),
                                'Project_Type'          => Input::get('Project_Type'),
                                'Message'   => Input::get('Message'),
                                'Sent'                  => date('Y-m-d H:i:s'),
                                'IP_Address'            => $user->_ip() //Getting users IP address for security reasons
                            ));
                        }

                            //Send email to email address
                            $adminEmail = '******'; //Your own email address
                            $subject = "Email from your Contact Form";
                            // Set Message
                            if(isset($_POST['Features'])){
                                $message = "Email from: " . Input::get('Name') . "<br />";
                                $messgae .= "Phone: " . Input::get('Phone') . "<br />";
                                $message .= "Email address: " . Input::get('Email') . "<br />";
                                $messgae .= "Budget: " . Input::get('Budget') . "<br />";
                                $message .= "Project Type: " . Input::get('Project_Type') . "<br />";
                                $message .= "Features: " . implode(', ', $_POST['Features']) . "<br />";
                                $message .= "Message: <br />";
                                $message .= Input::get('Message');
                                $message .= "<br /> ----- <br /> This email was sent from your site's contact form. <br />";
                                $message .= "Email sent: " . date('Y-m-d H:i:s') . "<br />";
                                $message .=  Input::get('Name') . " IP Addrress: " . $user->_ip() . "<br />";
                            }else{
                                $message = "Email from: " . Input::get('Name') . "<br />";
                                $messgae .= "Phone: " . Input::get('Phone') . "<br />";
                                $message .= "Email address: " . Input::get('Email') . "<br />";
                                $messgae .= "Budget: " . Input::get('Budget') . "<br />";
                                $message .= "Project Type: " . Input::get('Project_Type') . "<br />";
                                $message .= "Message: <br />";
                                $message .= Input::get('Message');
                                $message .= "<br /> ----- <br /> This email was sent from your site's contact form. <br />";
                                $message .= "Email sent: " . date('Y-m-d H:i:s') . "<br />";
                                $message .=  Input::get('Name') . " IP Addrress: " . $user->_ip() . "<br />";
                            }
                            // Set From: header
                            $from =  Input::get('Name') . " <" . Input::get('Email') . ">";

                            // Email Headers
                            $headers = "From: " . $from . "
";
                            $headers .= "Reply-To: ". Input::get('Email') . "
";
                            $headers .= "MIME-Version: 1.0
";
                            $headers .= "Content-Type: text/html; charset=ISO-8859-1
";

                            $mail = mail($adminEmail, $subject, $message, $headers);

                        } catch(Exception $e) {
                            die($e->getMessage());
                        }
                    }else{ //If validation fails display errros to screen
                        echo '<div class="error-message">';
                        foreach($validation->errors() as $error) {
                            echo '<p>'. str_replace('_', ' ', $error), '</p><br>'; //removes any '_' in Names
                        }
                        echo '</div>';
                    }
                }
            ?>
<div class="navbar">
<ul>
  <li><a href="index.html" id="dets">Home</a></li>
  <li><a href="about.html" id="dets">About</a></li>
  <li><a href="treatments.html" id="dets">Treatments</a></li> 
  <li><a href="portfolio.html" id="dets">Portfolio</a></li>
  <li><a href="news.html" id="dets">Latest News</a></li>
  <li><a href="contact.php" id="dets">Contact</a></li>  
</ul>
</div>
<div class="backgroundframe"> 
<h1>Contact me</h1>
<p> Feel free to contact me via mobile (********), email (<a href="mailto:*******" target="top">******</a> ) or the form below! I will get back to you as soon as possible. <p>


    <form class="cd-form floating-labels" action="" method="post"> <!-- Added Action and Methos to the form. -->
        <fieldset>
            <legend>Contact details</legend>

            <div class="error-message">
                <p>Please fill in all your details so I can be the best of help.</p>
            </div>

            <div class="icon">
                <label class="cd-label" for="cd-name">Name</label>
                <input class="user" type="text" name="cd-name" id="cd-name" required>
            </div> 

            <div class="icon">
                <label class="cd-label" for="cd-phone">Phone</label>
                <input class="phone" type="text" name="cd-phone" id="cd-phone" required>
            </div> 

            <div class="icon">
                <label class="cd-label" for="cd-email">Email</label>
                <input class="email" type="email" name="cd-email" id="cd-email" required>
            </div>
        </fieldset>

        <fieldset>
            <legend>Message</legend>

            <div>
                <h4>Subject</h4>

                <p class="cd-select icon">
                    <select class="budget" required>
                        <option value="0">Select subject</option>
                        <option value="1">&lt; $5000</option>
                        <option value="2">$5000 - $10000</option>
                        <option value="3">&gt; $10000</option>
                    </select>
                </p>
            </div> 

            <div class="icon">
                <label class="cd-label" for="cd-textarea">Message</label>
                <textarea class="message" name="cd-textarea" id="cd-textarea" required></textarea>
            </div>

            <div>
                <input type="submit" value="Send Message">
            </div>
        </fieldset>
    </form>
<script src="contact/js/jquery-2.1.1.js"></script>
<script src="contact/js/main.js"></script> <!-- Resource jQuery -->
</body>
</html>

when you submit your form, its looking for data from 'name', 'phone', 'email' and 'message'. because at the top of your php code you required 'name', 'phone', 'email' and 'message'. but actually you don't have these fields. you named these as 'cd-name', 'cd-phone', 'cd-email' and 'cd-textarea' in your html.

either change name of key's at the top of your php code or change names of your input fields in html code. they both should same.