#javascript #html #jquery #cookies
Вопрос:
Это мой первый вопрос о переполнении стека. Я хочу создать игру «Монополия», в которой вам нужно будет отсканировать QR-код, чтобы завладеть дорогой после того, как вы ее купили. Я представил себе, что для каждой улицы вы попадете на отдельную страницу, на которой будет установлен файл cookie. Через 3 секунды я буду автоматически перенаправлен на свою главную страницу, где мне будут показаны мои улицы. Я хочу решить эту проблему так, чтобы на странице уже были все 22 улицы. По умолчанию все они скрыты. Улицы, которые принадлежат мне, затем отображаются, когда у вас есть подходящий для этого файл cookie. Я уже кое-что закодировал, но это не работает. Не могли бы вы мне помочь? Сначала я попытался скрыть элемент, когда у меня есть правильный файл cookie. К сожалению, это не работает. Я знаю, что это противоположно тому, чего я хочу. Так было просто быстрее.
Переведено с www.DeepL.com/Translator (бесплатная версия)
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"
</script>
<script>
if ($.cookie("Karte") === "Schlossallee1") {
$("p").hide();
}
</script>
</head>
<body>
<p>Disappear.</p>
</body>
</html>
Это первый сайт, где вы получаете свой файл cookie.
<?php
$cookie_name = "Karte";
$cookie_value1 = "Schlossallee1";
$cookie_value2 = "Schlossallee2";
setcookie($cookie_name, $cookie_value1, time() (86400 * 30), "/", "example.com", 1);
?>
<html>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
<meta http-equiv="refresh" content="5; URL=https://example.com/monopoly/Spiel/index.php">
</html>
Ответ №1:
Как насчет чего-то подобного для начала?
if (getCookie("Karte") === "Schlossallee1") {
$("p").show();
} else {
$("p").hide();
}
/* Copied function below from w3schools */
/*https://www.w3schools.com/js/js_cookies.asp */
function getCookie(cname) {
var name = cname "=";
var ca = document.cookie.split(";");
for (var i = 0; i < ca.length; i ) {
var c = ca[i];
while (c.charAt(0) == " ") {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}