---
title: "Spara undan en array från en form"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/145354-spara-undan-en-array-från-en-form"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "swede"
published: "2006-04-11T08:03:28.000Z"
updated: "2006-04-11T11:05:46.000Z"
replies: 4
views: 366
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/145354-spara-undan-en-array-från-en-form"
---

# Spara undan en array från en form

## #1 — swede, 2006-04-11T08:03Z

Jag har en form, där jag försöker lagra undan data i en array,
för att sedan spara ned den i en databas.

Min HTML form:

```php
<form method="POST" action="index.php" >
  Namn : <input type="text" name="name" /><br/>
  Adress : <input type="text" name="addr" /><br/>
  Husdjur :<br/>
  Namn : <input type="text" name="pets[]" /><br/>
  Namn : <input type="text" name="pets[]" /><br/>
  Namn : <input type="text" name="pets[]" /><br/>
  <input type="submit" name="Skicka" />
</form>
```

  

PHP scriptet för att spara datat:

```php
$owner = "INSERT INTO owner (name, addr) VALUES ('$name','$addr')";
mysql_query($owner) or die("Could not update owner db");

if (!empty($pets)) {
  $owner_id = mysql_insert_id();

  for ($i = 0; $i=count($pets); $i++) {
    $pets = "INSERT INTO pet (owner_id, name) VALUES ('$owner_id', '$pets[$i]')";
    mysql_query($pets);
  }
}
```

 

Det trista är att jag inte får någon vettig data från arrayen,
så jag måste göra något general fel någonstans.

Skulle vara tacksam om någon kunde berätta var jag gjort bort mig.

Permalänk: https://www.webforum.nu/p/145354

## #2 — Matte, 2006-04-11T08:46Z

```php
for ($i = 0; $i < count($pets); $i++) {
```

Det andra argumentet blir aldrig sant, därför går du aldrig in i for-satsen.

Sedan skulle jag rekommendera att du använde dig av $\_POST-arrayen istället.
Det är inte bara en god vana, utan allt fler webbhotell börjar dessutom ha register_globals Off.

Permalänk: https://www.webforum.nu/p/1795754

## #3 — swede, 2006-04-11T08:59Z

Förstår inte hur du menar...

Jag hämtar ut post datat lite högre upp i koden:

```php
$name = $_POST['name'];
$addr = $_POST['addr'];
$pets[] = $_POST['pets[]'];
```

 

Är inte det rätt?

Dessutom gör min loopå någon form av insert för jag brukar
få lite skräp i min databas tabell:

```php
mysql> select * from pet;
+--------+----------+------+
| id     | owner_id | name |
+--------+----------+------+
| 716883 |       12 |      |
+--------+----------+------+
1 row in set (0.00 sec)
```

Men jag har angett 3 värden i min array...

Permalänk: https://www.webforum.nu/p/1795760

## #4 — The_Hulk, 2006-04-11T11:01Z

du ska inte ha med \[\] på variablen, då lägger du väret på nästa position i arrayn, det blir då en array med längen 1 som i sin tur innehåller en array.
sen bör du nog även skicka med ID för arrayn i din HTML-kod

```
  Namn : <input type="text" name="pets[0]" /><br/>
  Namn : <input type="text" name="pets[1]" /><br/>
  Namn : <input type="text" name="pets[2]" /><br/>
```

för att hämta ut värdena

```php
$pets = $_POST['pets'];
```

Permalänk: https://www.webforum.nu/p/1795792

## #5 — Matte, 2006-04-11T11:05Z

```php
$pets = $_POST['pets'];
```

Men varför ska du överhuvudtaget lägga över värden från en variabel till en annan?

Permalänk: https://www.webforum.nu/p/1795796

---

Tråden på webben: https://www.webforum.nu/amne/php/145354-spara-undan-en-array-från-en-form
