<?php
session_start();
// Получаем ответ на запрос
$response = '{"status":"success","1":{"transaction":"8025400","email":"Не указана","amount":"21.38","currency":"RUB","currency_amount":"20.00","comission_percent":"6.90","comission_fixed":"0.00","amount_profit":"20.00","method":"Не выбран","payment_id":"1618399991","description":"Покупка доступа на 2 дня","date":"2023-03-13 19:40:46","pay_date":"2023-03-13 19:40:46","transaction_status":"0","custom_fields":"null","webhook_status":"0","webhook_amount":"0"}}';
$data = json_decode($response, true);
// Получаем значение transaction_status, установленное в сессии или равное 0
$transaction_status = $_SESSION['transaction_status'] ?? 0;
// Проверяем, равно ли значение transaction_status 0
if ($transaction_status == 0) {
// Если да, то выводим сообщение и завершаем скрипт
echo 'Статус транзакции = 0';
exit(0);
} else {
// Если нет, то выводим другое сообщение и продолжаем скрипт
echo 'Статус транзакции не равен 0';
}
// Обновляем значение transaction_status в сессии
$_SESSION['transaction_status'] = $data["1"]["transaction_status"];
$transaction_status = $_SESSION['transaction_status'] ?? 0;
session_start();
$_SESSION['transaction_status'] = 0;
return redirect()->back()->withErrors($valid->errors());
<div v-if="errors.has('nickname')">{{ errors.first('nickname') }}</div>
$startFrom = $_POST['startFrom'];
$limit = 4;
$sql = "SELECT * FROM articles ORDER BY id DESC LIMIT $startFrom, $limit";
$res = mysqli_query($conn, $sql);
$articles = array();
while ($row = mysqli_fetch_assoc($res)) {
$articles[] = $row;
}
mysqli_free_result($res);
echo json_encode($articles);
var startFrom = 0;
var inProgress = false;
var limit = 4;
var articles = [];
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100 && !inProgress) {
inProgress = true;
if (articles.length - startFrom <= limit) {
limit = articles.length - startFrom;
}
var data = articles.slice(startFrom, startFrom + limit);
startFrom += limit;
if (data.length > 0) {
$.each(data, function(index, value) {
$("#div").append('<div class="item">' + value.title + '</div>');
});
inProgress = false;
} else {
$.ajax({
url: 'ajaxappendindex.php',
method: 'POST',
data: { startFrom: startFrom },
beforeSend: function() {
$("#loader").show();
}
}).done(function(data) {
data = JSON.parse(data);
if (data.length > 0) {
articles = articles.concat(data);
var newData = articles.slice(startFrom, startFrom + limit);
$.each(newData, function(index, value) {
$("#div").append('<div class="item">' + value.title + '</div>');
});
}
inProgress = false;
$("#loader").hide();
});
}
}
});
$startFrom = $_POST['startFrom'];
$limit = 4;
$sql = "SELECT * FROM articles ORDER BY id DESC LIMIT $startFrom, $limit";
$res = mysqli_query($conn, $sql);
$articles = array();
while ($row = mysqli_fetch_assoc($res)) {
$articles[] = $row;
}
mysqli_free_result($res);
echo json_encode($articles);
var startFrom = 0;
var inProgress = false;
var limit = 4;
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100 && !inProgress) {
inProgress = true;
startFrom += limit;
$.ajax({
url: 'ajaxappendindex.php',
method: 'POST',
data: { startFrom: startFrom },
beforeSend: function() {
$("#loader").show();
}
}).done(function(data) {
data = JSON.parse(data);
if (data.length > 0) {
$.each(data, function(index, value) {
$("#div").append('<div class="item">' + value.title + '</div>');
});
inProgress = false;
}
$("#loader").hide();
});
}
});
Когда пользователь прокручивает страницу вверх, мы добавляем класс scroll-up, а когда пользователь прокручивает страницу вниз, мы удаляем этот класс, если пользователь достигает header__section-info. Обратите внимание, что мы также удаляем класс scroll-up в блоке else для случаев, когда пользователь достигает верха страницы.
Касательно вашего вопроса про изменение sectionInfo переменной, ее значение должно быть вычислено как расстояние от верха страницы до нижней границы header__section-info вместо высоты элемента. Используйте следующий код:
Конечный код может выглядеть следующим образом:
В этом коде мы использовали getBoundingClientRect().bottom для определения расстояния от верха страницы до нижней границы header__section-info.
Надеюсь, это поможет!