簡體   English   中英

方法$ _GET和$ _POST在Joomla上不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM