Hallo,
ich absoluter Neuling was Extensionprogrammierung betrifft und so hab ich mich mit dem Kickstarter versucht. Auf Eurer Seite habe ich folgenden Code gefunden und in class.tx_embooking_pi1.php eingefügt:
function main($content, $conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->id=$GLOBALS['TSFE']->id;
$content = '<span>Test</span>
<form action="index.php?id=3" name="booking" method="POST" enctype="multipart/form-data">
<input name="name" />
<input type="submit" name="absenden" value="eintragen" />
</form>';
if(t3lib_div::_GP('absenden')=='eintragen') {
$fields_values=array(
'pid' => '0',
'crdate' => time(),
'tstamp' => time(),
'name' => t3lib_div::_GP('name')
);
$res = $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_embooking_embooking',$fields_values);
$content = '<span>Daten wurden hinzugefügt</span>';
}
return $this->pi_wrapInBaseClass($content);
}
Im Frontend wird das Inputfeld angezeigt, jedoch schreibt die Extension nichts in die Datenbank (in welcher bereits über das Backend 3 Datensätze angelegt wurden).
Ich bin für jede Hilfe dankbar.
VG
Michael
PS: Typo3 Version 4.7.2
Dein Formular sendet Post Parameter, aber in deiner main function greifst du auf Get Parameter zu. 😉
Bei mir funktioniert dein Code. Ist denn auf der Seite mit der ID 3 (Action vom Formular) auch deine Ext. eingebunden? Wird der Code in deiner if-Anweisung ausgeführt, d.h. hast du dann im Frontend "Daten wurden hinzugefügt" stehen
Thomaslav schrieb
Dein Formular sendet Post Parameter, aber in deiner main function greifst du auf Get Parameter zu. 😉
Wo?
TYPO3-API schrieb
_GP
Returns the 'GLOBAL' value of incoming data from POST or GET, with priority to POST (that is equalent to 'GP' order) Strips slashes from all output, both strings and arrays. This function substitutes t3lib_div::GPvar() To enhancement security in your scripts, please consider using t3lib_div::_GET or t3lib_div::_POST if you already know by which method your data is arriving to the scripts! Usage: 537
TYPO3-API schrieb
_GP
Returns the 'GLOBAL' value of incoming data from POST or GET, with priority to POST (that is equalent to 'GP' order) Strips slashes from all output, both strings and arrays. This function substitutes t3lib_div::GPvar() To enhancement security in your scripts, please consider using t3lib_div::_GET or t3lib_div::_POST if you already know by which method your data is arriving to the scripts! Usage: 537
Ok, mein Fehler. Dachte die Funktion liefert nur Get Parameter.
Hallo,
entschuldigt die Verspätung, und danke für Eure raschen Antworten.
Also die Extension liegt auf der Seite mit der ID 3 und so wie's aussieht geht er nicht in die if-Schleife...
Ich habs nochmal auf einer komplett leeren Seite ID 10 probiert und auch da wird nix in die DB geschrieben und die if-Schleife auch nicht aufgerufen...
Viele Grüße
Michael
Hallo zusammen,
nun funktioniert es. Es lag am Inhalt der gecached wurde (und in welchem ich einen Fehler hatte). Nachdem ich das Caching der Seite deaktiviert habe funktioniert der oben stehende Code einwandfrei.
Trotzdem vielen Dank nochmals.
leg deine extension als USER_INT an, dann brauchst du das caching nicht abstellen.