【问题标题】:Problem with code to show ads to search engine visitors only仅向搜索引擎访问者展示广告的代码问题
【发布时间】:2011-09-26 05:30:57
【问题描述】:

有一个插件(用于 wordpress)仅向搜索引擎访问者展示广告.. 一个人可以修改它 但是该代码仅在您登陆并单击另一个页面时才会显示广告……但它不会出现在登陆页面上。谁能帮我知道代码有什么问题?

function wp_ozh_wsa_is_fromsearchengine($doset = false) {
global $wp_ozh_wsa;
$ref = $_SERVER['HTTP_REFERER'];
$yes = false;
if (isset($wp_ozh_wsa['my_search_engines'])) {
    $SE = $wp_ozh_wsa['my_search_engines'];
} else {
    $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search',
    'soso.com', '/search/', '.yahoo.',
    );
}
foreach ($SE as $url) {
    if (strpos($ref,$url)!==false) {
        if ($doset) {
            $url = parse_url(get_option('home'));
            setcookie('wsas', 'yes', time() + 60*60, $url['path'] . '/');
        }
    }
}
if (isset($_COOKIE['wsas'])) {
    return true;
}
return false;
}

【问题讨论】:

    标签: php wordpress search plugins cookies


    【解决方案1】:

    正如setcookie on php.net 的参考文献中所述:

    一旦设置了 cookie,它们 可以在下一页加载时访问 使用 $_COOKIE 或 $HTTP_COOKIE_VARS 数组。

    简单的修复,只需将以下内容添加到您的 foreach 中:

    foreach ($SE as $url) {
        if (strpos($ref,$url)!==false) {
            if ($doset) {
                $url = parse_url(get_option('home'));
                setcookie('wsas', 'yes', time() + 60*60, $url['path'] . '/');
                return true;
            }
        }
    }
    

    【讨论】:

    • 我不明白 :( 我希望广告在他们登陆网站时出现......并在他们浏览网站时继续出现......
    • 哦好吧等等..我刚刚看到了不同
    • 它没有工作 :( 现在它甚至没有在其他页面上显示广告。
    • 啊,我想我看到了问题所在。您需要将 if(isset) 移到 foreach 之前。无论哪种方式,它都在运行 foreach,因此它似乎在到达检查它的语句之前返回 true。
    • 这是另一个做同样事情的代码......但仍然对我不起作用 $ref = $_SERVER['HTTP_REFERER']; $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search /', '.yahoo.'); foreach ($SE as $source) { if (strpos($ref,$source)!==false) { setcookie("sevisitor", 1, time()+3600, "/", ".mysite.com") ; $sevisitor=真; } } function fromasearchengine(){ global $sevisitor; if ($sevisitor==true || $_COOKIE["sevisitor"]==1) { return true; } 返回假; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 2011-03-25
    相关资源
    最近更新 更多