Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP会话仅用于一次广告_Php_Session Variables - Fatal编程技术网

PHP会话仅用于一次广告

PHP会话仅用于一次广告,php,session-variables,Php,Session Variables,我想要一个广告只播放一次。我在这里尝试了很多JQuery,但似乎也无法让它们正常工作。我在其他地方使用过PHP$\u会话变量,所以我认为这是一个简单的答案 <?php session_start(); if ($_SESSION["visit"] !== "visited") { echo '<div class="container fullwidth" id="mobileAppAd">'; /* rest of div */ echo '<button

我想要一个广告只播放一次。我在这里尝试了很多JQuery,但似乎也无法让它们正常工作。我在其他地方使用过PHP$\u会话变量,所以我认为这是一个简单的答案

<?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";
}
?>

出什么问题了?

试试:

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

因为当您第一次初始化会话时,访问索引将不会被设置

似乎使用cookie会更好。会话是临时的。我只想进行会话,不知道你为什么认为我的cookie更好@沃格斯兰:这里的支架刚刚脱落。它就在那里,仍然不起作用。我以为你只是想让它永远显示一次,而不仅仅是会话。如果不设置索引,
$\u会话[“访问”]
将为空,因此它不等于
已访问的
。将有一个关于未定义索引的警告,但测试仍然有效。是!谢谢你的作品。这将仅在每个用户会话中显示一次横幅。我希望它在那里,直到他们关闭它。我尝试向close添加onclick事件以运行以下操作:
函数setvisited(){$.get(“visited.php”);$(“#mobileAppAd”).hide();return false;}
访问的脚本只包含
$\u会话[“Visite”]=“visited”行,但它不运行PHP。有什么想法吗?@Stu点击按钮的
onclick
属性调用
closeAd()
函数,但是您之前的评论中的函数名是
setvisited()
是,很抱歉我更改了它。当广告隐藏时,onclick事件调用JS。但是,它不调用PHP会话,因此未设置$\u会话变量,广告仅在重新加载页面时重新出现。@Stu-如果脚本仅包含
$\u会话[“访问”]=“已访问”行,也必须包含
会话_start()在尝试在会话中存储任何内容之前