0

クリックの発生元を追跡し、そのクリックの発生元に基づいてサイトに要素を表示することに成功しました。コード例は次のとおりです。

$referer = $_SERVER['HTTP_REFERER'];

if ( $referer == "http://www.testdomain.com/testpage" ) {
echo '<div id="bgphotos"></div>';
} else {
    echo '<div id="bgvideos"></div>';
}

したがって、これは、 http://www.testdomain.com/testpageからクリックされた場合に bgphotos div を表示するように私のサイトに指示しています。これは素晴らしい作品です。Web ページ内で特定の div がクリックされた場所を追跡するために、さらに多くのコーディングを行いました。しかし、カテゴリからクリックされた場合は要素を表示したいと思います。

さて、解決策は $referer をカテゴリ Web ページに変更することだけだと思いました。しかし、問題は、このカテゴリの投稿のページが複数ある場合、各カテゴリのページ番号を手動で追跡する必要があることです...これには永遠に時間がかかります..例は次のとおりです。

if ( $referer == "http://www.testdomain.com/category/test/" ) {
//do this }

if ( $referer == "http://www.testdomain.com/category/test/page/2/" ) {
//do this }

if ( $referer == "http://www.testdomain.com/category/test/page/3/" ) {
//do this }

if ( $referer == "http://www.testdomain.com/category/test/page/4/" ) {
//do this }

ご覧のとおり、これでは手に負えなくなるので、可能な限りすべてのカテゴリ ページを追跡する必要があります。では、カテゴリから何かがクリックされたかどうかを追跡する方法はありますか?? または、この問題に対する他の解決策はありますか?

どんな助けでも大歓迎です。:)笑。本当にそうなるでしょう。

4

1 に答える 1

0

正規表現が機能します。

if( preg_match("(^http://www\.testdomain\.com/category/test/(?:page/\d+/)?$)",$referer)) {
    // do this
}
于 2012-11-15T19:38:20.520 に答える