Содержимое текстовой области иногда не включается в массив $_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 не регистрирует содержимое статьи, а без него - без регистрации. Он всегда содержит значения в любом другом поле.
Кто-нибудь знает, почему это может произойти?
Я попытался полностью удалить и снова добавить плагин.
Может ли это быть проблемой с текстовой областью?
Любая помощь приветствуется. Я не думаю, что это проблема PHP.
1 ответ
Кажется, ваш javascript не заполняет содержимое в текстовой области при отправке формы.
Вы должны установить HTTP Debug Proxy с именем Fiddler, чтобы увидеть, что было отправлено в скрипт PHP.