[d | b / bro / ci / cu / dev / fr / gf / hr / l / m / med / mi / mu / o / ph / r / s / sci / tran / tu / tv / x | es / vg | au / tr | a / aa / abe / c / fi / jp / rm / tan / to / ts / vn / vo]
[Burichan] [Futaba] [Gurochan] - [iiChantra] [Радио 410] [ii.booru-Архив РПГ] [acomics-cf-ost] [Cirnoid] [@] - [Архив - Каталог] [Главная]

[Назад]
Ответ
Leave these fields empty (spam trap):
Имя
Тема
Сообщение
Файл
Подтверждение
Перейти к [
Пароль (для удаления файлов и сообщений)
 
ЗАПРЕЩЕНО:
  • детская эротика/порнография
  • троллинг
 
  • Поддерживаются файлы типов GIF, JPG, MP4, OGV, PNG, WEBM размером до 4096 кБ.
  • Максимальное количество бампов треда: 500.
  • Всем посетителям рекомендуется ознакомиться с FAQ.

1530525653311.png - (4 KB, 108x90, airplane.png)  
4 KB №203540   #1

<?

$error= false;

$errorText = "";

if (empty($_POST["name"])==true) {

$error=true;
$errorText = "У вас неправильно заполнено поле Имя";

}

if (empty($_POST["email"])==true){

$error=true;
$errorText = "У вас неправильно записан e-mail";

}

if (empty($_POST["message"])==true){

$error=true;
$errorText = "У вас не написано сообщение";

}

if($error==true){

$response = [
	"error" => true,
	"message" =>$errorText
];
echo json_encode($response);
die();

}

$servername = "localhost";

$username = "root";

$password = "";

// Create connection

$conn = new mysqli($servername, $username, $password, "bd1");

$sql = "INSERT INTO tab1 (name, email, message)

VALUES ('".$_POST["name"]."', '".$_POST["email"]."', '".$_POST["message"]."')";

if ($conn->query($sql) === TRUE) {

echo "New record created successfully <br>";
echo "<a href=index.html >Вернуться назад </a> </p>";
$query ="SELECT * FROM tab1";
$result = mysqli_query($conn, $query) or die("Ошибка " . mysqli_error($conn));
if ($result->num_rows > 0) {
// output data of each row
	while($row= $result->fetch_assoc()) {
		echo '<tr>';
		echo '<td style="padding:10px">' . $row['id'] . '</td>';
		echo '<td>' . $row['name'] . '</td>';
		echo '<td>' . $row['email'] . '</td>';
		echo '<td>' . $row['message'] . '</td>';
		echo '</tr>';
	}
} else {
	echo "0 results";
}
$conn->close();
// очищаем результат
mysqli_free_result($result);

} else {

echo "Error: " . $sql . "<br>" . $conn->error;

}

?>

>> №203545   #2

Что это? Нет, в общих чертах способ использования и назначение достаточно наглядно. А конкретно что?
За каждое эхо нужно бить клавиатурой по рукам (с) Оптимизировать бы.

>> №203546   #3

О господи, какой писец. За такой код надо расстреливать на месте. Зачемты это сюда принес?

>> №203553   #4
1530561423244.png - (374 KB, 1086x768, Alice.Margatroid.full.151077.LOW.png)  
374 KB

O'k. В целом всё хорошо. Теперь: 1) покройте тестами; 2) добавьте валидацию; 3) добавьте обработчик исключений; 4) перепишите с использованием MVC-паттерна.

>> №203554   #5
1530561994008.jpg - (23 KB, 720x432, тири4.jpg)  
23 KB
>перепишите с использованием MVC-паттерна.

Помнится, в Сенсее (который унылый, а не Онизука) была серия про отмазки, оправдывающие собственную лажу. Целые улицы отмазок: для косоруких домохозяек — «по рецепту», для бездарных режиссёров — «по оригиналу» и так далее. Вот там не хватало переулка «по паттерну».

>> №203556   #6

Если два рандомных php-кодера не макаки, они никогда не договорятся как правильно кодить. И даже в вопросе хорошо такое положение дел или нет.

>> №203560   #7
1530565699163.jpg - (73 KB, 494x371, sadface.jpg)  
73 KB

>>203540
Эталонный говнокод. Я б так не смог.

>> №203561   #8
1530569046165.jpg - (692 KB, 800x1318, Alice.Margatroid.full.461246.jpg)  
692 KB

>>203554
Там не хватало кольцевой дороги, по которой улюлюкая нарезают круги ребятишки в педальных автомобильчиках.
>>203556
Отсутствие академического образования как раз и проявляется в наивной уверенности, что есть «правильный» способ. Ну и

>php-кодеры
>не макаки

на ноль делишь.
>>203560
Да ладно, сойдёт для ПТУ. Студент на занятие пришел, даже код какой-то написал. Сразу «отлично» можно ставить.

>> №203564   #9

>>203560
Взгляни на это по другому. Это мог быть ООП в стиле си, формирующий xml для рендера через JS. Или даже собственный движок, дублирующий интерпретацию шаблонов встроенную в основы php. Как было сделано в кусабе.
>>203561
Да ладно, полно диванных самоучек кодящих на коленке в стол для удовольствия.

>> №203631   #10

>>203540
Нужно проверять поля на наличие специальных символов, которые требуется экранировать при создании SQL-запроса, чтобы не позволить всем желающим получить контроль над базой данных. В выводе тоже надо не допускать HTML-тегов.

>> №203632   #11

К комментирующим: санитизация инпута -- это очень и очень тупо, не надо так, это не решение проблемы, но заметание её под ковёр.

К ОПу:
В коде:

  • куча проверок, которые могут быть бесполезны.
  • отсутствие пула подключений
  • передача голых строк sql-запроса вместо параметризации
  • конструкция html из строк вместо использования темплейтов
  • отсутствие логгирования

Стоит:

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

Аспекты которые стоит учитывать:

  • Персистентность приложения
  • Нормальные треды, не поддверженные GIL'у
  • Развитая экосистема, имеющая решение для довольно большего спектра задач
  • Возможность использовать простой и вкусный spring-boot.
  • Возможность реализовать полноценную микросервисную архитектуру на spring-cloud.
  • Иметь доступ к адекватной сепарации косёрнов в spring-data.
  • Иметь ORM для реляционных баз через hibernate.

Имеет смысл так же выглянуть в окно и отказаться от серверного рендеринга всей разметки иначе как для бутстрапа твоего SPA -- попробуй лучше React. Только не делай монолита из UI теперь, используй project mosaic.

Потом, когда затрахаешься с конфигурацией кучи фреймворков - посмотри на go, gRPC, go-kit и go-micro и да будет тебе счастье в мире кооперативных тредов с преэмптивностью только на уровне ОС.

>> №203635   #12

Долго не мог понять, что мне не нравится в советах этого человека >>203632 А потом увидел что он предлагает делать простой как лом из чугуния сайт на джаве с фремворками.
Ведь этот пост сплошь утрированный до абсурда сарказм, правда?
Скажите что так и есть или я потеряю веру в человечество.

>> №203639   #13

>>203635
Нет ничего плохого в том чтобы брать лучший подходящий под задачу инструмент. Да, забить гвоздь можно и тяжёлым ботинком, но лучше молотком, специально для этого предназначенным. Твой аргумент, я так понимаю, сводится что ботинки могут лежать ближе, чем ящик с инструментами, но это едва ли повод лениться и не сходить в гараж за подходящими средствами, да прочитать книжку о технике безопасности, чтобы не отбить себе пальцы.

>> №203640   #14

>>203639
Тогда почему бы не начать с того что посоветовать ему нанять команду заслуженных профессионалов? В числе которых будет маркетолог, дизайнер и креативный директор. Хотя по хорошему, их наймом должен заниматься начальник отдела кадров. Да и как всё это дело затевать, не имеючи хорошего бухгалтера? Не даром же в прямом эфире говорили, что создание самого простого сайта для бизнеса и гос.структур обходится не меньше пары-тройки миллионов.

Это как если бы человек обратился с советом как в холодную ночь прикрыть цветок на открытом грунте, а ему бы первым делом посоветовали заложить добротный ж\б фундамент для теплицы. Хотя хватило бы и стеклянной банки или даже кулька из газеты. Я тоже против кривой халтуры, но не до такой же дикой инверсии!

>> №203641   #15

>>203639
Если нужно съездить в магазин за колбасой то начинать стоит со строительства автомобильного завода?

>> №203655   #16

>>203639
А потом мы все удивляемся - чего это современный написанный по всем правилам говнокод так дико тормозит и жрёт ресурсы?

>> №203661   #17
1531164832838.jpg - (34 KB, 400x250, 88254a8f95599639adf9d339441d589113165168(...).jpg)  
34 KB

>>203540

> if($error==true){
>> №203678   #18

>>203655
Полагаю, идея писать не говнокод слишком чужда для некоторых людей.

>> №203687   #19

>>203678
Иногда стандарты написания являются строго обязательными. И за их несоблюдение по идейно-эстетическим принципам без разбирательств увольняют.



Удалить сообщение []
Пароль
[d | b / bro / ci / cu / dev / fr / gf / hr / l / m / med / mi / mu / o / ph / r / s / sci / tran / tu / tv / x | es / vg | au / tr | a / aa / abe / c / fi / jp / rm / tan / to / ts / vn / vo]
[Burichan] [Futaba] [Gurochan] - [iiChantra] [Радио 410] [ii.booru-Архив РПГ] [acomics-cf-ost] [Cirnoid] [@] - [Архив - Каталог] [Главная]