Сохранить весь вывод PHP / HTML, пока не будет установлен cookie? - PullRequest
0 голосов
/ 28 июня 2011

У меня есть страница PHP, где первое, что я делаю, это устанавливаю cookie.Чтобы установить данные в этом файле cookie, мне нужно выполнить несколько операций поиска в БД, поиск в XML и некоторые математические операции.В теле HTML, в верхней части, мне нужно отобразить значение этого cookie.

Файл cookie устанавливается, но при первой загрузке страницы это значение не отображается.Если я обновлю страницу, она установлена.Я вижу, что cookie на самом деле устанавливается через Firebug.

Это почти так, как если бы из-за накладных расходов на получение значения для cookie остальная часть страницы идет вперед и загружается и пытается отобразиться раньшезначение на месте.

Так что мой вопрос был бы, есть ли способ "приостановить" всю другую обработку и вывод до тех пор, пока этот cookie не будет установлен? Я новичок в ob_start, но яМысль обернуть мою функцию set cookie этим делом, но это не решило.

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 28 июня 2011

Что ж, вместо того, чтобы задерживать загрузку страницы, вы, вероятно, захотите посмотреть на ajax-вызов с помощью чего-то вроде jQuery.

Что это по сути позволит вам сделать, это установитьcookie в вызове ajax, и когда он возвращается, вы можете обновить DOM с отображением информации.Таким образом:

  1. Вы не задержите загрузку своей страницы без необходимости
  2. Только когда файл cookie установлен, на дисплее появится
1 голос
/ 28 июня 2011

Следите за моим комментарием к вопросу.

Вы должны построить логику так:

if(!isset($_COOKIE['yourcookie'])) {
    // The cookie is not set
    // Set the cookie and place the same data in $myCookie
} else {
    // The cookie is set
    // Take the data from the cookie and place it in $myCookie
}

// No the cookie data is always available in $myCookie
var_dump($myCookie);
0 голосов
/ 28 июня 2011

Нет PHP не будет иметь доступ к этому cookie до следующего запроса.

Если файл cookie не существует, вы не можете напрямую использовать данные, которые вы устанавливаете в файле cookie?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...