Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/19/2011 in Posts

  1. ShumNo Спасибо,сейчас я исправлю свою критику по поводу сайта приведенного автором.
    2 points
  2. Здравствуйте. Прошу оценить верстку по всем критериям и дать критику... http://p.deamind.com/fifabook/index.html
    1 point
  3. Это уже было и человеку тогда объяснили что "не вариант". Теперь люди, начинающие такие серьезные стартапы, почитали форум, стали грамотные, наученные. Думаю, тут все 4$ светят.
    1 point
  4. Можно. Мы официально разрешаем.
    1 point
  5. Случаем ни 3$ за первый месяц?
    1 point
  6. Это права на пиратские копии фильмов?
    1 point
  7. 1 point
  8. Если через addEventListener, то никак. Весело, правда? И после этого мне говорят, что навешивание обработчиков через addEventListener это true, а через атрибуты - не true, отстой, прошлый век, некошерно, по-ламерски, и вообще руки за такое отрывать.
    1 point
  9. Нет. Php выполняется на стороне сервера, а swf player - на стороне клиента.
    1 point
  10. Быть может это произошло по причине того, что автор попросил критики его верстки, а не чтобы ему написали, что кому-то там что-то понравилось, так как автора такой комментарий ровным счетом бесполезен, а учитывая, что у комментатора это был единственный комментарий, то можно было бы предположить, что это банальный спамер-бот. Смотрите как-бы второй минус не поставили за "обидки"
    1 point
  11. Если "новое на сайте" будет включать в себя новые "статьи", то верстка никакая, ибо, имхо, главной задачей всегда стоит правильная расстановка приоритетов, оптимизация полезного пространства. А в данном случае сайт выглядит перегруженным и без "лица". Под лицом в таких случаях подразумевается некая "главная новость" или "новость дня" с большым полем для описания и картинки. На хабре была хорошая статья на тему оптимизации пространства, почиай http://habrahabr.ru/blogs/web_design/63358/ Мое мнение - если сайт для игрушки, то требованиям он совсем не соответствует. Нет вов-эффекта, поля перегружены ненужной лишней инфой (сам подумай, с какой целью люди заходят на сайт, посвященный игрушке?), цвета многих хэдеров абсолютно нелогично подобраны, а главное, я не вижу никакой логики в подборках рубрик (например, "статьи" и "новое на сайте"). Может быть, наши взгляды расходятся. Да, и еще. Контраста жутко мало.
    1 point
  12. нижний рекламный баннер ужимается логотип можно было ссылкой сделать. ошибки валидации незначительные - можно было бы исправить не сильно напрягаясь. а вообще нормально
    1 point
  13. Вы хоть сами его делали ?! http://deamind.com/ (улыбнул title) © P. Lyulya (Deamind), 2011 | Все права защищены. http://p.deamind.com/fifabook/index.html Designed by predat0r. © Copyright FIFAWORLD.RU 2011
    1 point
  14. А добавьте там что-нибудь в коде или уберите. И все заработает, гарантирую.
    1 point
  15. Базы данных или файлы? Перед тем как сесть писать новый скрипт вы точно хоть раз, но задумывались ? писать его с использованием баз данных(БД) или все так же, как привыкли ? на файлах? Эта статья на примере гостевой книги поможет вам сделать выбор в правильную сторону. Как мы работаем с файлами? Заранее условимся, что функция file() это упрощение того, что описано ниже? Работать с файлами легко. Это делается примерно в 3 этапа: 1. Открыл файл 2. Считал всю(или часть) информацию 3. Закрыл файл Теперь(с точки зрения скрипта) мы имеем просто кучу символов разделенных переводом строки. Делаем разбиение по строкам и получаем уже массив строк файла. Но заранее, когда мы создавали файл, мы условились, что данные будут разделены символом ?|?. 1. a) Павел б) pavel@mail.ru в) 43284343 г) Привед, классный у тебя сайтик?! 2. а) Александра б) alex-sashka@gmail.com в) 384323 г) Приветик, кот?нок, суперовый сайтик! 3. а) Евгений б) gg_potstolom@pochta.ru в) 11132342 г) ЫЫЫ... Здарова, чертяко! a) ? имя посетителя ? адрес почтового ящика c) ? номер ICQ d) ? сообщение Теперь перебирая каждую строку, разбиваем е? на ?подстроки?. Зная позицию каждой подстроки, мы можем сказать где находиться имя посетителя, а где его сообщение. Дело за малым ? вывести все красиво на страницу. Чтобы добавить сообщение нам нужно: 1. Открыть файл для добавления 2. Записать в конец данные 3. Закрыть файл Еще нам нужно следить за тем, чтобы в файл попали данные без специального, условленного символа-разделителя ? ?|? и данные без ?перевода строки?! Итак, мы формируем строчку вида: ?имя пользователя?|?адрес почты?|?номер ICQ?|?сообщение? Сохраняем в файл и радуемся жизни! Как выглядит работа с файлами в Php-коде: <html> <head> <title>Пример гостевой книги на файлах</title> </head> <body> <form action="?action=add_post" method="post"> <p>* Имя посетителя:</p> <p><input name="name" type="text"></p> <p>* Электронная почта:</p> <p><input name="email" type="text"></p> <p>ICQ:</p> <p><input name="icq" type="text"></p> <p>* Сообщение:</p> <p><textarea name="message" rows=5 cols=20></textarea></p> <p><input type="submit" value="Добавить сообщение"></p> </form> <?php if( @$_GET['action'] == "add_post" ) // Если мы хотим добавить сообщение { if( !empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']) ) // Проверяем на наличие обязательных данных { // Удаляем запрещенные символы $name = str_replace('|', '!', htmlspecialchars(strip_tags($_POST['name']))); $email = str_replace('|', '!', htmlspecialchars(strip_tags($_POST['email']))); $icq = str_replace('|', '!', htmlspecialchars(strip_tags($_POST['icq']))); $message = str_replace('|', '!', htmlspecialchars(strip_tags($_POST['message']))); $fp = @fopen ("guestbook.txt", "a+"); // Открываем файл для добавления в конец if( @fwrite ($fp, "$name|$email|$icq|$messagen") ) // Проверяем на успешность записи в файл { print "<p style='color:green;'>Сообщение успешно добавлено!</p>"; } @fclose ($fp); // Закрываем файл } else { print "<p style='color:red;'>Введены не все данные!</p>"; } } ?> <hr> <?php $fp = @fopen ("guestbook.txt", "r"); // Открываем файл для чтения $gb_content = @fread($fp, filesize("guestbook.txt")); // Читаем все символы из файла @fclose ($fp); // Закрываем if( !empty($gb_content) ) { $gb_content = split("n", $gb_content); // Разбили на строки for( $i=0; $i<count($gb_content)-1; $i++ ) { list( $gb_name, $gb_email, $gb_icq, $gb_message ) = explode('|', $gb_content[$i]); // Разбиваем на подстроки и получаем соответствующие данные // Выводим сообщение print "<p style='color:blue;'><a href='mailto:$gb_email'>$gb_name</a> ICQ: $gb_icq</p>n"; print "<p>$gb_message</p>n"; print " n"; } } else { print "Гостевая, увы, пуста!"; } ?> </body> </html> Как мы работаем с базой данных(БД)? Что бы работать с БД нам необходим хостинг с поддержкой хотя бы MySQL. В этом конечно виден явный минус БД, но все по порядку? Работать с БД не так уж и сложно, как это представляется начинающим программистам! Главное научиться составлять запросы(а это просто как 2*2), и не бояться столкнуться с десятком новых терминов. БД работает почти точно так же как и файлы: 1. Открываем БД 2. Читаем/записываем данные 3. Закрываем Главным отличием является то, что мы получаем не кучу символов, а уже упорядоченный массив данных! То есть мы не морочим себе голову вопросами ? ?А какой поставить разделитель??, ?Как разбить на подстроки??, ?Каким по порядку идет поле, к примеру, номер ICQ??, ?Как отфильтровать входные данные на предмет перевода строки??. Вс? это уже предусмотрено базой данных? Созда?м БД, в ней таблицу guestbook с соответствующими полями: 1) ? имя посетителя 2) ? адрес почтового ящика 3) ? номер ICQ 4) ? сообщение Заполняем данными? Получаем: +——-+———+——-+——————-+ | Имя | Email | ICQ | Сообщение | +——-+———+——-+——————-+ | Павел | pav... | 123232| Привет.. | +——-+———+——-+——————-+ | Лелик | lelik.. | 23232 | Здароф.. | +——-+———+——-+——————-+ ...................................... Осталось только соедениться с БД и сделать запрос на выборку данных: SELECT * FROM guestbook Слово SELECT означает операцию ?чтения? данных. Символ ?*? ? что нам нужны поля: ?имя посетителя?, и ?почтовый адрес?, и ?номер ICQ?, и ?сообщение?, В общем все данные. FROM guestbook ? означает, что данные мы хотим прочитать из таблицы ?guestbook?. Грубо говоря таблица ? это и есть файл. Чтобы записать данные в БД просто выполняем запрос: INSERT INTO guestbook(?имя посетителя?, ?адрес почтового ящика?, ?номер ICQ?, ?сообщение? ) VALUES (?Иван?, ?ivan@sobaka.ru?, ?123456?, ?Я Иван! Повелитель гостевых книг!?) INSERT ? говорит нам, что это операция вставки, ?guestbook? ? таблица для вставки, дальше перечислены поля в которые необходимо записать данные, VALUES ? означает что дальше идет перечисление самих данных через запятую. Этой операции вполне достаточно чтобы в гостевой книге появилась новая запись. Как выглядит работа с БД в Php-коде: Прежде чем опробовать код вам нужно создать БД с названием guestbook. В этой БД создать таблицу guestbook с полями id, name, email, icq, message. Или просто выполнить SQL запрос: CREATE TABLE `guestbook` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR( 50 ) NOT NULL , `email` VARCHAR( 70 ) NOT NULL , `icq` VARCHAR( 10 ) NOT NULL , `message` TEXT NOT NULL , PRIMARY KEY ( `id` ) ); Код гостевой: <html> <head> <title>Пример гостевой книги с использованием БД</title> </head> <body> <form action="?action=add_post" method="post"> <p>* Имя посетителя:</p> <p><input name="name" type="text"></p> <p>* Электронная почта:</p> <p><input name="email" type="text"></p> <p>ICQ:</p> <p><input name="icq" type="text"></p> <p>* Сообщение:</p> <p><textarea name="message" rows=5 cols=20></textarea></p> <p><input type="submit" value="Добавить сообщение"></p> </form> <?php $db = mysql_connect('localhost', 'root', ''); // Подключаемся к базе данных mysql_select_db('guestbook', $db); // Выбираем таблицу guestbook с которой будем работать if( @$_GET['action'] == "add_post" ) // Если мы хотим добавить сообщение { if( !empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']) ) // Проверяем на наличие обязательных данных { // Удаляем запрещенные символы $name = htmlspecialchars(strip_tags($_POST['name'])); $email = htmlspecialchars(strip_tags($_POST['email'])); $icq = htmlspecialchars(strip_tags($_POST['icq'])); $message = htmlspecialchars(strip_tags($_POST['message'])); // Формируем запрос для добавления $query = "INSERT INTO guestbook(name, email, icq, message) VALUES ('$name', '$email', '$icq', '$message')"; $result = mysql_query( $query, $db ); // Выполняем запрос if( $mysql_error = mysql_error( $db ) ) // Если возникли какието ошибки, то выводим их { print $mysql_error; } else { print "<p style='color:green;'>Сообщение успешно добавлено!</p>"; } } else { print "<p style='color:red;'>Введены не все данные!</p>"; } } ?> <hr> <?php // Формируем запрос на получение данных $query = "SELECT * FROM guestbook"; $result = mysql_query( $query, $db ); // Выполняем запрос if( mysql_num_rows( $result ) > 0 ) // Проверяем колличество полученных строк { while( $gb_content = mysql_fetch_array( $result ) ) // Читаем по-очереди каждую строку { // Выводим сообщение print "<p style='color:blue;'><a href='mailto:$gb_content[email]'>$gb_content[name]</a> ICQ: $gb_content[icq]</p>n"; print "<p>$gb_content[message]</p>n"; print " n"; } } else { print "Гостевая, увы, пуста!"; } ?> </body> </html> Про безопасность Львиную долю времени занимает обеспечение безопасности скрипта. То есть зачем нам скрипт, если его легко могут вывести из строя? Ситуация с файлами обстоит плачевна? Иногда забывают ?закрывать? файлы от чтения из вне и вс? содержимое гостевой, а может и списка зарегистрированных пользователей с паролями и почтовыми адресами попадает в руки к злоумышленникам. Забывают экранировать ввод нового сообщения и вся информация в гостевой превращается в кашу? Базы данных тоже не лишены недостатков. Если программист не проверяет передаваемые из формы данные на правильность, то злоумышленник спокойно может прочитать, к примеру, список всех пользователей, или зайти под другим ником. Данный вид хака называется SQL Injection. Работы в улучшении защиты уже ведутся давно. Например, в библиотеке DbSimple от DKLab это решено с помощью placeholder-ов. Выводы Я, например, работаю с БД, выбирая тем самым безопасность и структурированность моих данных, но и не отрицаю использование файлов. Например, есть хорошие способы хранения данных в файлах: 1. Использование функций serialize() и unserialize() 2. Хранение в ini-файлах Иногда приходиться пользоваться и такими способами. Список литературы для углубленного изучения 1. Основы работы с MySQL в PHP 2. "Работа с MySQL в PHP: с чего начать?" 3. Работа с MySQL в PHP: подробно (PHP, MySQL, веб-программирование) 4. Обучающая статья от ведущего разработчика phpMyAdmin Марка Делисла 5. Работа с MySQL: Подробнее(Как формировать запросы) 6. Библиотека DbSimple от DKLab Статьи не сильно объемные и не займут много времени, но зато ваш exp значительно возрастет. Для тех, кто привык читать документы MS Word.
    1 point
  16. Предложения есть - добавить ответы, что бы не пришлось тратить кучу времени на выкладывание вопросов в топик и выслушивать сомнительные ответы. То что кто то получит от этого удовольствие я не сомневаюсь. Я по первому ответу в топике уже догадался, что тут мозг из за ответов не у кого не ленится, так сказать, словами автора. А вот на счёт монастыря есть сомнения, как только зашёл сразу минус в репу, какой то новый тип монастыря с маленькими рожками и длинным хвостиком.
    -1 points
  17. Ребята, что это такое я только зарегистрировался а тут уже Репутация -1. Что такое, у кого это руки такие кривые. Товарищи администраторы Вы как то следите за такими вещами а особенно за такими криворукими пользователями. Я что мат написал или что ?????????!!!!!!!!!!!! Как я могу узнать кто мне поставил -1. Что это за дело, пришел на сайт самому научиться и что людям подсказать а тут сразу негативом обливают.
    -1 points
  18. передаю переменную методом $.get() перемененная кириллическая строка php ее не принимает
    -1 points
This leaderboard is set to Kiev/GMT+02:00
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy