Выбор даты и времени 00-0000-00 на выходе

Я перепробовал все предложения, которые я прочитал здесь, но все же они сохраняются как 00-0000-00. Надеюсь, кто-нибудь мне поможет. Коды ниже покажут htm и php. последняя часть — php. любая помощь будет высоко ценится

мой код:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#my_date" ).datepicker({
dateFormat: "MM/dd/yy",
defaultDate: "January/01/1970",
minDate: "January/01/1925",
maxDate: "December/31/2011",
changeMonth: true,
changeYear: true,
yearRange: "1925:2011",
onClose: function(dateText, inst) {
var validDate = $.datepicker.formatDate( "MM/dd/yy",     $('#my_date').datepicker('getDate'));
$('#my_date').datepicker('setDate', validDate);
}
});
});
</script>
</head>
<body>
<form action="" method="post" id="myform">
<input name="my_date" id="my_date" type="text" value="January/01/2016" />
<tr><td><label>Add New Election</label></td>
<td><input type="text" name="idelection" value="" style="width:250px; height:34px; border:1px solid #336666;"/></td>
<td><input type="text" name="electitle" value="" style="width:250px; height:34px; border:1px solid #336666;"/></td>
</tr>
<tr>
<td align="center"><input type="submit" value="ADD" name="submit"/></td>
</tr>
</form>
</body>
</html>

** часть php **

  <?php
include "connection.php";
session_start();
$con = db();

if(isset($_POST["submit"])){

$id = isset($_POST['idelection']) ? $_POST['idelection'] : '';
$title = isset($_POST['electitle']) ? $_POST['electitle'] : '';
$date1 = $_POST['my_date'];
$date = mysqli_real_escape_string($con,$date1);
$new_date = date('Y-m-d',strtotime($date));$sql = 'INSERT INTO election_time (elec_id,elec_date) VALUES ("'.$_POST['idelection'].'","$new_date")';
$sql2 = 'INSERT INTO election (elec_id,elec_title) VALUES ("'.$_POST['idelection'].'","'.$_POST['electitle'].'")';

$result = mysqli_query($con,$sql);
$result2 = mysqli_query($con,$sql2);

if(!$result && !$result2){
die("Error on mysql query".mysqli_error());
}
}?>

1

Решение

Если вам надоело делать какую-либо базовую отладку:

php > var_dump(strtotime('January/01/1970'));
bool(false)

Ваш формат даты не является чем-то strtotime() распознает, так что это не удается, возвращает логическое значение FALSE, который вы затем вслепую вставляете в date()где это рассматривается как целое число 0так что твое свидание на самом деле эпоха Unix, Jan 1, 1970,

И обратите внимание, что ваш код широко открыт для SQL инъекций.

4

Другие решения

Просто сделай одну вещь в своем JS. Если возможно, измените формат даты на этот

dateFormat: "MM-dd-yy",$(function() {
$( "#my_date" ).datepicker({
dateFormat: "MM-dd-yy",
defaultDate: "January/01/1970",
minDate: "January/01/1925",
maxDate: "December/31/2011",
changeMonth: true,
changeYear: true,
yearRange: "1925:2011",
onClose: function(dateText, inst) {
var validDate = $.datepicker.formatDate( "MM-dd-yy",$('#my_date').datepicker('getDate'));
$('#my_date').datepicker('setDate', validDate);
}
});
});
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector