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问题。
看来,你的javascript没有填写内容到表单提交时的textarea。
您应该安装名为Fiddler的HTTP调试代理来查看已提交给PHP脚本的内容。
我已经安装了提琴手,它也连接localhost,你能告诉我如何看到提交的内容。 print_r显示textarea甚至没有被$ _POST数组识别 –
1.在fiddler 2的左列中选择会话(http请求)。2.单击“Inspectors”选项卡右侧的fiddler列,您将看到两个部分在右栏:顶部和底部。最重要的是Request,底部是Response。 3.在顶部,单击“WebForms”(或TextView,或Raw,WebForms更易于阅读)以查看已提交给服务器端的内容。 – lotusphp
您是否尝试更改字段的名称和ID?名称冲突可能是“内容”是一个常见词。所以把它称为“ArticleContent”或什么? – Robbie
我已将名称更改为articlecontent,但它仍然无效。我改变了ID。没有运气。它只发生在插件上。它工作正常 –