[英]Methods $_GET and $_POST doesn't work on Joomla
通過單擊表單的提交按鈕可以執行該頁面,但是我無法將數據插入到表單中。 如果將php和html代碼像在Joomla之外的文件一樣上傳到服務器上,則可以工作,但是如果將html代碼上傳到Joomla文章(在數據庫內部)中,則該代碼不起作用。 如果我用回聲隨機寫一些東西,它將正確顯示
郵遞區號
<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>
使用$ _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數組上檢查$ _GET數組時會發生這種情況。提交頁面)。 $ _POST也應始終有效,但是在大多數情況下,表單提交存儲在$ _POST的嵌套數組中。
正如其他人提到的那樣,您應該使用Joomla函數來檢索$ _GET和$ _POST值,主要是因為這些函數更安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.