2008-01-04

Одна сессия на два сайта

Сегодня встала задача сделать одну сессию на два домена один из которых является поддоменом другого. Решение оказалось простым, нужно вызвать session_set_cookie_params на обоих сайтах пред вызовом session_start. Вот мой тестовый пример:

<? session_set_cookie_params ( time()+60*60,'/', '.myhost.com'); session_start(); ?> <html> <head></head> <body> <?php if (!isset($_SESSION['ses_test'])){ $_SESSION['ses_test'] = 1; } print 'Value is: '.($_SESSION['ses_test']++); ?> </body> </html>
 

Оставить комментарий

 
  2007-12-26

Разбиение на страницы в блогах

Сделал наконец сабджект, теперь красота!
 

Оставить комментарий

 
  2007-12-26

Eclipse forever

Обновил Eclipse - теперь он у меня поддерживает редактирование SQL файлов. Раньше для редактирования SQL файла Eclipse открывал блокнот, теперь открывает в собственном окошке с проверкой синтаксиса - красота.

 

Оставить комментарий

 
  2007-12-26

Странное поведение eval

eval('$c = "test;'); print $c;

Несмотря на явную синтаксическую ошибку код внутри eval выполняет присваивание, хотя и выводит на экран ошибку.

Чтобы вылавливать подобные ошибки пришлось сделать буффер и смотреть не вываливает ли eval что нибудь на экран.

Так выглядит готовая функция для приобразования PHP строки в переменную:

function str2php($value){ $c = null; ob_start(); eval('$c ='.$value.";"); $error = ob_get_contents(); ob_end_clean(); if (!empty($error)) return null; return $c; }
 

Оставить комментарий

 
  2007-12-25

Скобки <>

Никак не получалось запомнить HTML коды для угловых скобочек больше-меньше > < &gt; &lt;. Оказывается запомнить их очень просто - &gt; - Great Than, &lt; - Less Than. Наверно для англоговорящих это очевидно, для меня же было не совсем.

 

Оставить комментарий

 
  2007-12-15

(Казнить [нельзя) помиловать]

Только что пришлось покапаться в исходниках vBulletin - ребята курят очень неслабую траву, весьма забористую...

После очередной модификации сайта при регистрации пользователя стало перебрасывать на совершенно экзистенциальный url вида :/forum/admincp.php - т.е. кудато пропал http из пути.

После часа ковыряний нашел следующее:

define('REQ_PROTOCOL', (isset($_SERVER['HTTPS']) AND (($_SERVER['HTTPS'] == 'on' OR $_SERVER['HTTPS'] == '1')) ? 'https' : 'http'));

Индийские программисты очень умные, очень наблюдательные, очень усидчевые... задницы, но всеже пару скобок проглядели... В результате REQ_PROTOCOL принимает значение false вместо положенного http.

 

Коментариев: 2

 
  2007-12-14

Фракталы

Давно хотел сам построить какой нибудь красивый фрактал. Ясное дело мне это совсем не было нужно, пока не встала задача раздать студентам расчетно-графическую работу по программированию.

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

Исходники можно скачать здесь

 

Коментариев: 1

 
  2007-12-06

Созерцательное программирование

Я давно подозревал, что многие вещи уже давно придуманы, даже те что могут показаться полным бредом.

Вот например новый термин - "Созерцательное программирование". Русский поиск в гугле не дает много результатов на это словосочетание, - оно является моей версией перевода термина Contemplative Programming.

Просто в время работы иногда бывает такое состояние, когда видишь в голове вещь и реализуешь ее в программе, постепенно приближая к идеалу. Именно в такие моменты становится совершенно не важно где ты как ты, совершенно ничего не отвлекает, есть только вещь которую ты созерцаешь, творишь, достаешь из небытия.

Именно в такие моменты можно сделать что-то стоящее, а не когда натужно колотишь по клавишам ожидая когда количество перейдет в качество, хотя так тоже частенько случается.

 

Оставить комментарий

 
  2007-12-02

Борьба за трезвость

Сегодня выходной, хотел было достать из холодильника бутылочку Каберне, которая стоит там с последнего сабантуя, но в фосе наткнулся на видеозаписи лекций о вреде этого дела в исполнении некоего Жданова, собственно обратил внимание только по причине того что они (файлы с лекциями) лежали рядом с Норбековым.

Что я могу сказать. Сильно, очень сильно, я прослушал только половину пока на обязательно дослушаю до конца.

Вино похоже придется вылить.

Правда несет этот Жданов полный бред, хотя и не совсем лишенный смысла. Возможно кто нибудь послушав его действительно бросит пить, курить, колоться, заниматься сексом....

Хотя про секс это наверно лишнее.

 

Оставить комментарий

 
  2007-11-27

PHP4: это не баг, это системная функция

Сегодня потратил несколько часов не поиск банальнейшего бага. Дело в том что в PHP ссылку нельзя сделать статической, так как я перешел уже на PHP5 то об этом я не всегда помню.

Не работает:

class SomeClass { function singleton(){ static $instance = null; if ($instance==null){ $instance =& new SomeClass(); } } }

Работает:

class SomeClass { function singleton(){ static $instance = null; if ($instance==null){ $instance = new SomeClass(); } } }

В пятом PHP будет работать только первый вариант, второй правда хотя и со скрипом, то тоже будет (будет ругаться чтобы к функции поставили модификатор static и не использовали никаких амперсандов у оператора new)

 

Оставить комментарий