Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: массивы
Форумы портала PHP.SU » » Вопросы новичков » массивы

Страниц (1): [1]
 

1. amf1k - 27 Мая, 2013 - 22:25:13 - перейти к сообщению
Есть 4 инпута
index.php

<form action="post.php" method="POST">
<input type="text" name="name[1]">
<input type="text" name="name[2]">
<input type="text" name="surname[1]">
<input type="text" name="surname[2]">
</form>

обработчик post.php в него я передаю 4 элемента в массивы $_POST и использую цикл "переберем все значения".

<?php

$n = count($_POST['name']);

$key = array_keys($_POST['name']);

for($i=0; $i < $n; $i++){
echo $_POST['name'][$key[$i]]."<br>";

}

?>

Элементы в массиве $_POST['name'] выводятся отлично, а как сделать чтобы выводились и элементы в массиве $_POST['surname'] ?

Пример:

<input type="text" name="Вася">
<input type="text" name="Петя">
<input type="text" name="Иванов">
<input type="text" name="Петров">

при обработке должно получится

Имя - Вася, Фамилия - Иванов
Имя - Петя, Фамилия - Петров

Подскажите???
2. DelphinPRO - 27 Мая, 2013 - 23:23:51 - перейти к сообщению
ладно, ловите код

CODE (html):
скопировать код в буфер обмена
  1. <form action="post.php" method="POST">
  2.     <input type="text" name="person[1][name]">
  3.     <input type="text" name="person[2][name]">
  4.     <input type="text" name="person[1][surname]">
  5.     <input type="text" name="person[2][surname]">
  6. </form>


PHP:
скопировать код в буфер обмена
  1. $persons = $_POST['person'];
  2.  
  3. foreach ($persons as $person) {
  4.     echo 'Имя - '.$person['name'].', Фамилия - '.$person['surname'].'<br>';
  5. }
3. amf1k - 28 Мая, 2013 - 00:05:34 - перейти к сообщению
DelphinPRO пишет:
ладно, ловите код

CODE (html):
скопировать код в буфер обмена
  1. <form action="post.php" method="POST">
  2.     <input type="text" name="person[1][name]">
  3.     <input type="text" name="person[2][name]">
  4.     <input type="text" name="person[1][surname]">
  5.     <input type="text" name="person[2][surname]">
  6. </form>


PHP:
скопировать код в буфер обмена
  1. $persons = $_POST['person'];
  2.  
  3. foreach ($persons as $person) {
  4.     echo 'Имя - '.$person['name'].', Фамилия - '.$person['surname'].'<br>';
  5. }


ОШИБКА

Notice: Undefined index: person in v:\home\site\www\3\post.php on line 2
[Денвер: показать возможную причину ошибки]
Warning: Invalid argument supplied for foreach() in v:\home\site\www\3\post.php on line 4
(Добавление)
сорри, все работает идеально! А как загнать теперь этот массив в БД mysql?
4. DelphinPRO - 28 Мая, 2013 - 00:53:36 - перейти к сообщению
amf1k пишет:
А как загнать теперь этот массив в БД mysql?

К сожалению, это невозможно...
5. LIME - 28 Мая, 2013 - 00:58:25 - перейти к сообщению
читать как
«достал с элементарными вопросами
хоть бы книжку прочитал
гори в аду»

 

Powered by ExBB FM 1.0 RC1