2012-05-04 7 views
0

Я извиняюсь перед этим, это действительно просто, но вызывает у меня много раздражения. Я работаю только на PHP неделю или около того и действительно изучаю в нужный момент. Ниже мой текущий вопрос. Я пытаюсь найти ключевое слово Google Referral. Управляемый, который теперь не может понять, почему он не вставляет значение в таблицу 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) 

?> 

Я пробовал несколько вариантов, и они просто продолжают вводить Array в качестве значения ?? Но когда я использую «? Echo $ _GET ['q']?" на странице он отлично работает и отображает значение?

Я знаю, что это просто. Я действительно делаю, но просто не могу получить его.

ответ

0

Вы не должны помещать массив между '', что сделает его строкой. Поскольку строковое значение массива - «Массив», оно будет хранить «Массив» в базе данных. VALUES('',$referringPage)

+0

Как только я прочитал первый бит, который знал. Сын ... Спасибо. – BrogenMacy

+0

Добро пожаловать. Не забудьте отметить мой ответ как правильный :) –

0

вы должны сделать запрос отдельно для каждого типа сайта, как Google будет отправлять клиента к вам с ключевыми словами в «д» 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

Just проверьте код, который может вам помочь, какое значение нужно поставить.

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 
}