Textarea内容有时不包含在$ _POST数组中,但在其他时间。

问题描述:

我一直在为自己的网站开发自己的CMS。只是为了测试PHP。 无论如何,一切工作正常,然后突然间,我有这个问题输入内容的文章。

我使用JQuery markItUp插件进行文本编辑。它正在工作,然后突然间,主文章不会进入数据库。

这里是形式:

<form action="" method="post" name="action"> 
        <tr> 
         <td><label for="title" >Article Title </label></td> 
         <td><input type="text" name="title" class="admintableinput"></td> 
        </tr> 
        <tr> 
         <td><label for="author" > Author </label></td> 
         <td><input type="text" name="author" class="admintableinput"></td> 
        </tr> 
        <tr> 
         <td><label for="summary" > Summary </label></td> 
         <td><textarea name="summary" class="admintableinput"></textarea></td> 
        </tr> 
        <tr> 
         <td><label for="content" >Article Content </label></td> 
         <td><textarea name="content" id="default" class="admintableinput"></textarea></td> 
        </tr> 
        <tr> 
         <td><label for="Category1" > Category </label></td> 
         <td><select name="Category1" id="category1" class="admintableinput"> 
          <?php $categories = getCategoryNames(); 
          foreach($categories as $category){ ?> 
           <option value="<?php echo "" . $category['id'] . "" ; ?>"><?php echo "" . $category['category'] . "" ; ?></option> 
          <?php } ?> 
         </select></td> 
        </tr> 
        <tr> 
         <td><label for="image" > Image </label></td> 
         <td><input type="text" name="image" class="admintableinput"></td> 
        </tr> 
        <tr>      
         <td><input type="submit" name="action" value="Save Article" class="adminbutton" /></td> 
         <td><input type="reset" formnovalidate name="action" value="Reset" class="adminbutton" /></td> 
        </tr> 
       </table> 
      </form> 

我使用var_dump($ _ POST)有和没有插件。 插件var_dump没有注册文章内容,没有它。它始终包含每个其他字段中的值。

有没有人知道为什么会发生这种情况?

我试过完全删除并再次添加插件。

这可能是textarea的问题吗?

任何帮助表示赞赏。我不认为这是一个PHP问题。

+0

您是否尝试更改字段的名称和ID?名称冲突可能是“内容”是一个常见词。所以把它称为“ArticleContent”或什么? – Robbie

+0

我已将名称更改为articlecontent,但它仍然无效。我改变了ID。没有运气。它只发生在插件上。它工作正常 –

看来,你的javascript没有填写内容到表单提交时的textarea。

您应该安装名为Fiddler的HTTP调试代理来查看已提交给PHP脚本的内容。

+0

我已经安装了提琴手,它也连接localhost,你能告诉我如何看到提交的内容。 print_r显示textarea甚至没有被$ _POST数组识别 –

+0

1.在fiddler 2的左列中选择会话(http请求)。2.单击“Inspectors”选项卡右侧的fiddler列,您将看到两个部分在右栏:顶部和底部。最重要的是Request,底部是Response。 3.在顶部,单击“WebForms”(或TextView,或Raw,WebForms更易于阅读)以查看已提交给服务器端的内容。 – lotusphp