Php не видит name из html. Уверен, что все верно написано. Что делать?

Ссылка скопирована
26 января 2026 1 ответ

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

<form action="index.php" method="POST">             <section class="Zakaz">                 <div class="container">                     <div class="row">                         <div class="col-12">                             <select name = "type" class="form-select" aria-label="Default select example">                                 <option selected>Выберите тип задания(Если тип не будет выбран, то ваше задание попадет в небытие)</option>                                 <option value="1">Практика</option>                                 <option value="2">Практическая</option>                                 <option value="3">Отчет</option>                                 <option value="4">База данных</option>                             </select>                             <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Почта</label>                                 <input type="email" name ="email" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="name@example.com">                               </div>                               <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Телеграм(@...)</label>                                 <input name="tg" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="@name">                               </div>                               <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Опишите задание(не более двухста символов)</label>                                 <input name = "question" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="Ваше задание...">                               </div>                               <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Дедлайн(за срочность идет доплата в 300руб)</label>                                 <input name = "deadline" type="date" class="form-control" id="exampleFormControlInput1" placeholder="">                               </div>                         </div>                     </div>                 </div>             </section>         </form>

<form action="index.php" method="POST"> <section class="Zakaz"> <div class="container"> <div class="row"> <div class="col-12"> <select name = "type" class="form-select" aria-label="Default select example"> <option selected>Выберите тип задания(Если тип не будет выбран, то ваше задание попадет в небытие)</option> <option value="1">Практика</option> <option value="2">Практическая</option> <option value="3">Отчет</option> <option value="4">База данных</option> </select> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Почта</label> <input type="email" name ="email" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="name@example.com"> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Телеграм(@...)</label> <input name="tg" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="@name"> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Опишите задание(не более двухста символов)</label> <input name = "question" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="Ваше задание..."> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Дедлайн(за срочность идет доплата в 300руб)</label> <input name = "deadline" type="date" class="form-control" id="exampleFormControlInput1" placeholder=""> </div> </div> </div> </div> </section> </form>

<?php  include('index.html');  $mysqli = @new mysqli('localhost', 'root', '', 'money_dealer');   if (mysqli_connect_errno()) {     echo "Подключение невозможно: ".mysqli_connect_error();   }    var_dump($_POST);    $type = $_POST['type'];   $email = $_POST['email'];   $tg = $_POST['tg'];   $question = $_POST['question'];   $deadline = $_POST['deadline'];   ?>

<?php include('index.html'); $mysqli = @new mysqli('localhost', 'root', '', 'money_dealer'); if (mysqli_connect_errno()) { echo "Подключение невозможно: ".mysqli_connect_error(); } var_dump($_POST); $type = $_POST['type']; $email = $_POST['email']; $tg = $_POST['tg']; $question = $_POST['question']; $deadline = $_POST['deadline']; ?>

Дополнительно:

