[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Меню сайта в куках
KaFe
В продолжении темы чата
if (!$_COOKIE[PHPSESSID]) define (COOKIE, false); 
else define (COOKIE, true);

if (COOKIE && $_COOKIE['MENU'] && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])
$menu = $_COOKIE['MENU'];
else
{
$engine = new hq_framework;
if(!$engine->exists_table('menu')) $engine->new_table('menu','name,link');
$count = $engine->get_info('menu','name');
if ($count)
{
while($x<=$count)
{
$x++;
$name = $engine->get_record('menu','name',$x);
if ($name)
{
$link = $engine->get_record('menu','link',$x);
$menu.='<li><a href="'.$link.'">'.$name.'</a><li>';
}
}

setcookie("MENU",$menu);
$_SESSION['MENU_CRC'] = md5($menu);
}
}

Пытаюсь хранить меню сайта в куках, вот мой способ. Поделитесь своими замечаниями по этому поводу и дайте дельный совет.



Спустя 4 минуты (24.07.2010 - 11:32) Basili4 написал(а):
я щас уписаюсь
if (!$_COOKIE[PHPSESSID]) define (COOKIE, false);
else define (COOKIE, true);

на кой

так нельзя ?

define (COOKIE, !$_COOKIE[PHPSESSID]?false:true);

Спустя 1 минута, 34 секунды (24.07.2010 - 11:34) Basili4 написал(а):
это вообще порно
if (COOKIE && $_COOKIE['MENU'] && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])

Спустя 45 секунд (24.07.2010 - 11:35) KaFe написал(а):
Basili4 Спасибо за совет, ща поправлю, я просто такого способа не знал, дай ссылочку на тему, буду благодарен smile.gif

Спустя 1 минута (24.07.2010 - 11:36) KaFe написал(а):
Basili4
Цитата (Basili4 @ 24.07.2010 - 08:34)
это вообще порно
if (COOKIE && $_COOKIE['MENU'] && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])

поделись опытом, научи нуба жить mellow.gif , я весь во внимании сенсей smile.gif

Спустя 1 минута, 48 секунд (24.07.2010 - 11:37) Basili4 написал(а):
в общем это вот переписать
f (COOKIE && $_COOKIE['MENU'] && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])
$menu = $_COOKIE['MENU'];
else
{
$engine = new hq_framework;
if(!$engine->exists_table('menu')) $engine->new_table('menu','name,link');
$count = $engine->get_info('menu','name');

остольное пойдет но это все моё ИМХО можешь забить

Спустя 1 минута, 51 секунда (24.07.2010 - 11:39) Basili4 написал(а):
Цитата (KaFe @ 24.07.2010 - 12:35)
я просто такого способа не знал, дай ссылочку на тему,

про тернарный оператор не знал ?? он влюбой книги про пхп используется и описывается. остльное щас покушаю и напишу.

Спустя 1 минута, 10 секунд (24.07.2010 - 11:40) KaFe написал(а):
Цитата (Basili4 @ 24.07.2010 - 08:39)
про тернарный оператор не знал ?? он влюбой книги про пхп используется и описывается. остльное щас покушаю и напишу.

Я в основном на сайтах статейки читаю, до книг дело не доходит.

Спустя 5 минут, 16 секунд (24.07.2010 - 11:46) Basili4 написал(а):
KaFe
Очень плохо в статеечка могут и соврать а книгах обычно все проверяют

Спустя 2 минуты, 4 секунды (24.07.2010 - 11:48) twin написал(а):
Цитата
Я в основном на сайтах статейки читаю, до книг дело не доходит.

На статейку.

Спустя 59 секунд (24.07.2010 - 11:49) KaFe написал(а):
Basili4 Ну я же на опытах все проверяю, да и у меня мозги есть. Да и вообще php.net, php.su - я вполне доверяю. Ладно мы ушли от темы

Ты сказал заменить тут
if (COOKIE && $_COOKIE['MENU'] && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])
$menu = $_COOKIE['MENU'];
else
{
$engine = new hq_framework;
if(!$engine->exists_table('menu')) $engine->new_table('menu','name,link');
$count = $engine->get_info('menu','name');

что именно тебя не устраивает

Спустя 54 секунды (24.07.2010 - 11:50) KaFe написал(а):
спасибо twin как всегда выручаешь wub.gif

Спустя 5 минут, 7 секунд (24.07.2010 - 11:55) KaFe написал(а):
Вот так сделал
if (COOKIE && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])

и вообще думаю md5 поменять на crc32

