Отправьте переменную $ в загруженный скрипт php - PullRequest
0 голосов
/ 30 августа 2018

Существуют страницы профилей пользователей, которые работают по принципу get_file_content. Каждый раз, когда это генерируется. Я не хотел бы касаться структуры сайта и решил сделать блок пользовательского интерфейса с preloader. Я разобрался, но проблема возникла. Страница генерируется по запросу через $id = $_GET['id'] (player.php?id=123). Сценарий, который я хочу использовать через предварительный загрузчик, находится в другом файле ( stats.php ), поскольку предварительный загрузчик работает через AJAX Post + $(document).ready(function();, переменная $id не может быть передана из player.php в stats.php) Как быть в этом случае?

Выход Js + предварительная нагрузка:

function show_stats() {
    jQuery.ajax({
        type:"post",
        url: "stats.php",
        beforeSend: function() {
            $('#stats-block').block({ 
                message: '<div class="la-ball-pulse la-dark"><div></div><div></div><div></div></div>',
                css: {
                    border: 'none', 
                    backgroundColor:'transparent'
                } 
            });
        },
        success: function(data) {
            $('.chatonline').show();
            $('#stats-block').unblock();
            $('#stats-moders').html(data);
        },
    });
}

1 Ответ

0 голосов
/ 30 августа 2018

Отправьте переменную в data: опции $.ajax()

function show_stats() {
    jQuery.ajax({
        type:"post",
        url: "stats.php",
        data: { id: <?php echo $id; ?> },
        beforeSend: function() {
            $('#stats-block').block({ 
                message: '<div class="la-ball-pulse la-dark"><div></div><div></div><div></div></div>',
                css: {
                    border: 'none', 
                    backgroundColor:'transparent'
                } 
            });
        },
        success: function(data) {
            $('.chatonline').show();
            $('#stats-block').unblock();
            $('#stats-moders').html(data);
        },
    });
}

stats.php может получить идентификатор от $_POST['id'].

Другой вариант - установить переменную сеанса. player.php может получить $_SESSION['id'] = $id;, тогда stats.php может прочитать $_SESSION['id'].

Если вам нужно убедиться, что идентификатор одинаков в обоих сценариях, лучше использовать переменную сеанса. Пользователь может легко изменить идентификатор в Javascript.

Если есть вероятность, что $id может быть чем-то отличным от простого числа, вы должны закодировать его, чтобы обеспечить правильный синтаксис:

data: { id: <?php echo json_encode($id); ?> },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...