0

これは本当に単純なことですが、私に多くの迷惑をかけていることを前もって謝罪します。私はPHPに1週間かそこらしか取り組んでおらず、必要に応じて実際に学んでいます。以下は私の現在の問題です。Google 紹介キーワードを取得しようとしています。なぜdbaseテーブルに値を挿入しないのか理解できません。

// capture referral url
$referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
if ( stristr( $referringPage['host'], 'google.' ) )
{
  parse_str( $referringPage['query'], $queryVars );
  echo $queryVars['q']; // This is the search term used
}

// general form data insert
$sql="INSERT INTO refer_kws (kwid, keyword)
VALUES('','what value should I have here')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "";

mysql_close($con)

?>

いくつかのオプションを試しましたが、配列を値として入力し続けていますか?? しかし、「? echo $_GET['q'] ?」を使用すると ページでは正常に動作し、値が表示されますか?

私はこれが簡単であることを知っています。私は本当にそうしますが、それを得ることができません。

4

3 に答える 3

0

Google は「q」変数にキーワードを指定して顧客を送信するため、ウェブサイトのタイプごとに個別のクエリを作成しGET、テーブルを変更してリファラー ホストを追加する必要があります。

 $referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
 if ( stristr( $referringPage['host'], 'google.' ) ){
   parse_str( $referringPage['query'], $queryVars );
   // echo $queryVars['q']; // This is the search term used  --- no need to print this
   $sql="INSERT INTO refer_kws (`kwid`, `host`, `keyword`) VALUES('',  $referringPage['host'], $queryVars['q'])";

 } else {
    $sql="INSERT INTO refer_kws (`kwid`, `host`, `keyword`) VALUES('', $referringPage['host'], '')"; // other type of referrers -  you can insert the full REFERRER here!
 }
于 2012-05-04T10:15:08.973 に答える
0

次のコードを確認するだけで、どの値を入力するかを確認できます。

var_dump($referringPage);
if ( stristr( $referringPage['host'], 'google.' ) )
{
  parse_str( $referringPage['query'], $queryVars );
  var_dump($queryVars);
  echo $queryVars['q']; // This is the search term used
}
于 2012-05-04T10:16:34.647 に答える
0

'' の間に配列を配置しないでください。文字列になります。配列の文字列値は「Array」であるため、「Array」をデータベースに格納します。VALUES('',$referringPage)

于 2012-05-04T10:08:10.473 に答える