Методы $ _GET и $ _POST не работают на Joomla - PullRequest
0 голосов
/ 27 сентября 2018

Страница запускается нажатием на кнопку отправки формы, но я не могу вставить данные в форму.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>

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

$ _ GET должен работать всегда, независимо - если вы не видите значений, то это означает, что страница, которую вы проверяете массив $ _GET, - это другая страница (что обычно происходит при проверке $ _GETмассив на представленной странице).$ _POST также всегда должен работать, но в большинстве случаев отправленные формы хранятся во вложенном массиве $ _POST.

Как уже упоминалось, вы должны использовать функцию Joomla для получения значений $ _GET и $ _POSTглавным образом потому, что эти функции более безопасны.

0 голосов
/ 27 сентября 2018

Прямой доступ к данным с помощью $ _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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...