2013-04-20 7 views
0

У меня есть длинный список переменных с номером в конце. Например, адрес1, и у меня есть весь верхний адрес14. Я хочу опубликовать их из формы, но вместо того, чтобы набирать $ address1 = $ _POST [address1] Я хотел бы создать цикл, который циклически округляется 14 раз и изменяет номер в конце адреса как в имени переменной, так и в $ _POST раздел ...

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

Может кто-нибудь помочь? Спасибо.

Это то, что я в настоящее время:

 $x = 0; 
     while($x < 14) { 
      $address = "address" . $x; 
      $address = $$address; 

      $string = "<p>Address$x:" . $address[0] . "</p>"; 
      echo $string; 
      $x = $x + 1; 

}

+0

что вы подразумеваете под $ _POST - бит? У вас нет формы? Вы пытаетесь создать форму с именами и адресами, которые пользователь должен ввести? И тогда вы хотите получить эти значения с помощью $ _POST. Это то, что вы хотите? – bestprogrammerintheworld

+0

У меня есть форму на другой странице. Он помещает поля как следует, но у меня 14 из того же поля, но имена меняются только на одну цифру, поэтому address1, address2, address3, вплоть до адреса14. Мне нужно создать цикл, чтобы получить их из формы, которая разместила их. Поэтому, когда в верхней части страницы вы создаете новую переменную с функцией $ _POST, мне это нужно, но 14 раз. Например: $ address1 = $ _POST [адрес1], $ address2 = $ _POST [адрес2] и т. Д. До адреса 14. – Ade

+0

$ address [0] to $ address [$ x]? – bestprogrammerintheworld

ответ

2

почему вы не делаете:

for ($i=0; $i < 14; $i++) { 
    $address[$i] = $_POST['address'.$i]; 
} 
0

Попробуйте это:

$addresses = array(); 
for($x = 0; $x <= 14; $x++) 
{ 
    $address_field = "address" . $x; 
    if(array_key_exists($address_field, $_POST)) { 
     $addresses[$x] = $_POST[$address_field]; 
     echo '<p>Address', $x, ': ', $addresses[$x], "</p>\n"; 
    } 
} 
0

Вы также можете используйте синтаксис массива в м:

<input type="text" name="address[1]" /> 
<input type="text" name="address[2]" /> 
<input type="text" name="address[3]" /> 
... up to 14 

В PHP:

$address = $_POST['address']; 

$ адрес теперь массив, содержащий все адреса

+0

в имени вам не нужно указывать элемент. просто name = "address []" для всех элементов будет работать нормально. – Aris

+0

Да, это работает без указания ключей. Просто добавлены для ясности, но они вам не нужны. –

 Смежные вопросы

  • Нет связанных вопросов^_^