Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2016, 16:38   #1
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию с чего начать сделать тестовое задание по MVC?

форму создам а дальше какие файлы реализовать и т.д. подскажите чтобы грамотно начинать. спасибо



задание:

--- Базовая функциональность ---
1) Сделать форму обратной связи.
На странице должны быть показаны все оставленные отзывы, под ними форма: Имя, E-mail, текст сообщения, кнопки "Предварительный просмотр" и "Отправить".
Отзывы можно сортировать по имени автора, e-mail и дате добавления (по умолчанию - по дате, последние наверху).Также должна быть валидация.
2) Предварительный просмотр должен работать без перезагрузки страницы.
3) Сделать вход для администратора (логин "admin", пароль "123"). Администратор должен иметь возможность редактировать отзыв. Измененные отзывы в общем списке выводятся с пометкой "изменен администратором".
4) К отзыву можно прикрепить картинку.
Картинка должна быть не более 320х240 пикселей, при попытке залить изображение большего размера, картинка должна быть пропорционально уменьшена до заданных размеров. Допустимые форматы: JPG, GIF, PNG.
5) У администратора должна быть возможность модерирования.
Т.е. на странице администратора показаны отзывы с миниатюрами картинок и их статусы (принят/отклонен).
Отзыв становится видимым для всех только после принятия админом. Отклоненные отзывы остаются в базе, но не показываются обычным пользователям. Изменение картинки администратором не требуется.

В приложении нужно с помощью чистого PHP реализовать модель MVC (PHP-фреймворки использовать нельзя).
Верстка на bootstrap. Помните, что аккуратность - это один из главных критериев оценки тестового.

Приложение нужно развернуть на любом бесплатном хостинге, чтобы можно было посмотреть его в действии.
Скопируйте в корневую папку проекта наш онлайн-редактор dayside (https://github.com/boomyjee/dayside)
Таким образом редактор будет доступен по url <ваш проект>/dayside/index.php
Убедитесь, что настройки .htaccess подволяют редактору открыться. При первом запуске редактор попросит установить пароль, поставьте как в админке: 123.
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 28.09.2016, 17:00   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да какой толк от MVC и тестовых заданий когда с основами не разобрались
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.09.2016, 21:39   #3
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию как сделать чтобы отзывы сохранялись на странице

было задание

1) Сделать форму обратной связи.
На странице должны быть показаны все оставленные отзывы, под ними форма: Имя, E-mail, текст сообщения, кнопки "Предварительный просмотр" и "Отправить".

PHP код:
<?php
$name
htmlentities($_POST['name']);
$emailhtmlentities($_POST['email']);
$texthtmlentities($_POST['text']);
echo
"<center>Отзыв от {$name}<br>"
"{$text}</center>";

echo 
    <<<_END
  <center><form action="index.php" method="post"><pre><table>   
 <tr><td>Имя</td><td><input type="text" name="name"></td></tr>    
 <tr><td>E-mail</td> <td> <input type="text" name="email"></td></tr>   
 <tr><td>Текст сообщения</td><td><textarea cols="40" rows="10" name="text"></textarea></td></tr>        
<tr><td><input type="submit" value="Отправить" size="90px"></td></tr> 
    </pre></table> 
        </form></center>
_END;
так выводить отзыв и имя но после перезагрузки стирается
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 28.09.2016, 22:00   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Сохраняй отзывы в БД, или записывай в файл.
Andkorol вне форума Ответить с цитированием
Старый 28.09.2016, 22:01   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Сохранять в БД.

таблицы, <br> и <center> что-то не похоже на "аккуратную верстку", требуемую в задании (а последний вообще deprecated уже давно).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 28.09.2016 в 22:10.
Alex11223 вне форума Ответить с цитированием
Старый 28.09.2016, 22:38   #6
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Сохранять в БД.

таблицы, <br> и <center> что-то не похоже на "аккуратную верстку", требуемую в задании (а последний вообще deprecated уже давно).
я же только учусь поэтому и спрашиваю иначе бы и не писал здесь т.е что я умею то написал и хочу чтобы подкоректировали направили в правильном направлении
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 28.09.2016, 22:49   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так а я что ответил?

Про направление писали уже раньше же. Ну или например https://map.hexlet.io/pages/start

Современные справочники по верстке и вебу:
https://webref.ru
https://developer.mozilla.org/en-US
PHP
http://www.phptherightway.com / http://getjump.me/ru-php-the-right-way


