Страница запускается при нажатии на кнопку отправки формы, но я не могу вставить данные в форму. Код php и html работают, если они загружены на сервер как файл вне Joomla, но код не работает, если код html загружается в статьи Joomla (внутри базы данных). если я напишу что-то случайное с помощью эха, оно будет отображаться правильно
PHP код
<php
$codice = $_GET["sblocca"];
echo $codice;
?>
HTML код
<form action = "/home/arioxurl/public_html/scriptPHP/ChiusuraPrestazione/generaFattura.php" class = "form-horizontal" method = "get">
<fieldset>
<!-- Form Name -->
<legend>Chiusura prestazione</legend>
<!-- Text input-->
<div class = "form-group">
<label class = "col-md-4 control-label" for = "sblocca">inserisci il codice a sei cifre per sbloccare il pagamento</label>
<div class = "col-md-4">
<input name = "sblocca" type = "text" placeholder = "XXXXXX" class = "form-control input-md" required = "">
<>
<>
<!-- Text input-->
<div class = "form-group">
<label class = "col-md-4 control-label" for = "NumFatt">inserisci il numero della fattura, deve essere incrementato di uno rispetto all'ultima generata (anche all'esterno di dashup)</label>
<div class = "col-md-4">
<input id = "NumFatt" name = "NumFatt" type = "text" placeholder = "numero fattura es: 312" class = "form-control input-md">
<>
<>
<!-- Multiple Checkboxes -->
<div class = "form-group">
<label class = "col-md-4 control-label" for = "Conferma"></label>
<div class = "col-md-4">
<div class = "checkbox">
<label for = "Conferma-0">
<input type = "checkbox" name = "Conferma" id = "Conferma-0" value = "1">
Conferma numero fattura
</label>
<>
<>
<>
<!-- Button -->
<div class = "form-group">
<label class = "col-md-4 control-label" for = "Download"></label>
<div class = "col-md-4">
<button name = "annulla" class = "btn btn-info">Annulla</button>
<input type = "submit" value = "Sblocca pagamento e scarica fattura" class = "btn btn-primary">
<>
<>
</fieldset>
</form>
В поиске Google: joomla how to access $_GET data site:joomla.stackexchange.com
: joomla.stackexchange.com/q/14275/12352, joomla.stackexchange.com/q/15515/12352, joomla.stackexchange.com/q/23096/12352, joomla.stackexchange.com/q/937/12352
Прямой доступ к данным с помощью $ _GET и $ _POST небезопасен, и данные необходимо отфильтровать перед вставкой в базу данных. Не говоря уже о том, что мы должны понимать, что Joomla имеет собственный способ извлечения данных из формы. Вы должны использовать JInput для доступа к своим данным. Сначала вам нужно вызвать класс JInput таким образом
$jinput = JFactory::getApplication()->input;
Это способ получить любую переменную
$variable = $jinput->get('varname', 'default_value', 'filter');
Фильтр необходим для обеспечения безопасности вашего кода, чтобы при вводе букв и цифр никто по ошибке не вводил специальные символы или не выполнял sql-инъекция. Есть несколько фильтров и список можно посмотреть здесь https://docs.joomla.org/Retrieving_request_data_using_JInput.
Вы также должны понимать, как создаются и отправляются формы в Joomla. Вы можете перейти по этой ссылке, чтобы узнать больше https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_a_front-end_form.
$ _GET всегда должен работать, независимо от того - если вы не видите значения, это означает, что страница, которую вы проверяете в массиве $ _GET, является другой страницей (что обычно происходит, когда вы проверяете массив $ _GET на отправленная страница). $ _POST также всегда должен работать, но в большинстве случаев отправка формы хранится во вложенном массиве $ _POST.
Как уже упоминалось, вы должны использовать функцию Joomla для получения значений $ _GET и $ _POST, в основном потому, что эти функции более безопасны.
Всегда сначала обращайтесь к руководству: docs.joomla.org/Retrieving_request_data_using_JInput Затем, когда вам понадобится поддержка Joomla, изучите Joomla Stack Exchange. Это то место, куда команда Joomla хочет, чтобы вы обратились за специальной поддержкой Joomla. Скорее всего, вы найдете уже существующую страницу, объясняющую, как получить доступ к суперглобальным переменным. После изучения вашей проблемы в JSE, если вы не нашли существующего решения, опубликуйте вопрос в этой сети.