2012-05-04 11 views
0

私はお詫びします。これは本当に簡単ですが、私は1週間ほどPHPに取り組んできましたが、分単位で必要なことを実際に学びました。以下は私の現在の問題です。私はGoogle紹介キーワードを手に入れようとしています。なぜdbaseテーブルに値を挿入しないのか理解できませんでした。Referrerをキャプチャして保存する

// 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']?"ページ上で正常に動作し、値を表示しますか?

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

答えて

0

''の間に配列を置くと、文字列になりません。配列の文字列値は "Array"なので、 "Array"をデータベースに格納します。 VALUES('',$referringPage)

+0

私が最初のビットを読むとすぐに私は知っていました。息子の....ありがとう。 – BrogenMacy

+0

ようこそ。私の答えを正しいものとしてマークすることを忘れないでください:) –

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! 
} 
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 
} 
関連する問題