PHP: как я могу получить ввод времени HTML

Я новичок в PHP. У меня есть файл PHP (form1.php) с формой HTML. Я хотел бы получить значение поля ввода (type = time), сохранить его в переменной PHP и передать его на другую страницу PHP, не нажимая кнопку отправки. Как я могу получить доступ к вводу и сделать это только с помощью PHP, могу ли я вызвать какое-то событие?

Form.php

 <?php

    ?>
<!doctype html>
<html lang = "en">
  <head>
    <title>Form</title>

  </head>
  <body>

      <form action = "file2.php" method = "post">

            <input type = "time" name = "startTime">

      </form>

</html>

Вы не можете этого сделать, используя только PHP. Требуемое значение - это клиентская сторона, поэтому вам понадобится Javascript, либо с помощью таймера для автоматической отправки формы, либо путем вызова обращения AJAX.

Alex Howansky 15.01.2019 23:31

«Могу ли я вызвать какое-то событие» ... не с помощью «просто PHP» нет, потому что любое событие, которое может вам понадобиться, должно произойти в браузере, а PHP не запускается в браузере, он работает только на сервере. Чтобы отправить данные на сервер из браузера, вам необходимо создать и отправить HTTP-запрос на сервер, который содержит указанные данные. Для этого вы можете а) отправить HTML-форму или б) использовать некоторый JavaScript для создания запроса AJAX (конкретный тип HTTP-запроса, генерируемый только сценарием на основе браузера). Если вы не хотите нажимать кнопку для отправки, остается б), возможно, с автоматическим таймером.

ADyson 15.01.2019 23:34

Однако нежелание нажимать кнопку на самом деле не имеет большого смысла - поле ввода должно принимать ввод пользователя. Обычно вам нужно подождать, пока пользователь что-то введет, прежде чем имеет смысл отправлять данные на сервер. Обычный способ для пользователя указать, что он закончил ввод данных и готов отправить данные, - это нажать кнопку «Отправить». Вы также можете использовать JavaScript для обработки, когда пользователь вводит что-то (но это может привести к одной отправке на каждое нажатие клавиши) или когда фокус перемещается из поля (но есть шанс, что этого никогда не произойдет) ....

ADyson 15.01.2019 23:38

... и используйте эти события в качестве триггера для вашего запроса AJAX. Но, как я уже отмечал, у них обоих есть потенциальные недостатки. Какова ваша настоящая основная причина, по которой вы не хотите использовать кнопку? Чего именно вы пытаетесь достичь? Это тот случай, когда у пользователя есть ограничение по времени для завершения ввода или что-то в этом роде?

ADyson 15.01.2019 23:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
4
165
2

Ответы 2

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

Если вы хотите получить доступ к значению переменной без отправки формы, вам, скорее всего, потребуется javascript. Добавьте обработчик события изменять к вводу времени на вашей странице. Обработчик событий изменения может связываться с другой вашей php-страницей (используя принести или xhr или любое количество производных).

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

Другие вопросы по теме