根据用户所在的页面匹配网址

时间:2014-05-22 13:56:43

标签: php

我试图纠正一个简单的if语句基本上说如果用户在page_A上,那么echo "i am on page A";如果我在第_B页上,那么echo "i am on the page B";我正在使用 PHP 函数$_SERVER['REQUEST_URI'];检查它们是否与存储在变量$page_A$page_B中的字符串中的内容相匹配。

我的代码如下:

<?php
    $page_A = "/test.co.za/voice/";
    $page_B = "/test.co.za/artistes/";
    $match = $_SERVER['REQUEST_URI'];

    if ( $page_A == $match ) {
        echo "i am on page A";
    }elseif ( $page_B == $match ) {
        echo "i am on the page B";
    }
?>

我哪里出错或是否有另一种方法可以实现这一目标?

谢谢团队:)

2 个答案:

答案 0 :(得分:1)

if(strpos($_SERVER['REQUEST_URI'],'voice')!==false){
  echo "i am on page A";
}elseif(strpos($_SERVER['REQUEST_URI'],'artistes')!==false){
  echo "i am on the page B";
}

答案 1 :(得分:0)

我不太明白你是怎么做的,如果你有两个不同的页面,你总是知道你在哪个页面。

如果您使用htaccess将请求重定向到唯一文件,则应执行以下操作: 在htaccess中添加这一行:

RewriteRule ^([0-9a-zA-Z-_]*)\/?([0-9a-zA-Z-_]*)\/?([0-9a-zA-Z-_]*)\/?([0-9a-zA-Z-_]*)\/?$ index.php?p=$1&s=$2&d=$3&ID=$4&%{QUERY_STRING}

现在,如果您打开实例:http://test.co.za/voice/,这将被重定向到/index.php。 在index.php,您可以阅读:

$page = $_REQUEST['p'];
if ($page == 'voice') { //do stuff }