У меня следующая процедура:
- Кнопка, которая вызывает функцию
fcn1
и ссылку на некоторую страницу p1
- fcn1 читает 6 строк из внутреннего SQL
- 6 строк хранятся в куки
- Страница
p1
прочитать 6 файлов cookie и отобразить результат 6 строк
Выше работает отлично - проблема в том, что p1 нуждается в обновлении, прежде чем показывать новейшие 6 строк. С cookie-файлами все в порядке - я вижу это в разделе «Cookies» в «inspect». Я пытался вставить pause(x);
и location.reload()
на p1
.
Как мне убедиться, что куки установлены функциями до того, как php создаст HTML?
Одним из решений может быть создание другого ajax с обновлением 6 строк в p1
, но мне не нравится это решение - похоже, один-много шагов.
Я не могу опубликовать весь код, так как это всего несколько строк.
Ниже находится кнопка, которая вызывает функции и href (она запускается в цикле for с индексом j
):
echo '<span><li><a onclick="fcn1('.$games_id[$j].')" href="/cc/p1.php" id="'.$games_id[$j]. '" value='.$games_id[$j]. '>' .$games_text[$j]. '</a></li></span>';
Ниже показано, как текст определяется в p1, где он, кажется, загружается и «старый cookie».
<text x="501" y="289.9721" alignment-baseline="middle" text-anchor="middle" font-family="Verdana" font-size="24"><?php echo $_COOKIE["cat1_str"] ?></text>
Спасибо
Обновление 1:
<script>
function fcn1(game) {
var gameid = game;
var date = new Date();
date.setTime(+ date + (30 * 86400000)); // Cookie expires in 30 days
document.cookie = "SelectedGame=" + gameid + "; expires=" + date.toGMTString() + "; path=/";
SetStandardGameCategories();
}
</script>
<script language="javascript">
function SetStandardGameCategories() {
$.ajax({
type: "GET",
url: "/content/SetStandardGameServer.php",
data: {},
success: function(data){
}
});
}
</script>
SetStandardGameServer.php
<?php
ob_start();
require("db.php");
if(isset($_COOKIE['SelectedGame'])) {
SaveStandardCategories($_COOKIE['SelectedGame']);
}
?>