Эта задача слишком сложная для обучения на таком этапе, сначала надо основы освоить.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.09.2016, 04:04   #8
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

частично получилось добавляются посты, в базу и выводятся на экран, но когда просто перезагружаю страницу не вводу в форму печатается опят последний пост

PHP код:
<?php
require_once 'login.php'

$db_server mysql_connect($db_hostname$db_username$db_password);
  if (!
$db_server) die("Невозможно подключиться к MySQL: " mysql_error());
  
  
mysql_select_db($db_database$db_server)    or die("Невозможно выбрать базу данных: " mysql_error());
  
  if (isset(
$_POST['name']) &&      
isset(
$_POST['email']) &&      
isset(
$_POST['text'])){

$name= ($_POST['name']);
$email= ($_POST['email']);
$text= ($_POST['text']);

$query "INSERT INTO ot_post VALUES" .  "(Null, '$name', '$email', '$text')"

if (!
mysql_query($query$db_server))  echo "Сбой при вставке данных: $query<br>" mysql_error() . "<br><br>";} 
   
$query "SELECT * FROM ot_post";  

$result mysql_query($query);

 if (!
$result) die ("Сбой при доступе к базе данных: " mysql_error()); 

 
$rows mysql_num_rows($result);
 
 for (
$j $j $rows ; ++$j
  {   

$row mysql_fetch_row($result);      
 
  
   echo 
'Отзыв от ' $row[1] . '<br>';    
   echo  
$row[3]; 
   echo 
"<br><br><br>";
}


echo 
    <<<_END
  <center><form action="index.php" method="post"><pre><table>   
 <tr><td>Имя</td><td><input type="text" name="name"></td></tr>    
 <tr><td>E-mail</td> <td> <input type="text" name="email"></td></tr>   
 <tr><td>Текст сообщения</td><td><textarea cols="40" rows="10" name="text"></textarea></td></tr>        
<tr><td><input type="submit" value="Отправить" size="90px"></td></tr> 
    </pre></table> 
        </form></center>
_END;

 
mysql_close($db_server);
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 29.09.2016, 08:37   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какую страницу? Вы точно index.php открываете (если код из сообщения выше лежит в нем)? Что в login.php?

В БД посты все есть?

Форматируйте код нормально, а не как попало. (нормально это например так https://gist.github.com/AlexP11223/2...bfc9effcb4e3d9)

И возьмите mysqli_ или PDO вместо древних mysql_ функций.


Цитата:
Сообщение от nikytt Посмотреть сообщение
Код:
$name= ($_POST['name']);
$email= ($_POST['email']);
$text= ($_POST['text']);

$query = "INSERT INTO ot_post VALUES" .  "(Null, '$name', '$email', '$text')";
Так нельзя делать.



https://www.google.com/search?q=sql+injection

https://en.wikipedia.org/wiki/Prepar...tement#PHP_PDO

www.phptherightway.com/#databases / http://getjump.me/ru-php-the-right-w...BD%D1%8B%D1%85
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 29.09.2016 в 08:40.
Alex11223 вне форума Ответить с цитированием
Старый 29.09.2016, 17:39   #10
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

я открываю index.php(код из сообщения выше лежит в нем) т.е она передает сама себе


login.php:

<?php // login.php
$db_hostname = 'localhost';
$db_database = 'otzyv';
$db_username = 'root';
$db_password = '1111111'; ?>



а вот этот код с книги
PHP код:
$name= ($_POST['name']);
$email= ($_POST['email']);
$text= ($_POST['text']);

$query "INSERT INTO ot_post VALUES" .  "(Null, '$name', '$email', '$text')"
что здесь не так?
Москва форум- общение на любые темы!!

Последний раз редактировалось Alex11223; 29.09.2016 в 17:52.
nikytt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тестовое задание c#-programmer C# (си шарп) 1 11.06.2015 00:42
Хочу сделать простенкую графическую игру, не знаю с чего начать wi3ik Visual C++ 7 30.07.2012 09:24
хочу сделать программу смс-дневник - с чего начать? Шурупик Помощь студентам 4 08.06.2012 14:07
Курсовой проект..на с++, посмотрите задание что с ним делать с чего начать...я 1с-ник anisa8310 Общие вопросы C/C++ 3 13.11.2010 11:41
Я хочу сделать сайт. С чего начать? Alar Свободное общение 13 29.01.2008 16:34