Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как сделать самый простой кук?


Автор: grIeIy 15.2.2006, 16:42
Имею вот что:
есть линк на чужом сайте _http://site.ru/?partner=nick
нужно принять этот параметр partner в кук, а потом когда человек перейдёт (даже через месяц) на страницу _http://site.ru/signup.php то параметр partner пропишеться в соответствующем ему поле.

HELP!

Автор: Serkys 15.2.2006, 17:32
Код

setcookie('partner', $_GET['partner']);

Код

echo $_COOKIE['partner'];

Автор: grIeIy 15.2.2006, 19:07
пишет:

Код

Warning: Cannot modify header information - headers already sent by (output started at /home/domains/domen.ru/public_html/inc/head.inc.php:3) in /home/domains/domen.ru/public_html/inc/body.inc.php on line 1

Добавлено @ 19:09
Warning: Cannot modify header information - headers already sent by (output started at /home/domains/domen.ru/public_html/inc/head.inc.php:3) in /home/domains/domen.ru/public_html/inc/body.inc.php on line 1

Автор: PARROT 15.2.2006, 19:25
Читаем мануалы. Хедер-информация должна выводиться до вывода чего-либо на экран или как альтернатива "БУФЕРИЗАЦИЯ".
Пользуемся поиском.

Автор: grIeIy 15.2.2006, 21:00
А ведь и вправду поиск рулит! Уже во второй раз нашёл ответ! YO!

Автор: grIeIy 17.2.2006, 13:46
А как можно присвоить переменной partner значение HTTP_REFFERER и записать в кук?
Причём нужно чтобы записывались только внешние ссылки сайтов, а внутренние ссылки моего сайта не могли прописаться в partner.

Это возможно?

Автор: Serkys 17.2.2006, 14:36
grIeIy
Написать код несложно, но для себя реши, что ты хочешь: научиться РНР или повысить навыки использования технологии copy/pastle?
Код

if ($_SERVER['HTTP_REFERER']) {
  if (!strpos($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])) {
    $ref=$_SERVER['HTTP_REFERER'];
    setcookie('partner',$ref);
    echo $_COOKIE['partner'];
  };
};

Автор: grIeIy 19.2.2006, 20:07
конечно хочу знать PHP!!! Но надо же много времени!!! а его нет.

может ещё подскажете как сделать так:

поставить лимит на добавление записей на страницу. то есть когда чел добавит запись, у него пропишется кук на 1 день. и если он возжелает добавить ещё одну запись то на кнопке "добавить" будет disable стоять.

я думаю так:
в скрипте куда ведёт кнопка "добавить" прописать setcookie('limit',1days);.
на кнопке "добавить" поставить
<input type=submit name=submit value=Добавить <?if(isset($_COOKIE['limit'])) echo "disable; else echo "";?>>

подкорректируйте пожалуйста, что неверно

Автор: Serkys 19.2.2006, 20:48
Цитата(grIeIy @ 19.2.2006, 20:07 Найти цитируемый пост)
setcookie('limit',1days);

Не знаю, прокатит или нет "1days". Пробовать сейчас времени нет.
По умолчанию время задаётся в секундах.
И второй параметр - значение, а время жизни - третий.
Код

setcookie('limit', "", time()+60*60*24);

Остальное сам попробуй. Не хочу провоцировать тебя на бездумное копирование. Не получится - спросишь.

Автор: PARROT 19.2.2006, 20:50
grIeIy, просто после добавления записи ставь этому челу куку на сутки, но это не спасет, если чел удалит свою куку из браузера, то чел сможет добавить столько записей, сколько он захочет!
Код

if($send && !$_COOKIE_['limit']) { setcookie ("limit","yes",time()+86400, "/"); //если кнопку нажали, то ставим куку на сутки 

Автор: grIeIy 19.2.2006, 22:02
этот <?if(isset($limit)) echo "disable";?> нужно в функции print"" прописывать, а это невозможно.

что делать?

Автор: grIeIy 19.2.2006, 22:29
Код

function printAddEditFields($uin) {
    global $catsfile;
    print "<form method=\"POST\" action=\"newsMan_go.php?uin=$uin\">
    <small>".CATEGORY."</small>
    <br>\n";
    showSelectboxCat($catsfile, $_POST["cat"][0]);
    print "<br>
    <small>".VALID.":</small><br>
    <input name=\"valid_from\" type=\"TEXT\" SIZE=35 maxlength=80 value=\"".$_POST["valid_from"]."\" class=\"form\">
    <input name=\"valid_until\" type=\"TEXT\" SIZE=35 maxlength=80 value=\"".$_POST["valid_until"]."\" class=\"form\"><br>
    <small>".HEADLINEURL."</small>
    <br>
    <input name=\"url\" type=\"TEXT\" SIZE=35 maxlength=80 value=\"".$_POST["url"]."\" class=\"form\">
    <br>
    <small>".HEADLINETITLE."</small>
    <br>
    <input name=\"linkname\" type=\"TEXT\" SIZE=35 maxlength=80 value=\"".$_POST["linkname"]."\" class=\"form\">
    <br>
    <small>".CONTENTTEXT."</small>
    <br>
    <textarea name=\"urlinfo\" cols=\"90\" rows=\"10\" class=\"form\">".br2nl($_POST["urlinfo"])."</textarea>
    <br>
    <input type=\"submit\" name=\"submit\" value=\"".SAVE."\" class=\"form\"> <input type=\"submit\" name=\"submit\" value=\"".PREVIEW."\" class=\"form\">
    </form>\n";
}

Автор: Serkys 21.2.2006, 09:49
Цитата(grIeIy @ 19.2.2006, 22:02 Найти цитируемый пост)
этот <?if(isset($limit)) echo "disable";?> нужно в функции print"" прописывать, а это невозможно.

что делать?

А зачем тебе его в принте прописывать?

Автор: grIeIy 21.2.2006, 13:54
а где?
я в пхп только основные переменные знаю, и больше ничего. подскажите где надо прописывать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)