Перейти к публикации

Как создавать cookies?


Zergio

Рекомендованные сообщения

Вобщем вопрос такой, нужно проиграть для пользователя видео(не интро) как элемент главной страницы. Но видео должно проигрываться только при заходе, один раз за сессию. Я так думаю нужно создать у пользователя кукис, кто подскажет как оно создается???

P.S. В смысле как создать чтоб сохранялся в течении сессии и удалялся при уходе с сайта?

Ссылка на сообщение
Поделиться на других сайтах

один раз за сессию. Я так думаю нужно создать у пользователя кукис
может тогда и создать сессию?)

А так попробуй поставить куку с отрицательным значением времени - по моему так

Ссылка на сообщение
Поделиться на других сайтах

Я пробовал для начала создать кукис с ограничение по времени типа вот так:

if ($_COOKIE['clip']) {

  setcookie ("clip", 1, time() + 3600*24);

  $clip = <<<HTML

		  <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="222" height="167" id="Clip" align="middle">

			<param name="allowScriptAccess" value="sameDomain" />

			<param name="allowFullScreen" value="false" />

			<param name="movie" value="Clip.swf" />

			<param name="loop" value="false" />

			<param name="menu" value="false" />

			<param name="quality" value="best" />

			<param name="bgcolor" value="#000000" />

			<embed src="Clip.swf" loop="false" menu="false" quality="best" bgcolor="#000000" width="222" height="167" name="Clip" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

		  </object>

  HTML;

	$tpl->set('{clip}',$clip);

}else{

  $clip = <<<HTML

	<br>

  HTML;

  $tpl->set('{clip}',$clip);

}

Вставлял в index, но что то оно не работает, видать как всегда что то нето пишу. Как сделать этот код рабочим?

Ссылка на сообщение
Поделиться на других сайтах

по моему условие у тебя не верное.

Попробуй так:

if (!$_COOKIE['clip'])

{

  set_cookie ('clip', 1, time() + 3600*24);

  $clip = <<<HTML

		  <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="222" height="167" id="Clip" align="middle">

			<param name="allowScriptAccess" value="sameDomain" />

			<param name="allowFullScreen" value="false" />

			<param name="movie" value="Clip.swf" />

			<param name="loop" value="false" />

			<param name="menu" value="false" />

			<param name="quality" value="best" />

			<param name="bgcolor" value="#000000" />

			<embed src="Clip.swf" loop="false" menu="false" quality="best" bgcolor="#000000" width="222" height="167" name="Clip" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

		  </object>

  HTML;

}

else $clip = '<br/>';

$tpl->set('{clip}',$clip);

Bagir, вот не хотел я ему давать сразу готовый вариант. Лучше, когда человек сам приходит в решению +)

Ссылка на сообщение
Поделиться на других сайтах

Знаешь lifestar, куда не пихал твой код (в index) страница вообще не грузится, просто пустая страница и все. Может его надо в другой какой файл пихнуть??

Ссылка на сообщение
Поделиться на других сайтах

я не знаю почему у тебя не работает. У меня на чистом DLE 6.7 работает

в index.php перед $tpl->compile('main'); вставил

if (!$_COOKIE['clip'])

{

  //set_cookie ('clip', 1, time() + 3600*24);

  $clip = 'y';

}

else $clip = 'n';

$tpl->set('{clip}',$clip);

Ссылка на сообщение
Поделиться на других сайтах

Это последнее у меня тоже работает, а вот то что с флешем - нет!!!

P.S. в error_log пишет syntax error, unexpected $end in /index.php on line 200, когда 199-я строка там такая: ?>

Ссылка на сообщение
Поделиться на других сайтах

Точно табуляция все убивала!!! Теперь работает.

Спасибо всем большое за помощь.

Кстати lifestar

...вот не хотел я ему давать сразу готовый вариант. Лучше, когда человек сам приходит в решению +)

на готовом примере я научился быстрее и большему, чем если бы мучался сам!!!

Еще раз спасибо.

Ссылка на сообщение
Поделиться на других сайтах

Такой еще вопрос пользовательский: моя переменная clip вписывается в общий cookie, который действителен до 2019 года. Я пробовал переставлять дату, но больше ролик не появляется. Получается установление даты для clip на сутки не работает?? Как это подправить??

P.S. или это я туплю? Я то меняю время на компе, а расчет наверно идет от времени на сервере?? А?

Ссылка на сообщение
Поделиться на других сайтах

Пробовал ставить время вот так: mktime (0,0,0,1,1,2007), та же фигня cookie до 2019 и при перестановке даты клипа нет.

P.S. пробовал писать вот так: time() - 3600*24, cookie стал до 2010. Че это за ерунда, должно отнять один день, а отнимает 9 лет?!

Ссылка на сообщение
Поделиться на других сайтах

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...