PHP сессия для рекламы только один раз

1

Я хочу, чтобы объявление показывалось только один раз. Я пробовал много JQuery и здесь, похоже, не смог заставить их работать. Я использовал переменные PHP $ _SESSION в другом месте, поэтому, хотя это было бы легким ответом...

<?php
session_start();
if ($_SESSION["visit"] !== "visited") {
  echo '<div class="container fullwidth" id="mobileAppAd">';
  /* rest of div */ 
  echo '<button onClick="closeAd()" id="closeAd" class="btn  btnmain">X</button>';
    echo '</div>';
  echo '</div>';
  $_SESSION["visit"] = "visited";
}
?>

Что пошло не так?

  • 1
    Похоже, печенье будет лучше. Сессии временные.
  • 0
    Я хочу только для сеанса, не уверен, почему вы думаете, что мне лучше cookie? @wogsland, здесь пропущена скобка. Это там и до сих пор не работает.
Показать ещё 1 комментарий
Теги:
session-variables

1 ответ

1

Пытаться:

if (!isset($_SESSION["visit"]) || $_SESSION["visit"] !== "visited") {

Поскольку индекс посещения не будет установлен при первом инициализации сеанса

  • 0
    Если индекс не установлен, $_SESSION["visit"] будет нулевым, поэтому он не равен visited . Появится предупреждение о неопределенном индексе, но тест все равно будет работать.
  • 0
    ДА! Спасибо, работает. Это будет показывать баннер только один раз за пользовательский сеанс. Я хотел бы, чтобы это было там, пока они не закроют это. Я попытался добавить событие onclick к закрытию, чтобы выполнить следующее: function setvisited() { $.get("visited.php"); $("#mobileAppAd").hide(); return false; } Посещаемый скрипт просто содержит $_SESSION["visit"] = "visited"; линия, но она не запускает PHP. Есть идеи?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню