簡體   English   中英

使用PHP POST接收表單輸入數據

[英]Receive form input data with PHP POST

我正在使用jQuery tag-it插件,該插件基本上具有一個輸入字段。 一切正常,但是我無法通過使用PHP提交表單來接收輸入字段的值。

這是表單部分:

<form action="<?=$PHP_SELF?>" method="post">        
        <div class="line">
            <label for="tags">Tags</label>
            <ul id="mytags"></ul>
        </div>      
       <input name="submit" value="Submit" type="submit" />
</form>

這是PHP部分:

<?
    if ($_POST[submit]) {

    $tags = $_POST[mytags];
    echo $tags;

    }

    ?>

該插件的演示位於此處: http : //levycarneiro.com/projects/tag-it/example.html ,而javascript代碼位於: http : //levycarneiro.com/projects/tag-it/js/tag- it.js我將非常感謝您的幫助。

在tpl中

<script type="text/javascript">
$(document).ready(function() {
    $("#tags-input").tagit({
        fieldName: "tag[]",
        availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
    });
});
</script>

在后端print_r($ _ POST)中使用fieldName:“ tag []”屬性,並檢查其顯示內容

ul不是要提交的表單元素,而是UI元素。 並且您需要在數組索引周圍使用引號,例如: if (isset($_POST['submit'])) {

代碼應如下所示:

<?
if ($_POST['submit']) {

$tags = $_POST['mytags'];
echo $tags;

}

?>

您忘記了其中的'

如果您忘記了php將$_POST[submit]中的$_POST[submit]視為一個常量

編輯:

嘗試這個:

<?
var_dump($_POST);
?>

應該沒有發布的數據

您的代碼不使用任何輸入字段!

自動標簽存儲在為每個標簽創建的以下表單字段中:

function create_choice (value) {    
  // some stuff
  el += "<input type=\"hidden\" style=\"display:none;\" value=\""+value+"\" name=\"item[tags][]\">\n";
  // some other stuff
}

因此,您必須注意PHP代碼中的$ _POST ['item'] ['tags'] ,而不是'mytags',它會為您提供一系列標簽。

查看您的插件,似乎在添加標簽時動態創建了隱藏的輸入字段。

假設部分代碼確實有效,請將以下內容放入您的PHP代碼中。

<?php 
    var_dump($_POST); //this has to be in the page you POST to
?>

查看是否顯示了所有標簽。 如果是這樣,則您的JS可以正常工作,而您的PHP卻有問題。 正如用戶@ITroubs提到的那樣,您應該引用數組索引 看看是否能解決問題。

如果未顯示任何數據,則說明您的JS插件無法正常工作。

使用Firebug,添加幾個標簽,並檢查列表的LI元素內部,看看是否正在創建任何隱藏的INPUTS。

同時檢查是否報告了任何JS錯誤。

經測試解決:

<form action="<?=$PHP_SELF?>" method="post">        
        <div class="line">
            <label for="tags">Tags</label>
            <ul id="mytags" name="item[tags][]"></ul>
        </div>      
       <input name="submit" value="Submit" type="submit" />
</form>

這是PHP部分:

    <?
        if ($_POST[submit]) {

    $tags = $_POST["item"]["tags"];
foreach($tags as $i=>$v)
{
     $tagsf .= $v;
     if($i < (count($tags)-1))
    $tagsf .= ",";
}

echo $tagsf;
//This shows the tags with ",". Example: dog,cat,bird,onion

        }

    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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