Zergio 0 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 (изменено) Вобщем вопрос такой, нужно проиграть для пользователя видео(не интро) как элемент главной страницы. Но видео должно проигрываться только при заходе, один раз за сессию. Я так думаю нужно создать у пользователя кукис, кто подскажет как оно создается??? P.S. В смысле как создать чтоб сохранялся в течении сессии и удалялся при уходе с сайта? Изменено 15 марта 2008 пользователем Zergio Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 один раз за сессию. Я так думаю нужно создать у пользователя кукисможет тогда и создать сессию?) А так попробуй поставить куку с отрицательным значением времени - по моему так Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 Автор Я пробовал для начала создать кукис с ограничение по времени типа вот так: 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, но что то оно не работает, видать как всегда что то нето пишу. Как сделать этот код рабочим? Цитата Ссылка на сообщение Поделиться на других сайтах
Bagir 3 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 if(!isset($_SESSION['clip'])){ $_SESSION['clip'] = true; ... //если нет сессии показываем клип } else{ ... //если есть сессия } Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 по моему условие у тебя не верное. Попробуй так: 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, вот не хотел я ему давать сразу готовый вариант. Лучше, когда человек сам приходит в решению +) Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 Автор Знаешь lifestar, куда не пихал твой код (в index) страница вообще не грузится, просто пустая страница и все. Может его надо в другой какой файл пихнуть?? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 Zergio, в каком месте "пихаешь" этот код в index.php? Что написал в шаблоне? Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 Автор Да я его пробовал в каждой строчке ставить, пробовал в 27-й, 36, 46, 59, 98 и т.д. В шаблон main вставил {clip}. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 я не знаю почему у тебя не работает. У меня на чистом 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); Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 (изменено) Автор Это последнее у меня тоже работает, а вот то что с флешем - нет!!! P.S. в error_log пишет syntax error, unexpected $end in /index.php on line 200, когда 199-я строка там такая: ?> Изменено 16 марта 2008 пользователем Zergio Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 аа, дело скорей всего в том, что перед HTML; не должно быть пробелов и табуляции Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 Автор Точно табуляция все убивала!!! Теперь работает. Спасибо всем большое за помощь. Кстати lifestar ...вот не хотел я ему давать сразу готовый вариант. Лучше, когда человек сам приходит в решению +) на готовом примере я научился быстрее и большему, чем если бы мучался сам!!! Еще раз спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 (изменено) Автор Такой еще вопрос пользовательский: моя переменная clip вписывается в общий cookie, который действителен до 2019 года. Я пробовал переставлять дату, но больше ролик не появляется. Получается установление даты для clip на сутки не работает?? Как это подправить?? P.S. или это я туплю? Я то меняю время на компе, а расчет наверно идет от времени на сервере?? А? Изменено 16 марта 2008 пользователем Zergio Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 попробуй с отрицательным временем поставить куку) ну или которая меньше time() Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 (изменено) Автор Пробовал ставить время вот так: mktime (0,0,0,1,1,2007), та же фигня cookie до 2019 и при перестановке даты клипа нет. P.S. пробовал писать вот так: time() - 3600*24, cookie стал до 2010. Че это за ерунда, должно отнять один день, а отнимает 9 лет?! Изменено 16 марта 2008 пользователем Zergio Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 Короче вот цитата из мануала: If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes) Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 16 марта 2008 Рассказать Опубликовано: 16 марта 2008 Автор Чудно, с нулем работает превосходно, спасибо. lifestar откуда ты столько знаешь? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 17 марта 2008 Рассказать Опубликовано: 17 марта 2008 Zergio, я причём здесь - мануал же процитировал Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.