Emailformular saveToDB lastInsertId zurückgeben
Auteur : Fritz Muhmenthalerin x5engine.php folgende Ergänzung in saveToDb:
// Save the fields data
$query = "INSERT INTO `" . $table . "` (" . implode(",", $names) . ") VALUES (" . implode(",", $values) . ")";
$db->query($query);
$id = $db->lastInsertId();
$db->closeConnection();
return $id; //true;
Damit wird sichergestellt, dass der korrekte Wert für lastInsertId zurückgegeben wird, wenn gleichzeitig mehrere Anwender ein EmailFormular ausfüllen und absenden.
in imEmailform folgende Ergänzung:
$lastId = $form->saveToDb($db['host'], $db['user'], $db['password'], $db['database'], 'table');
if (!$factno) die("Unable to connect to db");
$location = 'Location: ../bestätigungsseite.html?lastid=' .$lastId;
@header($location);
Mit diesen Anpassungen wird der Autoincrement-Wert an die Bestätigungsseite weitergegben und kann dort z.B. angezeigt (z.B. Bestellnummer, Rechnungsnummer) oder weiterverabeitet werden.