0

Can you help me on what PHP code do I need in order to insert the date to the database from the HTML form. Here is the date format:

date format

HTML FORM:

<form action="insertleave.php" method="post">
      <label>Date Filed:</label>
      <input type="date" name="datefiled">

      <label>Date of Leave:</label>
      <input type="date" name="leavedate">
</form>

PHP:

if( $_POST ){
    $config = parse_ini_file("phpconfig.ini");
    $conn = mysqli_connect($config['host'], $config['username'], $config['password'], $config['dbname']);

    if (!$conn){
        die("Connection failed: " . mysqli_connect_error());
    }

    -----CAN YOU PROVIDE ME WHAT THE CODE IS NEEDED HERE -----


    if (mysqli_query($conn, $sql)) {
       echo "OK!";
    } else {
       echo "Error: " . $sql . "<br>" . mysqli_error($conn);
  }
}
mysqli_close($conn);
0

3 Answers 3

2

You have to Format the the time as you defined/ create the field in the database. Because you select the DATE so the format id Y-m-d. Replace the table with your actual table name.

Your Query is:

$datefiled = date("Y-m-d", strtotime($_POST['datefiled']));
$leavedate = date("Y-m-d", strtotime($_POST['leavedate']));
$sql = "INSERT INTO table (DateFiled, LeaveDate) VALUES('$datefiled', '$leavedate')";
Sign up to request clarification or add additional context in comments.

1 Comment

Well, I'll give you an upvote, even if the OP won't, but the usual caveat about prepared statements still applies.
0

In database date is inserted in Y-m-d format so you have to convert your date form before inserting it into database.

To convert date format you have to do something like this

$datefiled = date('Y-m-d', strtotime($_POST['datefiled']));

After that in your insert query simply use that variable and it will be inserted sucesfully.

Note: Use data field as date in you database as it will smooth many of your work in future like displaying dates, displaying no. days left between two dates etc.

Comments

0

Your query will be like this

$sql = "INSERT INTO XXX (DateFiled,LeaveDate) VALUES('".date("Y-m-d", strtotime($_POST['datefiled']))."','".date("Y-m-d", strtotime($_POST['leavedate']))."')";

XXX is the name of your table. It should help you.

1 Comment

'DateFiled','LeaveDate' this may generate error, cause you use '.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.