Ich habe noch ein Problem. Wie bekomme ich die Daten aus dem Formular in die DB_Table Klasse?
Mein Formular sieht so aus:
PHP-Quellcode:
public function showForm() {
echo "<form action='index.php?action=save' method='GET'>\n";
echo "<input type=\"hidden\" name=\"action\" value=\"save\">\n";
echo "Name: <input name=\"name\" type=\"text\"></input><br>\n";
echo "Vorname: <input name=\"vorname\" type=\"text\"></input>\n";
echo "<br><br>\n";
echo "<input type=\"submit\" value=\"Speichern\"></input>\n";
echo "</form>\n";
}
Nach dem Abschicken wird in den "save" Zweig der index.php gesprungen:
PHP-Quellcode:
case "save":
echo "Name: ".$name;
DB_Adressen::save();
break;
Aber wie fülle ich jetzt das $fields Array aus meiner DB_Adressen Klasse und wie geht die Zuordnung Tabellenfeld und Wert?
PHP-Quellcode:
class DB_Adressen
extends DB_Table {
static protected $table = '
adressen_data';
protected $fields =
array();
protected $changed =
array();
protected $exists =
false;
public function __construct(
array $fields =
array(), $exists =
false)
{
$this->fields = $fields;
$this->exists = $exists;
}
public function __get($name)
{
return $this->fields[$name];
}
public function __set($name, $value)
{
if ($name == "
id")
throw Exception("
Cannot change ID. Yet.");
array_push($this->changed, $name);
return $this->fields[$name] = $value;
}
public function save() {
echo "
Speichern";
}