PHP массив не может POST с другими данными формы

У меня есть массив с именем $ content_ids, который я пытаюсь опубликовать как скрытое поле в форме.

Я узнал, как сделать это из другого ответа здесь, но я не могу заставить его работать.

Вот только некоторые из моих входных данных, включая скрытое поле для массива

echo "<input type=\"hidden\" value=\"1\" name=\"e\">";
foreach($content_ids as $ids)
{
echo "<input type=\"hidden\" value=\"".$ids."\" name=\"ids[]\">";
}
echo "<input type=\"hidden\" value=\"".$content[$x]['TranslationID']."\" name=\"translationID\">";

Попытка print_r ($ _ POST [‘ids’]) ничего не показывает

Пробую это:

if($_POST['ids'] != ""){
echo "hello";
}

тоже ничего не дает. Но остальная часть данных проходит нормально.

Кто-нибудь есть идеи, почему?

Изменить, чтобы добавить: Протестировано, чтобы убедиться, что массив действительно содержит данные в точке размещения их в скрытом поле. распечатка массива непосредственно перед тем, как будет установлено скрытое поле, и все отобразится нормально.

Изменить, чтобы добавить: как массив сделан:

$content_ids = array();
for($i = 0; $i < count($content); $i++)
{
$content_ids[] = array_push($content_ids, $content[$i]['ContentID']);
}

вывод для массива:

Массив ([0] => 2222 [1] => 1 [2] => 1111 [3] => 3)

Я на самом деле не знаю, почему индекс 1 или индекс 3 там. Они не являются частью данных из базы данных. Он должен содержать только 1111 и 2222.

0

Решение

Я запустил этот код и смог получить все опубликованные значения

   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<form action ="" method="POST" >
<?php
//supose your values are
$content_ids = array('10','20');
$x = 1;
$content[$x]['TranslationID'] =20;
// your code
echo "<input type=\"hidden\" value=\"1\" name=\"e\">";
foreach($content_ids as $ids)
{
echo "<input type=\"hidden\" value=\"".$ids."\" name=\"ids[]\">";
}
echo "<input type=\"hidden\" value=\"".$content[$x]['TranslationID']."\" name=\"translationID\">";

?>
<input type="submit" />
</form>
</body>
</html>
<?php print_r($_POST); ?>

Здесь вывод

Array ( [e] => 1 [ids] => Array ( [0] => 10 [1] => 20 ) [translationID] => 20 )
2

Другие решения

Я нашел проблему. Я считаю, что проблема была с созданием массива.

Единственное, что я изменил, было:

$content_ids = array();
for($i = 0; $i < count($content); $i++)
{
$content_ids[] = array_push($content_ids, $content[$i]['ContentID']);
}

И я изменил это на это:

$content_ids = array();
for($i = 0; $i < count($content); $i++)
{
array_push($content_ids, $content[$i]['ContentID']);
}

Я не знаю, как, но, похоже, это исправило как нежелательные индексы в массиве, так и ошибку публикации в качестве скрытого поля.

Теперь я получаю массив успешно как переменную POST. Спасибо всем за помощь

0

По вопросам рекламы [email protected]