Спустя 5 минут, 55 секунд (24.07.2010 - 12:01) Basili4 написал(а):
if (COOKIE && md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC']) ох мне уж эти детки

if (COOKIE && (md5($_COOKIE['MENU']) == $_SESSION['MENU_CRC'])) вот как надо.
как у тебя COOKIE && md5($_COOKIE['MENU']) вообще не понятно что даст

Спустя 2 минуты, 11 секунд (24.07.2010 - 12:03) KaFe написал(а):
Basili4 раньше я ставил скобки сейчас нет, но мне кажется оно и так работает безупречно.

Спустя 3 минуты, 7 секунд (24.07.2010 - 12:06) Basili4 написал(а):
KaFe
вот пример

выведи и погляди что получится
difine ('COOKIE',true);
$Keks="12213131231";
echo COOKIE && md5($Keks)."\n";
echo md5($Keks)."\n";


Спустя 3 минуты, 7 секунд (24.07.2010 - 12:09) KaFe написал(а):
Basili4 я тебя понимаю, но сделай в условии. Вот например статья от софтайма где они с данной темой опростоволосились
У них
   $flag1 = true;
$flag2 = true;
$flag3 = false;
if($flag1 && ($flag2 || $flag3))
{
echo "<p>Условие истинно<p>";
}
else
{
echo "<p>Условие ложно<p>";
}

у них этот код Возвращает "Условие ложно", а у меня наоборот.

Я поставлю скобочки, надо же логику разделать wink.gif

Спустя 6 минут, 55 секунд (24.07.2010 - 12:16) Basili4 написал(а):
Это код возвращает условие истинно я проверил.

Спустя 1 минута, 3 секунды (24.07.2010 - 12:17) Basili4 написал(а):
KaFe
для тебя нужно вот что
$flag1 = true;
$flag2 = 5;
$flag3 = 5;
if($flag1 && ($flag2 == $flag3))
{
echo "<p>Условие истинно<p>";
}
else
{
echo "<p>Условие ложно<p>";
}

Спустя 2 минуты, 21 секунда (24.07.2010 - 12:19) KaFe написал(а):
Basili4 ладно забили я уже раставил скобочки, да и буду ставить впредь.

Спустя 3 минуты, 36 секунд (24.07.2010 - 12:23) Basili4 написал(а):
теперь с этм

{
$menu = $_COOKIE['MENU'];

$engine->new_table('menu','name,link');
}
else
{
$engine = new hq_framework;

$count = $engine->get_info('menu','name');

тут если я тебя правильно понял должно быть так

Спустя 4 минуты, 17 секунд (24.07.2010 - 12:27) KaFe написал(а):
Те не правильно понял laugh.gif

Эту строчка создает таблицу в файловой структуре, если ее нет
if(!$engine->exists_table('menu')) $engine->new_table('menu','name,link');


Спустя 2 минуты, 57 секунд (24.07.2010 - 12:30) Basili4 написал(а):
KaFe
ну тогда все.
Мне не очень нравтся твой стиль как то все скомкано сжато а сам код вроде ниче. Я с ООП ни работал еще про него тебе ничего не скажу

Спустя 5 минут, 48 секунд (24.07.2010 - 12:36) KaFe написал(а):
Цитата (Basili4 @ 24.07.2010 - 09:30)
Мне не очень нравтся твой стиль как то все скомкано сжато а сам код вроде ниче.

Почему то всем не нравится как я оформляю код, хотя я придерживаюсь единого стиля оформления sad.gif

Значит ты считаешь, что с точки зрения безопасности и продуманности он внорме

Спустя 3 минуты, 8 секунд (24.07.2010 - 12:39) Basili4 написал(а):
по стилю мне не нравится вот это
{
$link = $engine->get_record('menu','link',$x);
$menu.='<li><a href="'.$link.'">'.$name.'</a><li>';
}


так как то красивее
      { 
$link = $engine->get_record('menu','link',$x);
$menu.='<li><a href="'.$link.'">'.$name.'</a><li>';
}

Но это твое дело

Про продуманности не знаю там везде ООП.
Насчет безопасности я дырок не вижу.

Спустя 4 минуты, 23 секунды (24.07.2010 - 12:44) KaFe написал(а):
user posted image

Кстати, До использования это кода было, точнее до того пока я не начал хранить меню в куках

0.0022349357605

а щас

0.00167798995972

Результаты радуют wink.gif

Спустя 2 минуты, 21 секунда (24.07.2010 - 12:46) Basili4 написал(а):
KaFe
ты 10000 раз запускал скрипт может в этот момент ты музычку на компе включил и потому такая разница. при однократном запуске нельзя судить о скорости

Спустя 3 минуты (24.07.2010 - 12:49) KaFe написал(а):
Basili4 я на двух хостингах проверял и на своих двух серверах, на денвере прирост производительности, на смалле тоже, на хостинге от 1gb прирост, но вот на другом хостинге без этого метода скрипт работал быстрее biggrin.gif

я по 10 раз запускаю один скрипт huh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.