我正在使用PHP来制作它,以使我网站的传入流量会根据搜索引擎附加信息。我正在设置$ _session ['kw'](如果尚未设置),请向我发送SEO并附加搜索词:

  if (isset($result['q']))
   $_SESSION['kw'] = 'seo-'.str_replace('\\"',"X",$result['q']);

  elseif (isset($result['p']))
   $_SESSION['kw'] = 'seo-'.$result['p'];

else {some other stuff}

Q是Google,MSN并要求其查询的内容,P是Yahoo。这涵盖了大多数传入的流量。好的,现在我想对其进行一些更改,以便如果引用页面为Yahoo,则它会附加A Y,如果是Google A G,MSN M等。

我试过了:

if (isset($result['q'])& strstr($_SERVER['HTTP_REFERER'],'google'))
   $_SESSION['kw'] = 'seo-G-'.str_replace('\\"',"X",$result['q']);

elseif (isset($result['q'])& !strstr($_SERVER['HTTP_REFERER'],'google'))
   $_SESSION['kw'] = 'seo-M-'.str_replace('\\"',"X",$result['q']);

  elseif (isset($result['p']))
   $_SESSION['kw'] = 'seo-Y-'.$result['p'];

    else {some other stuff}

但是如果真的,我不能做第一个。如果我来自Ask.com,我会得到“ SEO-M附录”,但是我什至无法从Google出来,请添加它。我只是格式错了吗?

有帮助吗?

解决方案

更改&TO &&。这是大多数编程语言的通常操作员,用于逻辑“和”

在PHP中,您有&&或用于逻辑布尔操作。

&通常用于比特操作,这是错误的。

其他提示

我认为您正在使用错误和操作员,您应该使用 && 不只是 &. 。单个及以用于位操作。

尝试:

if (isset($result['q']) && strstr($_SERVER['HTTP_REFERER'],'google'))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top