В моей форме у меня есть:
Код: Выделить всё
и в моем JS у меня есть:
Код: Выделить всё
var newIDs = [] ;
...
...
newIDs.push(thisID) ;
...
...
document.getElementById('nameIDs).value = newIDs
< /code>
Когда форма отправляется, я вижу три значения в полезной нагрузке:
nameIDs[] : 1106,1135,2110Когда PHP получает информацию:
$nameIDs = $_POST['nameIDs'] ;
echo count($nameIDs)
// outputs "1"
// but the count should be 3
< /code>
ОК, так что, думая, что Php рассматривает все названия как строку с запятыми, которые я делаю: < /p>
$nameIDs = explode(",",$_POST['nameIDs']) ;
echo count($nameIDs) ;
// but this errors out on the `explode` saying that argument #2
// must be a string, but an array was given
< /code>
ОК, так что как дела ... это строка или массив? Если я сделаю: < /p>
$nameIDs = $_POST['nameIDs'] ;
echo $nameIDs ;
// It prints out the warning "Array"
// with no actual values.
< /code>
Так что кажется, что он думает, что это массив, но только с одним значением, поэтому я попробую: < /p>
$nameIDs = $_POST['nameIDs'] ;
foreach ($nameIDs as $id) {
echo "This id is: $id" ;
}
// it prints out just '1106', but not the other two values
< /code>
so...php видит массив только с 1 значением в нем ... Что случилось с двумя другими значениями, которые я ясно вижу, передаются в него? Чего мне здесь не хватает?
Подробнее здесь: https://stackoverflow.com/questions/797 ... processing
Мобильная версия