質問

私は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の場合です。これは、着信するトラフィックのほとんどをカバーしています。 OKなので、参照ページがYahooの場合、Google A G、MSN Mなどの場合、Yを追加するように、少し変更したいと思います。

私は試した:

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 Appred」を取得しますが、Googleから来ても、追加することはできません。私はそれを間違ってフォーマットしているだけですか?

役に立ちましたか?

解決

&&に変更します。これは、論理的な「および」のためのほとんどのプログラミング言語の通常のオペレーターです。

PHPでは、&&または論理的なブール操作を持っています。

&は通常、ビット操作に使用されますが、ここでは間違っています。

他のヒント

私はあなたが間違っていてオペレーターを使用していると思います、あなたは使用する必要があります && だけでなく &. 。単一のアンパサンドは、ビットワイズ操作用です。

試す:

if (isset($result['q']) && strstr($_SERVER['HTTP_REFERER'],'google'))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top