CSS - один из сымых мощных инструментов, для веб-дизайнеров и разработчиков web-сайтов и приложений (если не самый мощный). С его помощью мы можем полностью преобразовывать внешний вид сайта всего за пару минут. Но, несмотря на тот факт, что все мы хорошо осведомлены о его полезности, CSS селекторы до сих пор не используются в той степени, которую заслуживают, и мы иногда перегружаем наш HTML чрезмерным количеством ненужных классов и идентификаторов, div’ами и span’ами.
Лучшим способом избежать этого в нашей разметке и держать семантически чистым наш HTML, является использование более сложных CSS селекторов, те, которые могут ориентироваться на конкретные элементы, без необходимости назначения им классов или идентификаторов, и наш код, и наши стили будут более гибкими.
Из всех элементов веб дизайна и кодирования, htaccess - один из самых пугающих. Как бы там ни было, это - невероятно сильный инструмент, у которого есть потенциал, но он также может полностью сломать Ваш сайт, если Вы допустите оплошность.
Ниже дюжина подсказок, которые помогут Вам использовать htaccess в своих корыстных благих целях. Они не такие страшные, как многие предполагают, и если Вы потратите на изучение хотябы несколько минут, я уверен, что Вы быстро схватите, как они работают и почему.
После подсказок поговорим о 8 самых распространенных ошибках. Что ж, начнём?
Современные сайтостроители не могут себе позволить обычный способ загрузки файлов с помощью поля <inputtype=”file” />. Он морально устарел по нескольким причинам:
Можно загрузить только один файл.
Требует перезагрузки страницы.
Тяжело настроить его внешний вид.
Требуется инструмент, который обладал бы следующими качествами:
Легко подключаемый.
Легко настраиваемый как функционально, так и визуально.
Загрузка нескольких файлов.
Прогрессбар (показ процесса загрузки).
Кроссбраузерность (работоспособность во всех современных браузерах).
FancyUpload - позволяет загружать несколько изображенийбез перезагруки страницы, показывает прогресс. Покажу скриншоты с сайта, над которым сейчас работаю.
1. Вот так он, собственно выглядит на моём сайте… Жмём на ссылку для выбора файлов, подлежащих загрузке.
ajax - upload файлов
2. Выбираем файлы , можно даже несколько одновременно. Жмем открыть.
ajax - upload файлов
3. Появляются превьюшки с названиями и размеромфайлов, которые загружаем и это при том, что мы их ещё не загрузили! Жмем загрузить фотографии.
ajax - upload файлов
4. Начинается загрузка файлов. Два прогрессбара. Первый показывает общий прогресс, второй - файла, который грузится в данный момент.
ajax - upload файлов
5. Если Вы внимательно разглядывали картинки, то, наверное заметили ссылку очистить список. В версии, которую я “затачивал” под себя она без перезагрузки страницы удаляет список загрузок и соответствующие ему файлы на сервере.
В моей реализации при загрузке создаются три копии картинки :
Иконка (20px*Xpх)
Миниатюра (150px*Xpx)
Большое изображение(600px*Xpx)
Ресайзятся пропорционально. Исходное изображение тут же удаляется. Этим я “предохраняю” сервер от неоправданно больших и “тяжелых” изображений.
На миниатюру и большое избражение вставляется водяной знак.
С помощью FancyUpload’а можно загружать файлы размером до 2Гб!
Также загрузчик ведет свой лог, в который всегда можно подсмотреть в случае возникновения ошибок.
Скачать иходники Вы можете на сайте разработчиков, приведу только php-функции, необходимые для создания миниатюр изображений, нанесения водяных знаков на изображения и удаления исходного изображения.
1. imageresize - ресайзит изображение пропорционально, наносит водяной знак на получившееся изображение.
// $outfile - путь к файлу, который получится после преобразования
// $neww - ширина в px, к которой преобразуем
// $infile - путь к файлу, который преобразуем
// $quality - качество изображения в %
// вызов функции выглядит примерно так:
//
// imageresize("images/out_image.jpg",150,"uploads/image.jpg",100);
//
function imageresize($outfile,$neww,$infile,$quality) {
$im=imagecreatefromjpeg($infile);
$newh=$neww*imagesy($im)/imagesx($im);
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
if($neww>=140)//добавляем водяной знак на изображения больше среднего размера
{ //путь к изображению с водяным знаком
$image_logo = "../../../images/logo.png";
$im_logo = imagecreatefrompng($image_logo);
imagecopy($im1, $im_logo, 0, 0, 0, 0, 150, 25);
}
imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}
В этом туториале Вы узнаете, как создать опрос с использованием PHP и XHTML, а также jQuery Ajax - функций для получения результата голосования без перезагрузки страницы, и придания опросу эффектов анимации.
Эта форма будет обработана на PHP в асинхронном режиме (без перезагрузки страницы), и когда мы получим ответ от сервера, в работу всупит Javascript (jQuery) и покажет нам результат голосования.
Загрузка файлов AJAX, её плюсы и достоинства перед другими:
• Загружает файлы без перезагрузки страницы.
• Можно загружать сразу несколько файлов.
• Имеет анимированный прогресс-бар.
• Легко настраивается с помощью CSS и XHTML.
Использует библиотеку Mootools.
<form action="../script.php" method="post" enctype="multipart/form-data" id="form-demo">
<fieldset id="demo-fallback">
<legend> Загрузка файла </ Legend>
<p>
Эта форма является лишь примером FancyUpload.
Если Вы видите эту часть, то что-то не впорядке с вашим исходным кодом.
</ P>
<label for="demo-photoupload">
Загрузить файл:
<input type="file" name="Filedata" />
</label>
</ fieldset>
Ajax Fancy Captcha - jQuery плагин, который помогает вам защитить ваши веб-страницы от роботов и спамеров. Ajax каптча-новый, интуитивно понятный способ ”проверить человечность” посетителя сайта. Для этого посетителю предлагается перетащить указанный пункт в круг.
AJAX каптча
Теперь посетителям нет необходимости разбирать непонятные картинки и вводить их значеия в поле или складывать цифры. Ajax Fancy Captcha - хороший шаг вперёд с точки зрения повышения юзабилити форм.
Плагин позволяет прогрессивно расширить функционал HTML-тэга <select>. Ползунок дает возможность визуально показать, “развернуть” на шкале значения поля <select>.
Select jQuery UI
Идеально подойдет для выбора временного периода по шкале времени или цены, устраивающей покупателя в форме для поиска товара по цене.
5. jQuery Password Strength Meter - проверка паролей на прочность.
jQuery Password Strength Meterпредставляет собой подключаемый модуль, который с помощью смарт алгоритмов обрабатывает на лету входящие данные (пароль) и возвращает данные о его надежности.
WEB приложения разрастаются как на дрожжах примочками для удобства пользователей, в основном благодаря технологии AJAX. Если объединить аккуратную функциональность PHP и одаренность JavaScript, Вы сможете получить потрясающие результаты. Чтобы момочь обуздать эту технологию, хочу поделиться методами оказания помощи вашему сайту.
Нижеприведенный список состоит из 21 лучших свободно распространяемых компонентов и туториалов, которые, скорее всего, будут Вам необходимы в процессе разработки многих проектов. Все они высокого качества и более или менее легко настраиваемые.
Давайте посмотрим.
pChart представляет собой PHP класс, ориентированный на создание псевдо таблиц. На сегодняшний день большая часть библиотеки распространяется на бесплатной основе.
Данные могут быть получены из запросов SQL, CSV файлов, или вручную. Этот проект все еще находится в стадии развития и новые функции и исправления производятся каждую неделю. Фокус был сделан на качество , чтобы графики выглядели как конфетки. Скорость резко увеличилась, в сравнении с первыми опытами, разработчики обещают продолжать оптимизировать код!
PHP компонент создан в целях создания поисковой формы с автозаполнением, используется PHP и MySQL.
Этот прием стал очень популярен в последнее время. Яркие приемы применения автозаполнения - строка поиска в поисковых системах (Google, Yandex и т.д. ).
Если Вы огромный поклонник WordPress, тогда знаете, что когда Вы нажмете на ссылку удалить (например комментарий или запись), тогда удаляемый пункт становится красным, и исчезает. Вот как можно достичь этой функциональности с MooTools JavaScript.
if(isset($_GET['delete']))
{
$query = 'DELETE FROM my_table WHERE item_id = '.(int)$_GET['delete'];
$result = mysql_query($result,$link);
}
Валидация (проверка) данных является неотъемлемой частью работы с формами. Так как неверно предоставленные данные могут привести к проблемам безопасности, и взлому Ваших сайтов. В этом туториале мы взглянем на то, как устранить недопустимые символы и подтверждения данных с помощью функций “filter_var”.
В этом туториале Вы узнаете, как создать систему входа на сайт с помощью PHP и MySQL. В нём рассмотрены многие функции: в том числе MySqli, подготовленные приглашения, jQuery, классы сессии, cookies и т.д.
В этом туториале вы научитесь создавать простые PHP классы:
Создание базы данных
Подключение к базе данных
Показ формы с двумя полями
Сохранение данных формы в базу данных
Показ сохраненных данных из базы данных
Если вы заходили на Reddit, Вы наверное заметили, каким образом люди там голосуют. Вы можете голосовать за или голосовать против. Достаточно интересно, да? Этот туториал поможет Вам создать такую систему голосования с помощью jQuery, PHP и MySQL.
Вы ищете решение для кэширования тяжелых страниц и преобразования их в статическую HTML версию на некоторое время? Вот это решение для буферизации вывода.
Простым способом отслеживать файлы является использование дерева каталогов. В дереве каталогов листья из файлов и каталогов, так что можно легко найти то, что вы ищете. В этом туториале описано создание дерева каталогов с использованием PHP и jQuery.
Узнайте, как можно с использованием jQuery, PHP, и немного AJAX подключиться к Twitter API и вернуть результат. При загрузке HTML вызывается функция JavaScript getSearch (), чтобы возвращать Twitter API результаты каждые 30 секунд.
Проверка паролей на прочность становится всё более популярной в современном сайтостроительстве. Google использует этот прием при создании учетной записи в Google. Причем проверка идет не только на количество символов в пароле, а и на сложность пароля (содержание заглавных букв, строчных букв, цифр и знаков).Вот как можно сделать это самостоятельно.
Резервное копирование данных является чрезвычайно важным. В большинстве случаев база данных является самой важной частью головоломки. Представьте себе потерять все данные в базе данных - это было бы трагичным. Вот фрагмент кода PHP, для сохранения вашей базы данных в виде XML.
В этом туториале рассказывается как проверить свою форму с помощью PHP и jQuery с «двух сторон»: на стороне клиента (с использованием JavaScript, jQuery) и стороне сервера (с помощью PHP). Думаю Вам будет интересно узнать о том, как использовать регулярные выражения для проверки различных типов электронной почты, паролей и многое другое.
Как создать динамическийAJAX-чат, основанный на jQuery с нуля. Будет очень интересно узнать, как использовать AJAX функции jQuery и как они могут быть использованы для вставки и выборки данных из базы данных MySQL через PHP асинхронно.
Когда вы используете сложный дизайн, CSS файлы могут быстро стать очень большими, и требовать много времени для загрузки. Здесь находятся 3 интересных способа сжатия CSS-файлов с помощью PHP.
Основное преимущество этого сценария заключается в том, что он позволяет изменять размеры и обрезать любое изображение на Вашем веб-сайте, не касаясь фактического изображения и без написания какого-либо кода.
Данная форма будет возвращать проверенное сообщение, если сообщение было отправлено успешно. Или же будет выведено сообщение об ошибке при попытке отправить пустое сообщение или если адрес электронной почты является недействительным.