Значения PHP $ _POST - PullRequest
       28

Значения PHP $ _POST

0 голосов
/ 30 сентября 2011

У меня небольшая проблема с хранением данных $ _POST, думаю, что я немного запутываю себя.

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

id1, id2, id3 points1, points2, points3

для сбора.Теперь я использую цикл for, чтобы просмотреть данные и разместить их в двух массивах для работы.Проблема в том, что когда я хочу сохранить данные, мне нужно использовать одно из имен, перечисленных выше, т.е. id1 или id2.Вот мой код

for($i = 0; i< $_POST['count']; i++){
    //Order input data into an array
    $inputid[$i] = $_POST['id1'];

}

Теперь числовая часть 'id' $ _POST ['id1'] должна быть такой же, как $ i в цикле for, поэтому она будет увеличиваться как циклделает.

Спасибо за помощь, и я надеюсь, что я правильно объяснил вопрос.

Ответы [ 7 ]

2 голосов
/ 30 сентября 2011

Почему бы не назвать входные данные: name="id[1]" и name="points[1]", чтобы у вас были массивы $_POST['id'][...] и $_POST['points'][...] для работы?

Ссылка: Переменные из внешних источников (в частности Пример # 3 ).

1 голос
/ 30 сентября 2011

Во-первых, не используйте переменные POST в циклах или что-либо еще, если вы сначала не проверили их, чтобы убедиться, что они не содержат ничего противного.

Вы можете попробовать это в цикле:

$idnumber = "id" . $i;
$inputid[$i] = $_POST[$idnumber];
0 голосов
/ 30 сентября 2011

Я думаю, вы можете пойти на что-то вроде этого:

for($i = 0; $i< $_POST['count']; $i++){
//Order input data into an array
$inputid[$i] = $_POST["id$i"];
}

Это то, что вы хотите?

0 голосов
/ 30 сентября 2011

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

$value = array($_POST['id1'], $_POST['id2'], $_POST['id3'], $_POST['points1'], $_POST['points2'], $_POST['points3']);

чем цикл такой:

for(x=0;x<$value.count;x++){
    $value[x]=$value.$x;
}

Это должно работать

0 голосов
/ 30 сентября 2011

если я не ошибаюсь, вы хотите, чтобы опубликованный идентификатор был таким же, как и приращение var $, я попробую это

for($i = 0; $i< $_POST['count']; $i++){
    $post_id = 'id'.$i;
    $inputid[$i] = $_POST[$post_id];

}
0 голосов
/ 30 сентября 2011
for($i = 0; i< $_POST['count']; i++){
    //Order input data into an array
    $inputid[$i] = $_POST['id'.$i];

}
0 голосов
/ 30 сентября 2011

Просто объединить строку в индексе:

for($i = 0; i< $_POST['count']; i++){
    //Order input data into an array
    $inputid[$i] = $_POST['id' . ($i+1)];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...