dok34.ru
Moderator
...ничего нельзя за пределами разрешённого 🙂
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
...ничего нельзя за пределами разрешённого 🙂
Хорошо, пользователь попросил написать полный код HTML и PHP для страницы формирования заявки на грузоперевозки с
конкретными полями: вес груза, размеры, характер груза, пункт приёма и место назначения. Все эти данные должны
сохраняться в таблице MySQL.
Первым делом, мне нужно структурировать HTML-форму с указанными полями. Надо убедиться, что каждое поле имеет
правильный тип и атрибуты для корректного ввода данных. Например, вес и размеры лучше принимать как числа,
возможно, с плавающей точкой.
Затем необходимо добавить обработку формы на стороне сервера. Это означает, что нужно написать PHP-скрипт, который
будет получать данные из формы, проверять их корректность и вставлять в базу данных. Важно предусмотреть проверки:
например, чтобы все обязательные поля были заполнены, вес и размеры не были отрицательными.
Пользователь также попросил сохранить данные в MySQL-таблице, поэтому нужно создать подключение к базе данных.
Надо убедиться, что подключение правильно настроено, и данные вставляются в таблицу без ошибок.
Мне следует продумать безопасность: использовать prepared statements, чтобы избежать SQL-инъекций. Также стоит
проверить, есть ли уже такая таблица или её нужно создать. В коде я должен добавить создание таблицы при
необходимости.
Кроме того, полезно добавить валидацию на стороне клиента с помощью JavaScript для улучшения пользовательского
опыта. Это поможет предотвратить отправку формы с неверными данными без участия сервера.
Возможно, стоит также предусмотреть обратную связь для пользователя: сообщение об успешной отправке заявки или
ошибках ввода. Это сделает интерфейс более понятным и дружелюбным.
Нужно убедиться, что код хорошо структурирован, читаем и содержит комментарии для лучшего понимания. Также стоит
проверить, чтобы HTML был валидным и соответствовал современным стандартам.
В итоге, моя задача — предоставить полный, рабочий код, который охватывает все требования пользователя: от
создания формы до сохранения данных в базе данных с надлежащими проверками и безопасностью.
</think>
Вот полный пример кода для страницы формирования заявки на грузоперевозки:
```html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Заявка на грузоперевозку</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
.form-group {
margin-bottom: 15px;
}
input, select, textarea {
width: 100%;
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
box-sizing: border-box;
}
button {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<h2>Заявка на грузоперевозку</h2>
<?php
// Проверяем, была ли отправлена форма
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Подключаемся к базе данных
$host = 'localhost';
$user = 'root'; // Логин БД
$pass = ''; // Пароль БД
$db_name = 'test'; // Имя БД
$connection = mysqli_connect($host, $user, $pass, $db_name);
if (!$connection) {
die("Connection failed: " . mysqli_connect_error());
}
// Sanitize and validate input data
$weight = mysqli_real_escape_string($connection, $_POST['weight']);
$length = mysqli_real_escape_string($connection, $_POST['length']);
$width = mysqli_real_escape_string($connection, $_POST['width']);
$height = mysqli_real_escape_string($connection, $_POST['height']);
$cargo_type = mysqli_real_escape_string($connection, $_POST['cargo_type']);
$pickup_point = mysqli_real_escape_string($connection, $_POST['pickup_point']);
$destination = mysqli_real_escape_string($connection, $_POST['destination']);
// Проверяем, заполнены ли все обязательные поля
if (empty($weight) || empty($length) || empty($width) || empty($height) || empty($cargo_type) ||
empty($pickup_point) || empty($destination)) {
echo "Пожалуйста, заполните все поля формы!";
exit();
}
// Проверяем, что вес и размеры — числа
if (!is_numeric($weight) || !is_numeric($length) || !is_numeric($width) || !is_numeric($height)) {
echo "Вес и размеры должны быть числами!";
exit();
}
// Создаём таблицу, если её нет
$sql = "CREATE TABLE IF NOT EXISTS cargo_requests (
id INT AUTO_INCREMENT PRIMARY KEY,
weight FLOAT,
length FLOAT,
width FLOAT,
height FLOAT,
cargo_type TEXT,
pickup_point TEXT,
destination TEXT,
submission_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
mysqli_query($connection, $sql);
// Вставляем данные в таблицу
$query = "INSERT INTO cargo_requests (weight, length, width, height, cargo_type, pickup_point,
destination)
VALUES ('$weight', '$length', '$width', '$height', '$cargo_type', '$pickup_point',
'$destination')";
if (mysqli_query($connection, $query)) {
echo "<h3>Ваша заявка успешно отправлена!</h3>";
} else {
echo "Ошибка при сохранении данных: " . mysqli_error($connection);
}
mysqli_close($connection);
}
// Если форма не была отправлена, выводим саму форму
if ($_SERVER["REQUEST_METHOD"] != "POST") {
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<div class="form-group">
<label for="weight">Вес (кг):</label>
<input type="text" id="weight" name="weight" placeholder="Введите вес в килограммах" required>
</div>
<div class="form-group">
<label>Размеры (м):</label><br>
<input type="text" id="length" name="length" placeholder="Длина" style="width: 100px;" required>
<input type="text" id="width" name="width" placeholder="Ширина" style="width: 100px;" required>
<input type="text" id="height" name="height" placeholder="Высота" style="width: 100px;" required>
</div>
<div class="form-group">
<label for="cargo_type">Тип груза:</label>
<select id="cargo_type" name="cargo_type" required>
<option value="">Выберите тип...</option>
<option>Мебель</option>
<option>Хрупкие goods</option>
<option>Строительные материалы</option>
<option>Одежда</option>
<option>Другое</option>
</select>
</div>
<div class="form-group">
<label for="pickup_point">Точка отправки:</label>
<input type="text" id="pickup_point" name="pickup_point" placeholder="Введите адрес или город"
required>
</div>
<div class="form-group">
<label for="destination">Точка назначения:</label>
<input type="text" id="destination" name="destination" placeholder="Введите адрес или город" required>
</div>
<button type="submit">Отправить заявку</button>
</form>
<?php } ?>
</body>
</html>
```
Этот код включает:
1. HTML-форму для ввода данных о грузоперевозке
2. CSS для стилизации формы
3. PHP-обработчик, который:
- Соединяется с базой данных MySQL
- Проверяет корректность введенных данных
- Создает таблицу для хранения заявок (если её нет)
- Сохраняет данные в базе данных
- Выводит сообщение об успешной отправке
Для работы кода вам понадобится:
1. Установленный MySQL сервер
2. Созданная база данных (в данном примере используется 'test')
3. Достаточные права для создания таблиц и вставки данных
Основные моменты:
- Форма проверяет корректность введенных данных
- Поля обязательны для заполнения
- Вес и размеры должны быть числами
- Данные сохраняются в базе MySQL с автоматическим временем отправки
Чтобы использовать этот код, замените параметры подключения к базе данных ($host, $user, $pass, $db_name) на ваши
реальные данные.
Мы с Медведиком говорили про это не так давно. Я сказал что это процесс эволюции - мы создали существо превосходящее нас а сами исчезнем.И вот, глядя на всё это, задаешь себе вопрос: а не идём ли мы по пути интеллектуальной деградации, добровольно отказываясь от того, что отличает нас как вид? Не превратимся ли мы в итоге в общество "промпт-инженеров", утративших способность к мышлению? Ответы на эти вопросы, боюсь, нам ещё только предстоит найти, и от этих ответов зависит будущее человечества.
Вспомнил один страшный рассказ, но не буду его выкладывать, а то он очень страшный 🙂Мы с Медведиком говорили про это не так давно. Я сказал что это процесс эволюции - мы создали существо превосходящее нас а сами исчезнем.
Все станем геями и вымрем 🙂Мы с Медведиком говорили про это не так давно. Я сказал что это процесс эволюции - мы создали существо превосходящее нас а сами исчезнем.
В связи с решением Верховного суда Российской Федерации (далее РФ) от 30 ноября 2023 года), движение ЛГБТ* признано экстремистским и запрещена его деятельность на территории РФ. Данное решение суда подлежит немедленному исполнению, исходя из чего на форуме будут приняты следующие меры - аббривеатура ЛГБТ* должна и будет применяться только со звездочкой (она означает иноагента или связанное с экстремизмом движение, которое запрещено в РФ), все ради того чтобы посетители и пользователи этого форума могли ознакомиться с данным запретом. Символика, картинки и атрибутика что связана с ныне запрещенным движением ЛГБТ* запрещены на этом форуме - исходя из решения Верховного суда, о котором было написано ранее - этот пункт внесен как экстренное дополнение к правилам форума части 4 параграфа 12 в настоящее время.