Вопрос

Я использую 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, она добавляет 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 у вас есть && или и для логических операций по логике.

и обычно используется для битовых операций, что здесь неправильно.

Другие советы

Я думаю, что вы используете неправильный и оператор, вы должны использовать && не просто &. Анкет Одиночный Ampersand предназначен для битовых операций.

Пытаться:

if (isset($result['q']) && strstr($_SERVER['HTTP_REFERER'],'google'))
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top