Jump to content

Maslakoff

User
  • Posts

    616
  • Joined

  • Last visited

Everything posted by Maslakoff

  1. Интересен вопрос загрузки картинок через визуальный JS редактор типа FCKEditor или ему подобных. Тоесть, просто копируем текст с картинками в буфер и вываливаем его в визуальный редактор. Вопрос: можно ли узнать Temp-путь картинки? можно ли через js узнать base32 код картинки? Эту тему можно отнести и к Php и к Js. Еще не определился...
  2. SibBear, и как ты с помощью него решил конвертировать *.doc в *.html ??? поделись +)
  3. D.S.Denton, Та да... прикольный пример... Простота это сила...!
  4. NJSmith, в универе, в курсе лекций по БД и по Структурам баз данных нам это уже объяснялось. Статья для новичков. Для них БД и файлы ? два разных понятия. И зачем изобретать колесо, если можно уже кататься на готовом велосипеде?
  5. Pavel_html, Для тех, кто не научился еще программировать на Php создали такие замечательные конструкторы, как http://www.ucoz.ru/. Это, имхо, намного приятней смотриться, чем ваш сайт. Стандартно, но тех функций, которые есть там вам хватит с головой... Конечно нельзя бросать программирование. Его нужно развивать... Но все, что я думаю о вашем подходе к делу, было сказано выше...
  6. Pavel_html, цени время и желание помочь. Не злоупотребляй И НЕ ЗАДАВАЙ ТУПЫХ ВОПРОСОВ. Я уверен, если бы ты прочел ту книжку о Php, которая у тебя есть, и понял хоть чтонибудь, то не задавал такую чушь... ТАК ЧТО, УВАЖАЕМЫЙ, ИДИ КА ТЫ ЧИТАТЬ КНИЖКИ!!! Дмитрий, если он не успокоиться, то реально бань... а то народ уже на нервах...
  7. *ударился пару раз головой об стену*... Pavel_html, чувак, извини, но тебе нужно или подрасти или выбрать другую профессию...
  8. Pavel_html, может ты знаешь что это такое, но применять еще не научился(((
  9. Pavel_html, mod_rewrite тебе пока незачем. освой пока что азы... ато берешься за все что угодно... доведи хотябы одно дело до конца
  10. восьмого марта какраз в тему подарить ?лку своей второй половинке %)
  11. klierik, возьми любой php framework(например, могучий Zend) и сотвори на нем систему управления сайтом... Инструменты там все имеются...
  12. Dimitry Wolotko, если чесно, то скоро и у меня терпение закончиться +)
  13. Pavel_html, будыш долго мучатьсы ? чтоныбудь получытьси +))) Просто попытайся понять проблему, не прибегая к нашим подсказкам... Форумы воспитывают лень и флудеров +)
  14. Девятилап, сами когда то такими были... вспомните... лучше помогите ему решить грамотно задачу, а не высмеивать и осуждать...
  15. LokiDi L0ck, да, я лишь прошелся по верхам... и этого хватило для того чтобы увидеть разницу. Про резервирование места согласен. Но чаще всего делают так, как приведено в примере...
  16. Базы данных или файлы? Перед тем как сесть писать новый скрипт вы точно хоть раз, но задумывались ? писать его с использованием баз данных(БД) или все так же, как привыкли ? на файлах? Эта статья на примере гостевой книги поможет вам сделать выбор в правильную сторону. Как мы работаем с файлами? Заранее условимся, что функция 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.
  17. Maslakoff

    HTML 5.0

    HTML5 ? очень хорошо... Возможно следующие версии браузеров, которые активно захотят поддерживать html5 будут хоть как то стандартизированы в отображении элементов. На css3 точно так же можно написать, что это, цитирую ? "Баян", и отправить в топку...
  18. ExtJS ? не менее вкусно.
  19. Pavel_html, конечно же есть.. сейчас... вот: 1. Как создать собственную CMS 2. Модульное программирование на PHP или как написать маленький портал. Думаю, принцип ты поймешь... А вообще учись пользоваться поиском Google и Yandex... Там зачастую есть все ответы на твои вопросы...
  20. Dimitry Wolotko, попробую все привести к виду "статья", а уж потом и в топик... Это был выложен поток мыслей %) Кстати, я упустил момент безопасности записи данных... И есть отличное решение безопасности при работе с MySQL в библиотеке DbSimple от DKLab ? placeholder'ы.
  21. 1. Сильно контрастно! 2. Эффект "Закладок" ? НЕ ПОЛУЧИЛСЯ...! 3. Убрать ":" в списке. 4. Список не сильно понравился... Конструкция страницы вобщем то ничего, но не умение работать с цветом все загубило... Поработайте с нижним меню, мне кажется что нужен просто прямоугольник с закругленными углами с белым фоном и бордером.
  22. В общем то MySQL схож по работе с файлами, только конечно же объемнее. Сравним работу с файлом и с БД. Функцию file( [file name] ) отбросим, т.к. в это всеголишь упрощение доступа к файлу. Открытие файла для чтения: $fp = fopen ("file.txt", "r"); Подключение к ДБ: $db = mysql_connect( [string server [, string username [, string password [, nool new_link [, int client_flags ]]]]]); now_link и client_flags на данном этапе тебе не понадобяться. Итак, в случае с файлом мы просто открываем файл для чтения и помещаем ссылку на файл в переменную $fp. В случае с БД мы проделываем аналогичную операцию, но в переменной $db уже будет не ссылка на файл, а ссылка на Базу Данных, тоесть на множество таблиц с данными... Файлы... $file_content = fread($fp, filesize( [file name] )); // Получаем вс? содержимое файла... $array = split("n", $file_content); // Разбиваем построчно весь файл... fclose ($fp); // Закрываем файл... БД... $query = "SELECT * FROM news LIMIT 10 ORDER BY date"; // Здесь мы определяем "*" ? читать все данные из полей, news ? из таблицы news, LIMIT 10 ? 10 новостей, ORDER BY date ? 10 последних новостей(сортировка по полю "Дата") $res = mysql_query( $query, $db ); // Посылаем запрос... $array = mysql_fetch_array($res); // Переводим полученные данные в массив... mysql_close($db); // Закрываем работу с MySQL В случае с файлами мы можем всеголишь открыть его, прочитать все данные, потом разбить построчно, потом каждую строку разбить на подстроки(в нашем примере этого нет), чтобы хоть както отделить данные... Конечно же есть функция serialize( mixed value ), которая значительно облегчает хранение и упорядочевание информации в фалах. В случае с БД мы сформировали запрос на выборку части отсортерованных данных из таблицы news и получаем готовый массив $array, который легко можно вывести на любой странице... Чтобы начать работу с БД нужно установить локальный сервер, советую пакет Denwer, где уже установлен скрипт работы с Базой Данных MySQL ? phpMyAdmin. Установив пакет, просто обратитесь по адресу: http://localhost/Tools/phpMyAdmin/ С помощью этой программы-скрипта вы сможете: а) создать базу данных б) создать таблицу(ы) в) наполнить таблицы информацией Для работы с phpMyAdmin и вообще для работы с MySQL из php вам необходимо прочитать следующие статьи: 1. Основы работы с MySQL в PHP 2. "Работа с MySQL в PHP: с чего начать?" 3. Работа с MySQL в PHP: подробно (PHP, MySQL, веб-программирование) 4. Обучающая статья от ведущего разработчика phpMyAdmin Марка Делисла 5. Работа с MySQL: Подробнее(Как формировать запросы) Статьи не сильно объемные и не займут много времени, но зато ваш exp значительно возрастет.
  23. жестоко +) Вам тройка! Цветовая схема не сина приятная %)
×
×
  • 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