Задачки на PHP

5.78K
.
(\/)____o_O____(\/)
# jaras (26.01.2014 / 14:41)
Koenig, В текством файле типа gost.txt
ну да
.
(\/)____o_O____(\/)
с файлами некоторые моменты посложнее реализовать, например постраничку, но если осилить далее это пригодиться чтоб сам функционал понять
.
reaper
http://rghost.ru/51937071
Для вендоюзеров есть console.bat
Для линуксоидов:
Проверить, что файл bin/console имеет окончания строк lf
chmod +x bin/console

И генерируем js генератор роутов:
console js-url

Запуск сервера:
Для вендузятников:
php bin/server
Для линуксоидов:
Опять же проверить окончания строк, сделать файл исполняемым и запустить: bin/server

SQL-Дамп в файле dump.sql

Вроде ничего не забыл.
Ах да, проверьте .htaccess в public, возможно rewritebase надо будет поправить.
И извне должно быть только видно содержимое директория public
.
шта?
.
# Fenixrus (26.01.2014 / 14:52)
шта?
предыдущую страницу зачитай.
.
Аж целых три раза скачали и ни одного комментария
.
(\/)____o_O____(\/)
reaper, не люблю фв, и код их разбирать, если бы полностью свое что нибудь, но не фв гостевая, суть задачей решить просто, понять код новичкам и сделать для себя выводы, там же надо копаться
.
Так это же микро-фв. В /vendor/ вообще можно даже не заглядывать.
Пожалуй соглашусь. Вот если бы я написал свой фв, сокет-сервак, фоллбэк для старых арбузеров, не поддерживающих веб-сокеты, тогда можно было бы о хоть чём-то говорить.
.
jaras
Мастер PHP
Вот изменил гостевую всё поместил в один файл

код (+/-)
.
jaras, Самая главная ошибка -- это html код, работа с базой и их взаимосвязь, всё в одном месте.
Получилась этакая каша. Когда скрипт совсем не большой, то ничего страшного, но когда нужно будет написать нечто более серьёзное, то это уже будет ад.
/**
 * @Автор Jaras
 * @Год 2.2.2014
 * @Связь jaras.com@bk.ru
 * @Цена Бесплатно
 * @Специально для johncms.com 
 */

Забавно. Нигде еще не видел, чтобы в докблоках указывали цену скрипта.
Этакий закос под PHPDoc?
Рекомендую ознакомится с ним и не использовать кириллицу и любые другие не стандартные символы в коде, т.к. могут возникнуть проблемы с кодировкой да и вообще нужно быть интернациональнее.
В твоём случае это будет что-то вроде следующего:
/**
 * Simple Guestbook
 * 
 * The guestbook application example.
 * 
 * @author Jaras <jaras.com@bk.ru>
 * @license The MIT License (MIT)
 */


Далее идёт html разметка, в которой я почему-то не нашел ни доктайпа, ни <html> тега.
Очень плохо. Хорошо хоть через мета-тег указал, что это html. Только про кодировку забыл.
Форматирование ужасное. Незнаю, может это ждоновский парсер так испоганил, или это так и было, но у меня все отступы в разброс, кто куда.
Зачем после каждой строки пустая строка? Чтобы строк больше было? Хе-хе.
Именовать переменные транслитом тоже не рекомендую.
//Сервер Mysql
//Пользователь Mysql
//Пароль Mysql
//БЗ Mysql
//Подключаемся к Базе данных

Такие комментарии в коде не нужны. Они ничего ровным счётом не дают.
А "БЗ Mysql" меня сначала сбило столку. Что за БЗ? Лишь после того, как я прочёл название переменной, я понял, что это должно быть имя базы данных. Тогда может быть будет лучше сказать "БД"?

Почему do while, а не while() {} ?
do while лучше использовать там, где это действительно необходимо.
И да, присваивание в условиях плохая практика, т.к. иногда это может привести к проблемам, причины которых потом сложновато будет обнаружить.
Silence оператор (@) тоже не рекомендуется использовать. Тем более в твоём случае, когда ты получаешь данные из ресурса. Есть же возможность обработать нормально, зачем срать в логи?
Потом у тебя $gost массив, но сравниваешь со строкой. Почему? Правильнее будет подсчитать его размер и сравнить с нулём или использовать empty()
Не созданные переменные сравниваешь с null, тоже плохо. А потом их еще и удаляешь

Очень хорошо, что ты использовал strip_tags, но перед выводом через htmlspecialchars данные обработать всё-таки нужно.

Еще вспомню про форматирование. Внизу у тебя по два условия в одной строке. Удобно читается? Да и вообще половина условий так, половина сяк. Отступы не соблюдены. Погугли про стандарты оформления кода и приведи всё в порядок.

Это еще наверное не все недочёты и ошибки, которые есть. Постарайся исправить хотя бы всё, кроме самой главной ошибки, о которой я сказал в начале. А затем, если с задачей справился, можно избавляться от спагетти-кода.
Всего: 173