Xpoint
   [напомнить пароль]

Передача параметров через COOKIE

Метки: [без меток]
2008-12-25 19:43:25 [обр] Blademen[досье]

Помогите разобраться в следующем:
На хостинг, в root есть 2 фаила (1.php и 2.php)
В 1.php я устонавливаю COOKIE, а в файле (2.php) читаю COOKIE
1.php

$otkuda=$_SERVER['HTTP_REFERER'];
setcookie ("test", $otkuda,time()+(5*24*60*60));

2.php

$cookie = $_COOKIE['test'];
echo $cookie;

Все работает нормально. Но когда фаил 1.php я остовляю в root, а фаил 2.php помещаю в любую папку на ностинге, то COOKIE не передается.
Помогите разобраться в этом.

спустя 46 минут [обр] MiRacLe(47/77)[досье]
спустя 3 часа 12 минут [обр] Pil(5/22)[досье]
А в удобочитаемом виде заголовки запросов и ответов сервера (в т.ч. и куки) можно просмотреть в соотв. вкладке файрбага
спустя 10 часов [обр] Alehandros[досье]

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )

Параметр path - смотрим документацию (перевожу):
если установлен в "/", кука видна на всем сайте (из любой директории), а если нет - то только из той папки, откуда кука была установлена,
т.е. втвоем случае из корневой.
Читайте доки.

спустя 7 дней [обр] Blademen[досье]

Есть скрипт, который выводит откуда пришел пользователь (домен, запрос, полный путь)

       ***
    return array(
        "Domain"=>$SeDomain,
        "Query"=>$SeQuery,
        "Referer"=>$SeReferer
    );
$test=seReferer(); print_r($test);

Нужно все параметры записать в куки и передать их на другую страницу и вставить в базу.
Создал 3 поля table (id,Domain, Query, Referer)
Делаю так:

$test=seReferer();
$im=implode(",",$test);
setcookie("refferer","$im",time()+30,"/"); 
$refferer = $_COOKIE["refferer"]; 
echo $refferer;

Передает все параметры на вторую страницу и выводит их в строчку через запятую.
Пример:
www.google.com,keyword,http://......earch?hl=en&q=keyword&aq=f&oq=
1 параметр: www.google.com
2 параметр: keyword
3 параметр: http://www.google.com/search?hl=en&q=some+keyword&aq=f&oq=

При инсерте данных в базу с первой страницы все работает.
Делаю так:

$sql = "INSERT INTO table (". implode(", ", array_keys($test)) .") 
VALUES ('" . implode("','", array_values($test)) ."')";
var_dump($sql);
mysql_query($sql) or die(mysql_error());

Теперь непонятная проблема. Нужно занести эти данные в базу не с первой, а со второй страницы.

Делаю так:

parse_str($_COOKIE['refferer'], $refferer);
$sql = "INSERT INTO table (". implode(", ", array_keys($refferer)) .") 
VALUES ('" . implode("','", array_values($refferer)) ."')";
var_dump($sql);
mysql_query($sql) or die(mysql_error());
$last = mysql_insert_id();

Выводит ошибку
string(154) "INSERT INTO table (www_google_com,site:statesolar_com,http://www_google_com/search?hl, q, aq, oq) VALUES ('en','site:statesolar.com','f','')" You have an error in your SQL syntax;

спустя 2 часа 15 минут [обр] Pil(5/22)[досье]
# Строки заключайте в кавычки
# Давно пора бы сформулировать новый вопрос в отдельную тему
Powered by POEM™ Engine Copyright © 2002-2005