Невозможно передать параметр действия в файл PHP

У меня есть умный проект, и в файле .tpl есть форма:

<form method = "get" action = "{$smarty.server.PHP_SELF}?action=func1">
    <input type = "text" name = "username"/>
    <input type = "submit">
</form>

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

но в моей практике, см. верхний код, я пишу так, это не может доставить action в мой файл php.

Я хочу записать action в форме action, потому что это может быть более стандартным. поэтому я не хочу писать это на скрытом входе. почему написать в экшене нельзя перейти в php файл?

Стоит ли изучать 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 и хотите разрабатывать...
0
0
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать кнопку отправки с указанным именем и значением:

<form method = "get" action = "{$smarty.server.PHP_SELF}">
    <input type = "text" name = "username" />
    <input type = "submit" name = "action" value = "func1" />
</form>

и тогда вы получите глобальную переменную $ _POST ['action'] со значением func1. Но значение будет отображаться в заголовке вашей кнопки, поэтому я предлагаю вам находить формы только по имени отправки, например name = 'submit_form1'.

ты про $_GET['action'] ?

sof-03 20.07.2018 09:58

Метод формы - это "получить", вы ничего не получите с помощью $ _POST ['action']

César Ferreira 20.07.2018 09:58

@ sof-03, нет, это будут данные $ _POST как переменная username.

MrSmile 20.07.2018 10:02

но если задано так, значение = 'func1', как установить замену значения текста кнопки ввода?

sof-03 20.07.2018 10:03

Вы не можете. но вы можете найти форму просто по имени кнопки, например: if (isset($_POST['submit_button_form1'])) { # ... }, независимо от того, какое значение содержит эта переменная.

MrSmile 20.07.2018 10:04

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