Wir wollen mit typo3 (v.3.8.1) im Frontend ein Eingabe-Formular bereitstellen, dessen Werte über ein PHP-Skript in die Datenbank geschrieben werden sollen.
Wir haben bereits ein kleines Skript geschrieben das Werte über das Datenbank-Abstraktions-Layer erfolgreich in die Datenbank schreibt. Bisher stammen die Werte
allerdings noch aus in Typoscript gesetzten Variablen.
Mit tslib_pibase sind wir nicht zurecht gekommen. Vielleicht liegt es daran, dass wir keine vollständige Extension geschrieben haben, wir kriegen auf jeden Fall entweder
überhaupt keine Rückmeldung von der Funktion oder eine Meldung, dass die tslib_pibase nicht gefunden werden kann.
# Default PAGE object:
page = PAGE
page.config.disableAllHeaderCode = 1
page.typeNum = 0
page.includeLibs.test = fileadmin/bpc_functions/user_inputform.php
page.config.admPanel = 1
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/bpc_templates/standard.html
value.insertData = 1
marks.MENU = USER
marks.MENU.userFunc = user_functions->getMenu
marks.CONTENT = USER
marks.CONTENT.userFunc = user_inputform->genderform
marks.SEARCH = USER
marks.SEARCH.userFunc = user_functions->getSearch
}
<?php
class tx_user_inputform {
var $prefixId = "tx_inputform";
function genderform() {
$url=tslib_pibase::pi_getPageLink($GLOBALS["TSFE"]->id); // Beispielformular entnommen aus
$content='<form method="POST" action="'.$url.'">'; // >>Typo3 - Das Handbuch für Entwickler<<
$content.='<select name="'.$this-">prefixID.'[gender]">';
$content.='<option value="female">Frau</option>';
$content.='<option value="male">Mann</option>';
$content.='</select>';
$content.='<input type="submit" />';
$content.='</form>';
return $content;
}
function putContent($content, $conf) {
$title = strval($conf['title']);
$filedBy = strval($conf['filedBy']);
$object = strval($conf['object']);
$table = "tt_owncontent";
$fields_values = array(title => $title,
filedBy => $filedBy,
object => $object);
$dataset = "<br />\n<b>" . $title . " - " . $filedBy . " - " . $object . "</b><i> in Tabelle: </i><b>" . $table . "</b>";
if ($GLOBALS['TYPO3_DB']->exec_INSERTquery($table, $fields_values)==1) return "Datensatz erfolgreich gespeichert!" . $dataset;
else return "Fehler beim Speichern von Datensatz:" . $dataset;
}
}
?>