如何根据查询字符串更改内容?

时间:2016-03-30 09:52:15

标签: php switch-statement echo

我想为WordPress(PHP)主题文件添加一些额外的功能。

我使用了ref id,并将其添加到URL(作为查询字符串)。我希望HTML根据字符串进行更改。基本描述:

if
/?ref=email1
echo 'This HTML'

or if 
/?ref=email2
echo 'This other HTML'

or if neither
echo 'Default HTML'

到目前为止,我提出的代码如下(但不起作用):

switch($_GET){
    case !empty($_GET['email1']):
        HTML here
    break;

    case !empty($_GET['email2']):
        This other HTML
    break;

    default:
        Default HTML
    break;
}

如何修复我的代码?

2 个答案:

答案 0 :(得分:0)

你做错了。 $_GETarray。您无法以这种方式实施swicth。可能会像 -

switch($_GET['ref']){
    case 'email1':
       HTML here
    break;

    case 'email2':
         This other HTML
    break;   

    default:
         Default HTML
    break;

}

你可以尝试这个技巧 -

$contents = array(
  'email1' => 'HTML here',
  'email2' => 'This other HTML'
);

if(!empty($contents[$_GET['ref']])) {
    echo $contents[$_GET['ref']];
} else {
    Default HTML
}

答案 1 :(得分:0)

您正在获取email1email2的内容,$_GET中不存在的参数。您需要改为使用ref

switch($_GET['ref']){
  case "email1":
    echo "HTML here";
    break;
  case "email2":
    echo "Other HTML here";
    break;
  default:
    echo "Default HTML here";
    break;
}