@new mysqli убери собаку и посмотри что будет

  • Владислав Лысков, ничего нового или полезного
    Это, конечно, идиотский способ подключения, но добавление или убирание собаки на нем вообще никак не скажется

    Плюс у автора проблема вообще не с БД

  • Владислав Лысков, Все также осталось. Гарантом работоспособности данного кода у меня var_dump($_POST). Код точно коннектиться к базе и все воспринимает
  • array(0) { }
    Warning: Undefined array key "type" in D:XAMPhtdocsBoostrapindex.php on line 12

    Warning: Undefined array key "email" in D:XAMPhtdocsBoostrapindex.php on line 13

    Warning: Undefined array key "tg" in D:XAMPhtdocsBoostrapindex.php on line 14

    Warning: Undefined array key "question" in D:XAMPhtdocsBoostrapindex.php on line 15

    Warning: Undefined array key "deadline" in D:XAMPhtdocsBoostrapindex.php on line 16

    Ошибки, если кому интересно

  • PabloEscobar213, а после чего он это выводит? После какого действия?

    Подсказка: это важный вопрос, подумав над которым, вы решите свою проблему

  • У вас нет кнопки сабмита
    добавьте if
    так же не понятно зачем подключать index.html
    пысы: id должен быть уникальным

    spoiler

    <form action="test2.php" method="POST">             <section class="Zakaz">                 <div class="container">                     <div class="row">                         <div class="col-12">                             <select name = "type" class="form-select" aria-label="Default select example">                                 <option selected>Выберите тип задания(Если тип не будет выбран, то ваше задание попадет в небытие)</option>                                 <option value="1">Практика</option>                                 <option value="2">Практическая</option>                                 <option value="3">Отчет</option>                                 <option value="4">База данных</option>                             </select>                             <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Почта</label>                                 <input type="email" name ="email" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="name@example.com">                               </div>                               <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Телеграм(@...)</label>                                 <input name="tg" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="@name">                               </div>                               <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Опишите задание(не более двухста символов)</label>                                 <input name = "question" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="Ваше задание...">                               </div>                               <div class="mb-3">                                 <label for="exampleFormControlInput1" class="form-label">Дедлайн(за срочность идет доплата в 300руб)</label>                                 <input name = "deadline" type="date" class="form-control" id="exampleFormControlInput1" placeholder="">                               </div>                                <input type="submit" value="Send">                         </div>                     </div>                 </div>             </section>         </form>   // Как минимум так. Но оно все равно может выдать ошибку если одно из полей будет не заполнено. Ну ты понял в какую сторону смотреть я надеюсь   if(!empty($_POST)) {      $type = $_POST['type'];      $email = $_POST['email'];       $tg = $_POST['tg'];       $question = $_POST['question'];      $deadline = $_POST['deadline']; }

    <form action="test2.php" method="POST"> <section class="Zakaz"> <div class="container"> <div class="row"> <div class="col-12"> <select name = "type" class="form-select" aria-label="Default select example"> <option selected>Выберите тип задания(Если тип не будет выбран, то ваше задание попадет в небытие)</option> <option value="1">Практика</option> <option value="2">Практическая</option> <option value="3">Отчет</option> <option value="4">База данных</option> </select> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Почта</label> <input type="email" name ="email" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="name@example.com"> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Телеграм(@...)</label> <input name="tg" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="@name"> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Опишите задание(не более двухста символов)</label> <input name = "question" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="Ваше задание..."> </div> <div class="mb-3"> <label for="exampleFormControlInput1" class="form-label">Дедлайн(за срочность идет доплата в 300руб)</label> <input name = "deadline" type="date" class="form-control" id="exampleFormControlInput1" placeholder=""> </div> <input type="submit" value="Send"> </div> </div> </div> </section> </form> // Как минимум так. Но оно все равно может выдать ошибку если одно из полей будет не заполнено. Ну ты понял в какую сторону смотреть я надеюсь if(!empty($_POST)) { $type = $_POST['type']; $email = $_POST['email']; $tg = $_POST['tg']; $question = $_POST['question']; $deadline = $_POST['deadline']; }

  • lUser L, ну так у него в этом индексе форма.

    то что нет кнопки сабмита - это ладно.
    А вот то что он переживает, что из формы ничего не пришло, не отправив её - это, конечно, фиаско.

  • Ипатьев, а это не отправка формы? Я возможно что то не понимаю...
  • PabloEscobar213, что - "это"?

    Вот вы сейчас написали комментарий здесь. Можете вспомнить свои действия?
    А со своей формой вы что-то подобное делали?

  • Ипатьев, <form method="post" action="index.php">
    вот это
  • ОТПРАВКА.
    Речь про отправку формы.
    Про действия, который человек производит с формой.
    ЧЕЛОВЕК.

    Еще раз смотрим сюда, на эту форму для комментариев.
    И на свои действия при отправке комментария. Не на код, а на свои действия.
    Что-то там с кнопочками на клавиатуре и мышке.

    СО СВОЕЙ ФОРМОЙ ВЫ ЧТО-ТО ПОДОБНОЕ ДЕЛАЛИ?

  • Ипатьев, Если я верно понял вопрос, то да. Я добавил кнопочку и при отправке введенного, в бд приходит ничего
  • PabloEscobar213, дружище тебя здесь мучают вопросом -где в твоей форме элемент отвечающий за submit. input или button submit. ты похоже вставил его за тегом from
  • Максим Ткачев,
    &lt;form  name ="feedback" method="POST" action="index.php"&gt;             &lt;section class="Zakaz"&gt;                 &lt;div class="container"&gt;                     &lt;div class="row"&gt;                         &lt;div class="col-12"&gt;                             &lt;select name = "type" class="form-select" aria-label="Default select example"&gt;                                 &lt;option selected&gt;Выберите тип задания(Если тип не будет выбран, то ваше задание попадет в небытие)&lt;/option&gt;                                 &lt;option value="1"&gt;Практика&lt;/option&gt;                                 &lt;option value="2"&gt;Практическая&lt;/option&gt;                                 &lt;option value="3"&gt;Отчет&lt;/option&gt;                                 &lt;option value="4"&gt;База данных&lt;/option&gt;                             &lt;/select&gt;                             &lt;div class="mb-3"&gt;                                 &lt;label for="exampleFormControlInput1" class="form-label"&gt;Почта&lt;/label&gt;                                 &lt;input type="email" name ="email" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="name@example.com"&gt;                               &lt;/div&gt;                               &lt;div class="mb-3"&gt;                                 &lt;label for="exampleFormControlInput1" class="form-label"&gt;Телеграм(@...)&lt;/label&gt;                                 &lt;input name="tg" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="@name"&gt;                               &lt;/div&gt;                               &lt;div class="mb-3"&gt;                                 &lt;label for="exampleFormControlInput1" class="form-label"&gt;Опишите задание(не более двухста символов)&lt;/label&gt;                                 &lt;input name = "question" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="Ваше задание..."&gt;                               &lt;/div&gt;                               &lt;div class="mb-3"&gt;                                 &lt;label for="exampleFormControlInput1" class="form-label"&gt;Дедлайн(за срочность идет доплата в 300руб)&lt;/label&gt;                                 &lt;input name = "deadline" type="date" value="" id="exampleFormControlInput1" placeholder=""&gt;                               &lt;/div&gt;                         &lt;/div&gt;                     &lt;/div&gt;                     &lt;button type="button" name="submit" class="btn btn-outline-primary"&gt;Отправить&lt;/button&gt;                 &lt;/div&gt;             &lt;/section&gt;         &lt;/form&gt;

    &lt;form name ="feedback" method="POST" action="index.php"&gt; &lt;section class="Zakaz"&gt; &lt;div class="container"&gt; &lt;div class="row"&gt; &lt;div class="col-12"&gt; &lt;select name = "type" class="form-select" aria-label="Default select example"&gt; &lt;option selected&gt;Выберите тип задания(Если тип не будет выбран, то ваше задание попадет в небытие)&lt;/option&gt; &lt;option value="1"&gt;Практика&lt;/option&gt; &lt;option value="2"&gt;Практическая&lt;/option&gt; &lt;option value="3"&gt;Отчет&lt;/option&gt; &lt;option value="4"&gt;База данных&lt;/option&gt; &lt;/select&gt; &lt;div class="mb-3"&gt; &lt;label for="exampleFormControlInput1" class="form-label"&gt;Почта&lt;/label&gt; &lt;input type="email" name ="email" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="name@example.com"&gt; &lt;/div&gt; &lt;div class="mb-3"&gt; &lt;label for="exampleFormControlInput1" class="form-label"&gt;Телеграм(@...)&lt;/label&gt; &lt;input name="tg" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="@name"&gt; &lt;/div&gt; &lt;div class="mb-3"&gt; &lt;label for="exampleFormControlInput1" class="form-label"&gt;Опишите задание(не более двухста символов)&lt;/label&gt; &lt;input name = "question" type="text" class="form-control" id="exampleFormControlInput1" maxlength="200" placeholder="Ваше задание..."&gt; &lt;/div&gt; &lt;div class="mb-3"&gt; &lt;label for="exampleFormControlInput1" class="form-label"&gt;Дедлайн(за срочность идет доплата в 300руб)&lt;/label&gt; &lt;input name = "deadline" type="date" value="" id="exampleFormControlInput1" placeholder=""&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;button type="button" name="submit" class="btn btn-outline-primary"&gt;Отправить&lt;/button&gt; &lt;/div&gt; &lt;/section&gt; &lt;/form&gt;

    Вот новый код с кнопкой, но ошибка та же. Я решил дописать отправку формы в базу, но приходит пустота. Пхп не видит ame инпутов

  • PabloEscobar213, при чем здесь БД, если речь про массив $_POST?
    При чем здесь код с кнопкой если речь про ДЕЙСТВИЯ ЧЕЛОВЕКА
  • И почему button? Откуда вы все берете этот button?
    С чего вы взяли, что он отправляет форму?
  • PabloEscobar213,
    в index.php сделай $postData = file_get_contents('php://input'); file_put_contents('post.log', $postData); и посмотри лог что приходит. Если ничего тогда структуру файлов в студию
  • Максим Ткачев, просто для информации, это будет бессмысленно.
    Для решения этой задачи, над которой бьется уже десяток специалистов, автору нежно просто отправить форму на сервер.
  • Ипатьев, увидев структуру файлов. мы увидим где действительно лежит фаил index.php и поможем автору осознать важность понимания абсолютных и относительных путей.
  • Максим Ткачев, меня иногда поражает, насколько некоторые люди оторваны от реальности, и неспособны прочесть десяток строк кода. Выдвигая вместо этого глубокомысленные гипотезы :)
  • Максим Ткачев,

    Php не видит name из html. Уверен, что все верно написано. Что делать?

    Оно все лежит вместе. Все связано.
    Я пробовал прописать весь этот код вместе(в одно файле), но ошибке все те же

  • Ипатьев, я так понимаю камень в мой огород. Ты имеешь виду что в форме button вместо submit. да форма по факту не отправляется. Но если ты это сразу увидел. наверное стоило подсказать неофиту. явно же что у него уже замылен глаз или он не знает в чем разница
  • Максим Ткачев, Я махнул на submit и все заработало. Все ошибки пропали.
    Спасибо огромное
  • PabloEscobar213, ты понял в чем проблема?
  • Максим Ткачев, я уже подсказал. Два раза.
    Но проблема с этим бутоном - вторая.
    А основная была в том, что он искал данные формы, вообще её не отправляя.
  • PabloEscobar213, злую шутку могло сыграть и то что файлы названы одинаково и приоритет получался у .php при открытии / а не /index.html
  • не более двухста

    не более двухсот

  • Ну видно же что человек только начал разбираться, что вы на него все набросились.

    PabloEscobar213, смотри, у тебя тут куча ошибок. Начнем с азов.

    1) Форма считается отправленной только после того как ты нажал кнопку типа submit и данные ушли на сервер (есть другие способы, но мы их сейчас трогать не будет). Кнопку, как вижу, ты уже добавил. Но теперь надо на нее кликнуть. что бы данные из формы ушли на сервер.

    2) Дальше. Вывод формы в браузер и обработка/отправка данных это разные действия. И они могут быть в разных файлах. Например если бы у тебя форма была в index.html, а отправлял ты ее в send.php, а потом делал бы редирект обратно на форму, то все было бы проще.

    Но ты сделал все в одном файле. Значит что? Значит в коде надо понимать когда именно ты отправляешь данные. Тебе про это выше писали. Сейчас ты видишь ошибки на этапе отображения формы, а не отправки. В коде надо проверять что суперглобальный массив $_POST не пустой или что ты отправляешь данные через метод POST.

    if ($_POST) {   // Здесь пишешь код подключения к базе и отправке }

    if ($_POST) { // Здесь пишешь код подключения к базе и отправке }

    • Маленькое уточнение. Кнопку он добавил. Но не ту. На неё хоть обкликайся, на сервер ничего не уйдет. Это его подкосило во второй раз. Нетренированным взглядом действительно сложно увидеть, что форма не отправляется. А вот после того, как он поменял тип кнопки, у него всё заработало.
    • Да, действительно. Правильная кнопка должна быть такой
      &lt;button type="submit" name="submit" class="btn btn-outline-primary"&gt;Отправить&lt;/button&gt;

      &lt;button type="submit" name="submit" class="btn btn-outline-primary"&gt;Отправить&lt;/button&gt;

      а не type="button"

    • Ну видно же что человек только начал разбираться, что вы на него все набросились.

      изначально у вопроса была средняя сложность

    • Антон Шаманов, у кого-то хлеб черствый, у кого-то жемчуг мелкий. Все относительно.
    • YepBro, Хрень, это же база. Надеюсь не надо объяснять, почему не стоит есть желтый снег? Или стоит?

    при нормальном раскладе должна быть кнопка submit для отправки формы, а также проверка

    if (!empty($_POST)) {     // действия с полученными данными }

    if (!empty($_POST)) { // действия с полученными данными }

    т.к. по умолчанию страница загружается GETом

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Стас DB Ответ

    Для того чтобы PHP мог видеть переменные, переданные из HTML формы через атрибут name, необходимо убедиться, что форма отправляется методом POST или GET и что каждый элемент формы имеет уникальное значение атрибута name.

    Вот пример HTML формы:

     
     
     
        <button type="submit">Submit</button>

    <button type="submit">Submit</button>

    Затем в файле process.php вы можете получить значения переменных с помощью суперглобального массива $_POST:

    $username = $_POST['username'];
    $email = $_POST['email'];

    $username = $_POST['username']; $email = $_POST['email'];

    Убедитесь, что вы используете правильные имена переменных в массиве $_POST, которые соответствуют значениям атрибута name в вашей HTML форме. Также удостоверьтесь, что вы отправляете форму на правильный адрес в атрибуте action вашей формы.

    Если после этого проблема остается, проверьте ваши настройки сервера, чтобы убедиться, что PHP сконфигурирован правильно для обработки данных из HTML форм.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно