• На хостинге не работает самописная PHP функция?

    Shvonder
    @Shvonder
    Мой вариантик для разминки ума:
    function translate($rus, $eng)
    {
    	static $lang;
    	if (isset($_GET['lang']))
    	{
    		$lang = $_GET['lang'] == 'eng' ? 'eng' : 'rus';
    		setcookie('lang', $lang, time() + 3600 * 24 * 365, '/');
    		unset($_GET['lang']);
    	}
    	elseif (empty($lang))
    		$lang = $_COOKIE['lang'] == 'eng' ? 'eng' : 'rus';
    	echo $$lang;	
    }
    
    Ответ написан
    5 комментариев
  • На хостинге не работает самописная PHP функция?

    Shvonder
    @Shvonder
    Проверьте, правильное ли время на сервере? Правильное ли на компьютере?
    Ответ написан
  • Верстка: выравнивание блоков по ширине

    Shvonder
    @Shvonder
    Я думаю без скриптов тут не обойтись. Сделал пример с использованием jQuery. Проверил только в FF 3.6:
    <style>
    	div.item {width: 250px; height: 150px; background: red; float: left;}
    </style>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script type="text/javascript">
    	$(function ()
    	{
    		changeMargin();
    	});
    	$(window).resize(function()
    	{
    		changeMargin();
    	});
    	function changeMargin()
    	{
    		var container_width = $('div.container').width();
    		var item_width = $('div.item').width();
    		var items_count = Math.floor(container_width / item_width);
    		var items_width = item_width * items_count;
    		var difference = container_width - items_width;
    		var margin = difference / (items_count - 1);
    		$('div.item').each(function(index)
    		{
    			if (index > 0 && index % items_count != 0)
    				$(this).css('margin-left', margin+'px');
    			else
    				$(this).css('margin-left', '0px');
    		});
    	}
    </script>
    <div class="container">
    	<div class="item">1</div>
    	<div class="item">2</div>
    	<div class="item">3</div>
    	<div class="item">4</div>
    	<div class="item">5</div>
    	<div class="item">6</div>
    	<div class="item">7</div>
    	<div class="item">8</div>
    </div>
    
    Ответ написан
    4 комментария
  • Время, которое пользователь проводит на сайте

    Shvonder
    @Shvonder
    Если бы я был параноиком и хотел как можно точнее отследить время пребывания на сайте я бы сделал так:

    1. Клиент подключился. Засекаем время.
    2. Со стороны клиента открываем постоянное соединение яваскриптом (comet, long-polling и т.д.)
    3. Если клиент перешел на другую страницу учитываем время (время просмотра той страницы и суммарное время на сайте) и переходим к п.1
    4. Если посетитель не двигал мышкой, или не скроллил страницу в течение N-го времени яваскрипт разрывает соединение.
    5. Если клиент разорвал соединение и не подключался вновь в течение допустим 10 секунд то значит он закрыл вкладку или сработал пункт 4 или он оставил вкладку активной и ушел пить чай. Останавливаем учет времени
    Ответ написан
  • Что должен знать настоящий программист?

    Shvonder
    @Shvonder
    Я думаю, что настоящий программист обладает хорошим аналитическим мышлением. Он способен расписать алгоритм решения какой-либо задачи на бумаге простыми словами, без использования языков программирования, а потом объяснить его маме на примере овец, собачек и лягушек. Хорошему программисту все равно на чем программировать, потому что основная сложность программирования — не знание конкретного языка, а именно способность правильно мыслить, по шагам, от общего к частному, от простого к сложному.
    Ответ написан
    Комментировать
  • Корзина интернет-магазина: данные в cookies, или в базе

    Shvonder
    @Shvonder
    А я храню в куках и ниче, нормально. Минусы озвучили. Плюсы — мгновенное добавление в корзину и мгновенное изменение количества товаров/суммы. Храню в виде json. Что бы кука переполнилась надо очень много положить в корзину
    Ответ написан
    3 комментария
  • PHP и быстрая база данных в файлах

    Shvonder
    @Shvonder
    Многое зависит от проекта. Нужны ли сложные выборки, большая ли база и т.д. Я, например, работаю с небольшими магазинами, привязанными к партнерской программе. Товаров не более 1000. Мне вполне достаточно сериализованного массива товаров и категорий, хранящегося в файле. Если объем большой посмотрите в сторону MooSQL, но она, похоже, не развивается и очень ограничена в функционале
    Ответ написан
    1 комментарий