Я пытаюсь использовать набор переменных в другом операторе if, но он продолжает возвращать неопределенные. Это PHP код:PHP-переменные, возвращающиеся к «по умолчанию» в последующих вызовах AJAX
if(isset($_POST['bookingTime'])){
$bookingTime = $_POST['bookingTime'];
$bookingDate = $_POST['theDate'];
$dbDateTime = $bookingDate." ".$bookingTime;
echo json_encode($dbDateTime);
exit;
}
if(isset($_POST['bookingPwd'])){
$pwd = $_POST['txtBookingPwd'];
//Get the $dbDateTime variable???
echo $pwd;
}
Переменная $dbDateTime
устанавливаются в качестве ответа на запрос AJAX и возвращает только штраф в JQuery, но мне нужно переменный для запроса к базе данных. Как использовать эту переменную в другом операторе if? Я чувствую, что у меня отсутствует что-то действительно основное в моем понимании php. Я пробовал с глобалами, но не повезло.
Update
Удаление exit
не имеет никакого значения. $dbDateTime
переменная по-прежнему не отображается во втором операторе if. Это PHP код, который я побежал к испытанию:
if(isset($_POST['bookingTime'])){
$bookingTime = $_POST['bookingTime'];
$bookingDate = $_POST['theDate'];
$dbDateTime = $bookingDate." ".$bookingTime;
// echo json_encode($dbDateTime);
// exit;
}
if(isset($_POST['bookingPwd'])){
$pwd = $_POST['txtBookingPwd'];
//Get the $dbDateTime variable???
echo $dbDateTime;
echo $pwd;
$booking->newBooking($dbDateTime, $pwd);
}
переменная устанавливается из запроса AJAX со значением времени схватился из HTML таблицы. Затем модаль открывает для пользователя возможность ввести свой пароль, чтобы забронировать суд в указанное время. Я думаю, возможно, PHP не сохраняет значение, поскольку переменная установлена в другом действии?
второго обновления
Сессия работает, но при попытке передать значение $dbDateTime
через следующий вызов AJAX вместо этого. Это код jQuery:
var bookingTime;
var dbDatetime;
$('.courtBook').click(function() {
// Find the row
var $row = $(this).closest('tr');
// Find the text
var bookingTime = $row.find('.courtTime').text()+":00";
var theDate = $('#theDate').text();
$.ajax({
url: 'index.php?page=booking',
type: 'POST',
dataType: 'json',
data: {'bookingTime': bookingTime, 'theDate': theDate},
success: function(data){
var dbDatetime = data;
alert(dbDatetime);
},
error: function(){
alert('Much wrong, such sad');
}
});
});
$('#btnBookingPwd').click(function(){
console.log(bookingTime);
console.log(dbDatetime);
});
В последней функции щелчка переменные становятся неопределенными. Итак, как это работает в jQuery?
[Выход] (http://php.net/manual/en/function.exit.php) останавливает выполнение от достижения второй 'if'. Я не понимаю, как вы понимаете это как неопределенное ... Если первый 'if' является ложным,' $ dbDateTime' является 'undefined', но если это правда, он не достигнет этой точки ... Теперь , если то, что вы делаете, продолжает отправлять запросы для этого php, вы можете использовать SESSIONs для сохранения значения из '$ dbDateTime', так что в следующий раз вы сможете получить к нему доступ ... – FirstOne
Это звучит разумно. SESSIONS - единственный способ сохранить значение в PHP? Должен ли он быть отключен после использования или автоматически перезаписать его? – MaDaHoPe
Вы делаете два отдельных запроса AJAX? То есть, этот скрипт PHP называется двумя раздельными временами? –