Не ставится кука

mus

Новичок
Не ставится кука

Просьба помочь!
Пытаюсь сделать следующий скрипт:
Пользователь может сам выбрать стиль страницы. При этом ему ставится кука, чтобы запомнить, какой стиль выбрать.
Концепция тсраницы не допускает регистрации.
Так же не следует объяснять мне, что у некоторых куки отключены - мне было сказано сделай, я стараюсь!
Заранее спасибо, если получится помочь - выкладываю небольшой кусок кода...
PHP:
<?php
function set_cookie() {
if ($style == true) {
if(  isset( $HTPP_COOKIE_VARS['style'] ) == false  )
  {
          setcookie( "style" ,$style , time() + 3600 );
  }
         else
         {
         print $HTPP_COOKIE_VARS['style'];
         }
         }
else
{

echo "Chose style of this site";
echo "<br>";
echo "<a href='set_cookie.php?style=light'>light</a>";
echo " / ";
echo "<a href='set_cookie.php?style=dark'>dark</a>";
print $HTPP_COOKIE_VARS['style'];
}
}
set_cookie();
?>
Объясняю суть.
Скриптик тестовый, поэтому общая идея несколько изменена в целях тестирования скрипта.
Если указан параметр style и кука отсуствует, то устанавливаем куку со значением стайл на, час, скажем, в случае если указан параметр и кука поставлена, то следует просто выдать параметр на экран (по сути программы в случае, если значение куки будет известно в любом случае нужно будет переставить куку с новым значением, это достигается убирая елсе, но для теста я хотел вывести на экран содержимое), но, если style не указан, нужно дать пользователю форму для выбора стиля.
Трабл в том, что кука не ставится ни на сервере, ни на локале (тоесть ни с локала, ни с сервера)
Буду рад, если Вы мне поможете как можно скорее.
Заранее благодарю!
 

Фанат

oncle terrible
Команда форума
error_reporting(E_ALL);
в начале скрипта.
и подивиь - а есть ли ву тебя вообще такой массив - HTPP_COOKIE_VARS
 

mus

Новичок
пробовал и с $_COOKIE
Не пашет..
В самый последний момент сменил на древнйи вариант...
 

mus

Новичок
Господа - перелопатил, что-то снова не пашет...
PHP:
<?php
if(  isset( $_COOKIE['style'] ) == false  )
  {
          $style="light";
  }
  else
  {
  echo $style=$_COOKIE['style'];
  }
?>
это для начала, тоесть если куки нет, ставим дефолтный стайл, а если есть, ставим куковский...

Далее сама установка..
PHP:
<?php
echo "chose style: ";
echo "<a href='./_includes/set_cookie.php?set_style=light'>light</a>";
echo "<a href='./_includes/set_cookie.php?set_style=dark'>dark</a>";
if($set_style!="") {
setcookie("style" ,$set_style , time() + 3600 );
if(  isset( $_COOKIE['style'] ) == true  ) {
echo "Thank you, you style is".$_COOKIE['style'];
                                           }
                                           else
                                           {
                                                   echo "Ssory, error, cookie is disabled on you computer" ;
                                           }
                    }


?>
Сообщение введите стиль, далее две кнопки с стилями, при нажатии на которую мы перенаправляемся на страницу устновки кука, при нажатии на кнопку выдается следующее...
ставим куку и проверяем, если поставилась, то вывести значение на экран, если не поставилось, то вывести на экран, мол типа В вашем броузере отключены куки....
Вот вся логика..
Ещё пишет ошибку Cannot modify header information - headers already sent by
Я уже нашел на форуме как это исправить, и в процессе становления бывшей версии наработающего скрипта уже исправлял ее, но сейчас то она чего выступает?
тут у нас, по логике, два файла, инклудятся в один...
Чтоя делаю не так?
 

SiMM

Новичок

mus

Новичок
SiMM
Можно вопрос - а вот как бы ты написал на моем месте?
Не напишешь, а?
А то я замонался...
Исправлял я не собачкой =)
А про то, что переменные в скрипт не передаются - огромное спасибо, я просто сейчас на 1 курсе изучаю Си, там передаются, а тут нет, вот я и запутался - спасибо, я попробую так, как написано в статье...
 

Фанат

oncle terrible
Команда форума
вот как похожая штука сделана у меня
PHP:
if (isset($_COOKIE['forum_view'])) $view=$_COOKIE['forum_view'];
if (isset($_GET['view'])) $view=$_GET['view'];
if (empty($view) OR $view!='plain') $view='tree'; 
setcookie("forum_view",$view,time()+(3600*24*365));
 
Сверху