Bin Anfängerin, also geht nicht zu hart mit mir um.
Ich möchte eine Klasse schreiben, um die Inhalte von zwei verschiedenen Formularen in die jeweilige DB - Tabellen zu speichern.
Datenbankverbindung ist vorhanden.
classDaten.php
Die Datei wird in der Datei (neuerKunde.php) included.
neuerKunde.php
Formular neuerKunde.php
Es wird mir folgender Fehler angezeigt:
Warning: Invalid argument supplied for foreach() in … include\classDaten.php on line 11
Was mach ich falsch, was muss ich ändern, damit das funktioniert?
Ich möchte eine Klasse schreiben, um die Inhalte von zwei verschiedenen Formularen in die jeweilige DB - Tabellen zu speichern.
Datenbankverbindung ist vorhanden.
classDaten.php
PHP-Code:
<?php
class daten
{
function insert($table, $inserts)
{
if (isset( $_POST['speichern'] ))
{
$i = 0;
$insert = "INSERT INTO ".$table." SET ";
foreach ($inserts as $key => $value){
if($i==0)
{
$insert .= $key." = '".$value."'";
$i=1;
}
else
{
$insert .= ", ".$key." = '".$value."'";
}
}
if(mysql_query($insert))
{
print "Daten wurden gespeichert";
}
else
{
print "Es konnten keine Daten gespeichert werden";
}
}
}
}
?>
neuerKunde.php
PHP-Code:
<?php
require_once('include/db.conf.php');
require_once('include/classDB.php');
require_once('include/classDaten.php');
$DbCon = new DB($db_host, $db_user, $db_pass, $database);
$daten = new daten();
$daten->insert('adressen', $insertarray);
$insertarray = array(
'vorname'=>$_POST['vorname'],
'nachname'=>$_POST['nachname']
);
?>
<form name="formular" action="<?php echo $SERVER['PHP_SELF']; ?>" method="POST">
<?php
include "form/neuerKunde.php";
?>
</form>
Code:
<fieldset>
<legend>Ansprechpartner</legend>
<label for="vorname">Vorname </label>
<input type="text" name="vorname">
<label for="nachname">Nachname</label>
<input type="text" name="nachname">
</fieldset>
Warning: Invalid argument supplied for foreach() in … include\classDaten.php on line 11
Was mach ich falsch, was muss ich ändern, damit das funktioniert?

Und Bashing, siehe oben.
Kommentar