Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.05.2024
Сообщений: 24

Проблема с регистрацией в PHP

11.05.2024, 09:31. Показов 496. Ответов 4

Студворк — интернет-сервис помощи студентам
Пишу сайт для курсовой работы. Есть следующая форма регистрации в файле html:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<form method="POST" action="php/registration.php">
               <div class="form-group">
                  <input type="text" class="form-control" name="name" placeholder="Имя" required>
                </div>
                <div class="form-group mt-3">
                  <input type="text" class="form-control" name="surname" placeholder="Фамилия" required>
                </div>
                <div class="form-group mt-3">
                  <input type="text" class="form-control" name="email" placeholder="Email" required>
                </div>
                <div class="form-group mt-3">
                  <label for="FormControlFile1">Бланк заявления:</label>
                  <input type="file" name="statement" class="form-control-file" id="FormControlFile1" required>
                </div>
                <div class="form-group mt-3">
                  <select id="your ticket-type" name="ticket-type" class="form-select" required>
                    <option value="no theme">-- Тема Конференции --</option>
                    <option value="Net system">Системы связи</option>
                    <option value="Radiolocate system">Радиолокационные системы</option>
                    <option value="Work with info & tech">Работа с информацией и техникой</option>
                  </select>
                </div>
                <div class="text-center mt-3">
                  <button type="submit" class="btn">Регистрация</button>
                </div>
              </form>
Для этой формы сделан PHP код, с помощью которого поля записываются в базу данных:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
$servername="localhost";
$username="vladlubnev";
$password="Basedata1146!-";
$dbname="vladlubnev";
 
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка подключения
if ($conn->connect_error) {
    die("Ошибка подключения: " . $conn->connect_error);
}
 
// Получение данных из формы
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$statement = $_FILES['statement']['name'];
$ticket_type = $_POST['ticket-type'];
 
// Загрузка файла заявления
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["statement"]["name"]);
move_uploaded_file($_FILES["statement"]["tmp_name"], $target_file);
 
// Вставка данных в базу данных
$sql = "INSERT INTO registrations (name, surname, email, statement, ticket_type) VALUES ('$name', '$surname', '$email', '$statement', '$ticket_type')";
if ($conn->query($sql) === TRUE) {
    echo "Регистрация прошла успешно!";
} else {
    echo "Ошибка регистрации: " . $conn->error;
}
// Закрытие подключения к базе данных
$conn->close();
?>
Суть в том, что в поле statement должен загружаться docx файл, а в итоге в базу данных загружаются все поля кроме него, так как файл в нём просто отсутствует. Пробовал менять тип данных на blob, но насколько я понимаю, он работает только с изображениями. Что можно поменять в коде, чтобы файл загружался? База данных сделана с помощью встроенного в хостинг Spaceweb PhpMyAdmin.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2024, 09:31
Ответы с готовыми решениями:

Проблема с регистрацией
Народ, искал-искал, но не нашел нужной информации.. В общем перехожу сразу к делу. Есть движок, на котором я делаю сейчас сайт. Движок...

Проблема с регистрацией
Здравствуйте. Имеется БД access , подключаюсь через ADOConnection и дальше к ADOTable(Пользователи). Мне нужно зарегистрировать...

Проблема с регистрацией столкновений
Условно арканоид. На шарике и на блоках висят BoxCollider2D. Если шарик регистрирует столкновение с блоком он его уничтожает. Шарик...

4
Невнимательный
 Аватар для ft4l
2840 / 1266 / 358
Регистрация: 08.02.2013
Сообщений: 7,362
Записей в блоге: 2
11.05.2024, 11:07
Цитата Сообщение от VladosTSF Посмотреть сообщение
<form method="POST" action="php/registration.php">
enctype="multipart/form-data" должно быть указано для форм с <input type="file">
А так с безопасностью надо додумывать, защита от перезаписи файлов с одинаковыми именами
проверка типов, расширений, факта загруженности, ограничения размеров или обработка превышений ограничений
Фильтрация валидация текстовых полей... sql-инъекции
... никаких проверок/сообщений... кроме проверки соединения с бд и того что запрос был без ошибок...
1
0 / 0 / 0
Регистрация: 11.05.2024
Сообщений: 24
11.05.2024, 11:12  [ТС]
ft4l, то есть это надо вписать в форму или в сам инпут? И в чём ещё вопрос, в MyAdmin вообще есть тип данных для документов формата docx?
0
Невнимательный
 Аватар для ft4l
2840 / 1266 / 358
Регистрация: 08.02.2013
Сообщений: 7,362
Записей в блоге: 2
11.05.2024, 11:40
VladosTSF, <form method="POST" action="php/registration.php" enctype="multipart/form-data">
только с таких отправляется https://www.php.net/ru/feature... ost-method

Насчёт хранения в бд, как BLOB любые данные любых файлов можно хранить.
Но раздует таблицы без крайней нобходимости и вывод файла на просмотр например с лишними напрягами,
когда сервер сам может файлы с лёгкостью раздавать.
Обычно в БД имя/путь сохрнённого файла , имя файла передаваемое при загрузке, и причие время, размер ... если хочется
расширение при загрузке можно даже менять/убирать если по прямым ссылкам файлы не будут отдаваться

Добавлено через 2 минуты
Цитата Сообщение от ft4l Посмотреть сообщение
имя/путь
иногда в отдельной таблице, уникальные идентификаторы из которй можно использовать в каких-либо других
1
0 / 0 / 0
Регистрация: 11.05.2024
Сообщений: 24
11.05.2024, 13:04  [ТС]
Большое спасибо за помощь. Файл загружается, но как вы и сказали, есть проблемы с выводом на просмотр. Как я понимаю, слетает кодировка. Можете если не трудно подробнее рассказать о раздаче файлов с сервера? Просто нужно что бы файл выводился именно как во вложении, а загружается пустой doc файл, содержащий только своё название.
Вложения
Тип файла: docx Заявка на участие- приложение к инф письму.docx (14.2 Кб, 3 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2024, 13:04
Помогаю со студенческими работами здесь

Проблема с регистрацией пользолвателя
Есть почтовый кластер (6.5.5 FP3), Регистрирую пользователя на первом (главном) серевере, в настройках администратора стоит опция создавать...

Проблема с регистрацией Classa
Добрый день. Есть приложение, где используется COM-сервер, но ругается, что не зарегестрирован класс, пробывал разными способами....

проблема с регистрацией пользователей
Добрый день! С некоторого времени появилась такая проблема (это я к тому что вчера еще все было нормуль): регистрирую пользователя, ...

Проблема с регистрацией на github
Возникла проблема с капчей (чего до этого отродясь не было) при регистрации на github'е. После 4-х раз неизменно выдает &quot;по крайней...

Проблема с регистрацией на этом форуме.
Почему я могу зарегестрироваться только на этой странице http://relib.com/forums а в других местах этого сайта никак ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru