How to send Date of birth to Database from html form

I’ve created a html form and connected to the database but when I try to insert DOB to the Db it displays as “null”
I would like to know how to send the DOB.
here are the codes

create-form.php:

<?php
include('connection.php');

if(isset($_POST['addForm'])) {

    $fullName = $_POST['fullName'];
    $email = $_POST['mobile'];
    $mobile = $_POST['email'];
    $dob = $_POST['dob'];
    $degree = $_POST['degree'];
    $expYears = $_POST['expYears'];
    $position = $_POST['position'];
    $whyHire = $_POST['whyHire'];
    $uploadCV = $_POST['uploadCV'];
    $dateApplied = $_POST['dateApplied'];


    $db = new Database();
    $db->connect();
    $db->insert('users',array('fullName'=>$fullName,'email'=>$email, 'mobile'=>$mobile,
                'dob'=>$dob, 'degree'=>$degree, 'expYears'=>$expYears, 'position'=>$position,
                'whyHire'=>$whyHire, 'uploadCV'=>$uploadCV, 'dateApplied'=>$dateApplied));  // Table name, column names and respective values
    $res = $db->getResult();
    print_r($res);

    if($res) {
        header("Location: http://localhost/Rocket/careers.php");
        die();
    } else {
        echo "query error";
    }
}

?>

jobForm.php:

<!DOCTYPE html>
<html>
<head>
    <title> Job Application Form </title>
</head>

<body>

<form action="../server/create-form.php" method="post">
    <input type="text" name="fullName" placeholder="Full Name" />
    <input type="email" name="email" placeholder="E-mail Address" />
    <input type="number" name="mobile" placeholder="Mobile Number" />
    <!-- Birth Day -->
    <div>
        <select name="dobDay">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
            <option value="30">30</option>
            <option value="31">31</option>
        </select>
        <!-- Birth Month -->
        <select name="dobMonth">
            <option value="January">January</option>
            <option value="February">February</option>
            <option value="March">March</option>
            <option value="April">April</option>
            <option value="May">May</option>
            <option value="June">June</option>
            <option value="July">July</option>
            <option value="August">August</option>
            <option value="September">September</option>
            <option value="October">October</option>
            <option value="November">November</option>
            <option value="December">December</option>
        </select>
        <!-- Birth Year -->
        <select name='dobYear'>
            <option value='1947'>1947</option>
            <option value='1948'>1948</option>
            <option value='1949'>1949</option>
            <option value='1950'>1950</option>
            <option value='1951'>1951</option>
            <option value='1952'>1952</option>
            <option value='1953'>1953</option>
            <option value='1954'>1954</option>
            <option value='1955'>1955</option>
            <option value='1956'>1956</option>
            <option value='1957'>1957</option>
            <option value='1958'>1958</option>
            <option value='1959'>1959</option>
            <option value='1960'>1960</option>
            <option value='1961'>1961</option>
            <option value='1962'>1962</option>
            <option value='1963'>1963</option>
            <option value='1964'>1964</option>
            <option value='1965'>1965</option>
            <option value='1966'>1966</option>
            <option value='1967'>1967</option>
            <option value='1968'>1968</option>
            <option value='1969'>1969</option>
            <option value='1970'>1970</option>
            <option value='1971'>1971</option>
            <option value='1972'>1972</option>
            <option value='1973'>1973</option>
            <option value='1974'>1974</option>
            <option value='1975'>1975</option>
            <option value='1976'>1976</option>
            <option value='1977'>1977</option>
            <option value='1978'>1978</option>
            <option value='1979'>1979</option>
            <option value='1980'>1980</option>
            <option value='1981'>1981</option>
            <option value='1982'>1982</option>
            <option value='1983'>1983</option>
            <option value='1984'>1984</option>
            <option value='1985'>1985</option>
            <option value='1986'>1986</option>
            <option value='1987'>1987</option>
            <option value='1988'>1988</option>
            <option value='1989'>1989</option>
            <option value='1990'>1990</option>
            <option value='1991'>1991</option>
            <option value='1992'>1992</option>
            <option value='1993'>1993</option>
            <option value='1994'>1994</option>
            <option value='1995'>1995</option>
            <option value='1996'>1996</option>
            <option value='1997'>1997</option>
            <option value='1998'>1998</option>
            <option value='1999'>1999</option>
        </select>
    </div>
    <!-- Academic Degree -->
    <div>
        <select name="degree">
            <option value="High school">High School</option>
            <option value="Diploma">Diploma</option>
            <option value="Bachelor">Bachelor</option>
            <option value="Masters">Masters</option>
            <option value="PHD">PH.D</option>
        </select>
    </div>
    <!-- Years of EXP -->
    <div>
        <select name="expYears">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
        </select>
    </div>
    <!-- job position -->
    <div>
        <select name="jobPosition">
            <option name="jobPosition" selected ><?php echo $_GET['jobTitle']; ?></option>
            <option name="Web Developer" value="Web Developer">Web Developer</option>
            <option name="Web Designer" value="Web Designer">Web Designer</option>
            <option name="Graphic Designer" value="Graphic Designer">Graphic Designer</option>
            <option name="Data Scientist" value="Data Scientist">Data Scientist</option>
            <option name="Business Manager" value="Business Manager">Business Manager</option>
        </select>
    </div>
    <!-- why hire? -->
    <div>
        <textarea placeholder="Why should we hire you?"></textarea>
    </div>
    <!-- Upload CV -->
    <div>
        <button type="submit">Upload CV</button>
    </div>
    <!-- date applied -->
    <input type="hidden" value="<?php echo date('Y-m-d')?>" />
    <!-- Submit Form -->
    <input type="submit" value="Apply for this position"/>
</form>

</body>
</html>

Screenshot of the DB table:

You are mixing up unrelated layers. First you have to verify what your browser is really sending, you see that in the webdeveloper console by using the F12 key and going to the network tab. If the browser is sending what you want, you can go to your PHP script and verify what is coming from the client, a simple var_dump($_POST) would show you the contents of the request. Third step would be to debug your database class as it is not build-in and nobody here knows what it does. Set it to throw upcoming errors or use some function to obtain any error the class produces and have a look at the generated statement.

(print_r is insufficient for debugging unknown data as it hides null, false, zero and empty string values)

1 Like

Yes, Sorry I got it
I changed the entire “select” element to

<input type="date" name="dob" />

and it worked

2 Likes

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.