I am doing a to do list webpage using HTML, PHP and MySQL but I cannot submit the datetime to the database:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Sign Controller</title>
<link rel="stylesheet" href="/css/style.css" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="update.js"></script>
</head>
<body>
<!--MAIN CONTENT HERE-->
<div class="container">
<form id="controller" action="php/update.php" method="post">
<h3>Sign display controller</h3>
<h4>Event Controller</h4>
<fieldset>
<input placeholder="sign ID" type="text" name="sign_Name" tabindex="1" required autofocus/>
</fieldset>
<h5>Event Start</h5>
<fieldset>
<input type="datetime-local" name="time_eventStart" tabindex="2" required/>
</fieldset>
<h5>Event End</h5>
<fieldset>
<input type="datetime-local" name="time_eventEnd" tabindex="3" required/>
</fieldset>
<fieldset>
<input placeholder="Event source" type="text" name="event_Source" tabindex="4"/>
</fieldset>
<fieldset>
<input placeholder="Idle source" type="text" name="idle_Source" tabindex="5"/>
</fieldset>
<button type="submit">Update</button>
</form>
</div>
</body>
</html>
PHP:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "projectSS";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sign_Name = $_POST["sign_Name"];
$event_Source = $_POST["event_Source"];
$idle_Source = $_POST["idle_Source"];
$time_eventStart = $_POST["time_eventStart"];
$time_eventEnd = $_POST["time_eventEnd"];
$sql = "INSERT INTO display (sign_Name,event_timeStart,event_timeEnd,event_Source,idle_Source)
VALUES ('$sign_Name','$time_eventStart','$time_eventEnd','$event_Source','$idle_Source')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
I'm having a hard time to deal with the datetime-local type and I am new to programming so.
YYYY-MM-DDformatted date. Make sure either you are accepting date in that format or change format of accepted date toYYYY-MM-DDin php.datetime-localis not supported in IE, Firefox and Safari, you would need to so some serious data validation (you'd need to do that anyway...) and make sure it is in the correct format before you send it to the database. And you need to use prepared statements to avoid sql injection.