Zum Inhalt springen

Zusätzliche Daten speichern beim absenden eines Formulares

Erstellt am 15. Mai 2011 · 2 Antworten · letzte Antwort am 17. Mai 2011

Tags: Frage

trainerth ·

Hallo zusammen,

folgendes Problem treibt mich in den Wahnsinn.

Ich erstelle ein Formular mit Standartwerten.
- Nachricht
- Vorname
- Nachname
- etc

Das passiert alles in der new/create Aktion und wird in der DB gespeichert.
Geht wunderbar.

Zusätzlich soll aber auch die IP nummer des Absenders mit gespeichert werden sowie ein Cookie erstellt und auch dieser soll in der DB laden.

(Nein ich bin nicht google oder co 😉)

Ich sitz da nun schon einige Zeit dran und mittlerweile hab ich keine Ahnung mehr...
Vielleicht wer Rat?

Viele Grüße
Thorsten

xandio ·

Hallo Thorsten!

Ich habe eine sehr ähnliche Anforderung in meinem Programm wie folgt umgesetzt:

1) Modell:

[...]
/**
 * Session-ID
 * @var string $sid
*/
protected $sid;

/**
 * IP-Address
 * @var string $ip
*/
protected $ip;

public function __construct() {
  $this->sid = $GLOBALS['TSFE']->fe_user->id;
  $this->ip = $_SERVER['REMOTE_ADDR'];
}
[...]

2) ext_tables.sql:

CREATE TABLE tx_efempty_domain_model_order (
 [...]
 sid varchar(255),
 ip varchar(255),
 [...]
);

3) ext_tables.php:
(dieses OR-Mapping hast Du möglicherweise vergessen)

$TCA['tx_efempty_domain_model_order'] = array(
  [...]
  'columns' => array(
    'sid' => array(
    'label' => 'Session-ID',
    'config' => array(
        'type' => 'none',
        'size' => '32',
     )
    ),
    'ip' => array(
      'label' => 'IP-Adresse',
      'config' => array(
      'type' => 'none',
      'size' => '39',
       )
    ),
  [...]
)

Hoffentlich hilft Dir das weiter. :-)

Viele Grüße,
Xandi

trainerth ·

Hi Xandi,

erstmal danke!
Das mit der ext_tables.php wußt ich nicht.

Mensch das geht super 😉

Mal sehen on ich nun weiter im Text komme.

Tausend Dank!!!

Viele Grüße