Порекомендуйте пожалуйста какой-нибудь ресурс, где можно было бы найти бесплатные графические подборки к сайту, а то я просидел 3 часа в поисках - результат почти нулевой
Видимо, у меня синдром - "Хочу то, не знаю что". Как вообще правильно подбираются рисунки к будущему сайту? Не могу же я в строку поиска в Яндексе вбить "красивая графическая рамочка для сайта"...
Доброго времени суток.
Задался следующим вопросом:
Почти во всех форумах для каждого конкретного пользователя отсеживается факт посещения какой-то конкретной темы. А как это реализуется в базе данных или через какой-то другой механизм я не знаю.
Подскажите как это красиво реализуется (хотя бы на примере вашего ExBB форума)
Хочу сделать на сайте 2 режима: с визуальным графическим оформлением и без графического оформления (т.е. вместо рисунков, флешек и всего "тяжелого" будет выводиться фон). Возможность перехода на 2-ой режим хочу сделать для клиентов с плохим тормознутым инетом.
Реализовать хочу чекбоксом с событием onClick.
При этом у меня вопрос: ведь рисунки кэшируются браузером, а значит многократно передаваться все равно не будут, тогда есть ли вообще смысл в этой идее. И с другой стороны: если браузер закэшировал рисунок, а он успел за это время на сервере измениться, когда это "почувствует" бураузер?
Елси вопрос глупый, то был бы признателен за ссылку на литературу
Идея, которую использовал valenok подразумевает следующее (кстати, по-моему будет попроще сделать это в бд, а не в файлах, хотя возможно это дело привычки...):
таблица в бд состоит из трех столбцов.
1) id - ид-шник, однозначно определяющий строку в этой таблице.
2) cat - ид-шник родительской категории, если значение данного поля 0, это означает, что данная категория высшего уровня, у которой нет родителей (в Вашем случае для меню 1-ого уровня)
3) catname - название категории.
Таким образом формируется дерево категорий, в котором количествол уровней может быть произвольным.
У Вас механизм работы следующий:
1) какие-то данные присылаются на обработку скрипту.
2) скрипт проверяет ситаксическую правильность присланных на вход данных
3.1) если данные неправильны, процесс прекращается
3.2) если правильны, процесс продолжается
4) скрипт проверяет не находятся ли уже в бд присланные данные
5.1) если уже есть, процесс прекращается
5.2) если нет, процесс продолжается
6) произодится запись данных в базу
Допустим Вы отсылаете данные с двух разных компов одинаковые данные почти одновременно. Тогда описанный Вами косяк может теоретически произойти только в том случае, если данные 1 прошли пункт 4), но еще не дошли до 6), а данные 2 в этот момент проходят через пункт 4) и соответственно получают информацию, которая станет через некоторое время ложной...
Однако - это только теоретически... Если, конечно, в Вашем скрипте между пунктом 4) и 6) не стоит какая-нибудь ОЧЕНЬ ресурсоемкая операция. Однако почти у всех и всегда они располагаются практически друг за другом
Критический промежуток времени будет ну ОЧЕНЬ маленьким. И не важно какие данные были присланы и сколько раз пользователь нажал кнопку Отправить.
Поэтому я бы все-таки еще раз проверил бы пункты 4) 5) и 6)...
Просто в массив $_POST попадают только отмеченные чекбоксы.
Т.е. если если в чекбоксе на странице голосования стоит галочка, то соответствующий элемент $_POST[image_x] будет существовать, в прот. случае элемент не создается
Поэтому проверяйте лучше не на равенство, а на существование
У вас нет такого элемента $_POST['image_6'] - проблема в этом, название элемента массива формируется правильно.
Посмотрите:
1) Передается ли POST-ом такой элемент в Ваш скрипт.
2) Существует ли вообще массив $_POST у Вас (если нет - выключите опцию register_globals в php.ini)
Вопрос я понял так: есть несколько чекбоксов, при изменении любого из них, со ВСЕХ чекбоксов снимается текущая информация и записывается в бд.
По порядку:
- показания чекбоксов снимаются Javascript-ом
- обращение к серверу при изменении статуса чекбокса делается AJAX-ом
- запись данных в бд делается PHP-скриптом, который был вызван прошлым пунктом.
Для хранения данных (1 и 0) - хорошо подходит булевский тип (можно также взять маленький TINYINT).