Zum Inhalt springen

Mailformplus -> Daten in DB eintragen

Erstellt am 13. Mai 2009 · 3 Antworten · letzte Antwort am 18. Mai 2009

Tags: Frage

cherry ·

Ich habe ein Formular mit 3 Eingabefeldern. Dazu gibt es eine DB-Tabelle mit mehreren Feldern:

CREATE TABLE `tx_gastbuch` (
  `uid` int(11) NOT NULL auto_increment,
  `pid` int(11) NOT NULL default '0',
  `tstamp` int(11) NOT NULL default '0',
  `crdate` int(11) NOT NULL default '0',
  `cruser_id` int(11) NOT NULL default '0',
  `deleted` tinyint(4) NOT NULL default '0',
  `hidden` tinyint(4) NOT NULL default '0',
  `name` tinytext collate latin1_general_ci,
  `email` tinytext collate latin1_general_ci,
  `nachricht` text collate latin1_general_ci NOT NULL,
  `kommentar` text collate latin1_general_ci,
  `IP-Adresse` int(18-) NOT NULL,
  PRIMARY KEY  (`uid`),
  KEY `parent` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;

Wenn ich nun die Felder ausgefüllt habe, möchte ich die Daten natürlich in die Datenbanktabelle einfügen.

Ich verweise auf eine fest Seiten-ID (index.php?id=81) und auf dieser Seite steht dann folgender Code:

<?php
$name = $_post['name'];
$email = $_post['email'];
$nachricht = $_post['nachricht'];
$nachricht = strip_tags($nachricht);
$ipadresse = $_post['ipadresse'];
$Kommentar = "";
$L = $_post['L'];
$crdate = time();


  $eingabe = "INSERT INTO tx_gastbuch (uid,pid,tstamp,crdate,cruiser_id,deleted,hidden,name,email,nachricht,kommentar,IP-Adresse)
              VALUES
('$uid','$pid','$tstamp','$crdate','$cruiser_id','$deleted','$hidden','$name','$email','$nachricht','$kommentar','$ipadresse')";
  mysql_query($eingabe);
  ?>

Nur eingetragen wird nichts. Wie geht sowas denn korrekt?

cherry ·

Danke erstmal!
Ich habe jetzt folgendes im TS stehen:

plugin.tx_thmailformplus_pi1 {
    saveDB = 1
    saveDB {
        dbTable=tx_gastbuch
        dbinsert=hidden:0,deleted:0
       dbkey=uid
mapping=pid:pid,tstamp:tstamp,crdate:crdate,cruiser_id:cruiser_id,name:name,email:email,nachricht:nachricht,IP-Adresse:IP-Adresse
    }
}

Es wird kein Eintrag in die DB getätigt. Lasse ich das Wort "mapping" weg, wird ein Eintrag gemacht, aber halt ohne Inhalt.

cherry ·

So jetzt geht es, aber wie zum Teufel bekomme ich einen TIMESTAMP und die IP-ADRESSE in die Felder (timestamp,IP-Adresse)?

plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
dbTable=tx_gastbuch
dbinsert=hidden:0,deleted:0
dbkey=uid
fields {
name.mapping = name
nachricht.mapping = nachricht
email.mapping = email
}
}
specialMapping = 1
    specialMapping {
       sub_datetime = tstamp
        tstamp = 1
        logIP = [IP-Adresse]
    }
}