У меня есть JavaScript, который запускает метод POST, когда мой датпикер был не в фокусе (я также пробовал это на обычной кнопке отправки) и запускает скрипт rent-fetch-pick-up-point.php
. PHP работает, однако он не проходит мимо оператора if, потому что он не получает данные POST. DatePicker привязан к полю ввода time-period-from
datepickerTo.blur(function(){
if (selectedDateFrom.length > 0) {
datepickerFrom.delay(500).queue(function(){
$.ajax({
type: "POST",
url: "include/rent-fetch-pick-up-point.php",
data: {action: selectedDateFrom},
success: function(data) {
$("#pick-up-point-container").html(data);
}
});
});
}
});
Вот PHP код:
if (isset($_POST['time-period-from'])) {
require '../include/connection.php';
$dateFrom = $_POST['time-period-from'];
$sql = "SELECT * FROM order WHERE $dateFrom BETWEEN date_from AND date_to";
$result = mysqli_query($connection, $sql);
$numRows = mysqli_num_rows($result);
echo $sql; // For testing purposes
}
А вот HTML:
<input type="text" name="time-period-from" id="datepicker-from" class="datepicker"></p>
Я также попытался с помощью $ .post() вместо $ .ajax(), но я столкнулся с той же проблемой:
$.post("include/rent-fetch-pick-up-point.php", {name: selectedDateTo}, function(data) {
$("#pick-up-point-container").text(data)
});
Вы понимаете, вы отправляете данные в 'action' и не в «период времени-от»? –
Ваше сообщение 'action', а не' time-period-from' ... try: '$ _POST ['action']' –
Ваш код уязвим для [SQL-инъекций] (http://stackoverflow.com/questions/60174 /, как-могу-я-предотвратить-SQL-инъекции-в-РНР). –