добавить элемент в массивобъект с формой

Для лучшего понимания я опишу свою задачу.
Мы должны создать инструмент в php для добавления мобильных телефонов с формой в список один за другим. Позже список должен быть экспортирован в файл CSV / XML. это делается с помощью Arrayobject. Моя проблема в том, что я могу ввести мобильные телефоны с помощью формы, но они будут переопределены и не будут добавлены. Так что в моем списке только один телефон за раз. мой код до сих пор:
HTML:

      <div>
<form name="Eingabe" action="handler.php" method="POST">
<label for="Hersteller">Hersteller</label>
<input id="Hersteller" name="Hersteller" type="text"><br>
<label for="Modell">Modell</label>
<input id="Modell" name="Modell" type="text"><br>
<label for="Preis">Preis</label>
<input id="Preis" name="Preis" type="number" min="1" max="1000"><br>
<label for="Seriennummer">Seriennummer</label>
<input id="Seriennummer" name="Seriennummer" type="text"><br>
<br>
<input name="Senden" type="submit" value="Speichern">
</form>
</div>

Список:

    <?phpclass handy /* extends guid */ {

private $id;
private $hersteller;
private $modell;
private $seriennr;
private $preis;

public function setid($id)
{
$this->id = $id;
}

public function sethersteller($hersteller)
{
$this->hersteller = $hersteller;
}

public function setmodell($modell)
{
$this->modell = $modell;
}

public function setseriennr($seriennr)
{
$this->seriennr = $seriennr;
}

public function setpreis($preis)
{
$this->preis = $preis;
}

public function getid()
{
return $this->id;
}

public function gethersteller()
{
return $this->hersteller;
}

public function getmodell()
{
return $this->modell;
}

public function getseriennr()
{
return $this->seriennr;
}

public function getpreis()
{
return $this->preis;
}

}

?>
<?php
class handyliste extends ArrayObject {

public function addhandy($i, $hdy)
{
$this->offsetSet($i, $hdy);
}
?>

Обработчик:

        $h = new handy();
$h->sethersteller($_POST['Hersteller']);
$h->setid(uniqid());
$h->setmodell($_POST['Modell']);
$h->setpreis($_POST['Preis']);
$h->setseriennr($_POST['Seriennummer']);
$hl = new handyliste();
$hl->addhandy(null, $h);
echo "<table>";
echo "<thead><tr><th>ID</th><th>Hersteller</th><th>Modell</th><th>Seriennummer</th><th>Preis</th></tr></thead>";
foreach ($hl as $h)
{
echo "<tr><td>";
echo $h->getid() . "</td><td>";
echo $h->gethersteller() . "</td><td>";
echo $h->getmodell() . "</td><td>";
echo $h->getseriennr() . "</td><td>";
echo $h->getpreis() . "€</td></tr>";
}
echo "</table>";

Я надеюсь, что кто-то может помочь. я думаю, что с обычным массивом было бы легко, но я никогда раньше не работал с объектами-массивами.

0

Решение

У вас есть что-то вроде:

$hl = new handyliste();

Теперь, в конце вашего кода, после заполнения данных вы можете сделать что-то вроде:

$_SESSION['hl'] = $hl;

Чтобы использовать сессии, вы должны иметь в верхней части кода строку:

session_start();

Начнется или продолжится сеанс.
Теперь, прежде чем делать

$hl = new handyliste();

Вы должны проверить что-то вроде:

$hl = $_SESSION['hl'];

И только добавлять элементы, вы можете, если не работает, привести список (пример), это сэкономит на сессиях, и вы можете увидеть эти переменные на каждой странице, которая имеет (session_start ();) для получения дополнительной информации о сессиях, пожалуйста, обратитесь к php.net

0

Другие решения

Других решений пока нет …