Frage von KillermasterxD, 34

Warum fügt dieser Code nichts in die DB ein?

        Neuer Bericht in Newsletter einfügen:<br />
        <form action="?send=1" method="post">
        Titel:<br />
        <input type="text" name="titel" minlength="5" maxlength="20"><br />
        Text:<br />
        <input type="text name="text" minlength="10" maxlength="100"><br />
        <input type="submit" name="senden" value="senden">
        <h2>Nach dem erfolgreichen Senden werden sie ausgeloggt</h2>
        </form>');
        $titel = $_POST['titel'];
        $text = $_POST['text'];
        $statement = $pdo->prepare("INSERT INTO newsletter (titel, text) VALUES ($titel, $text)");
        $statement->execute(array($titel, $text));
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von LeonardM, 21

Zb $titel in pdo prepare sollte :titel heißen und bei execute dann array("titel" => $titel) usw. Übrigens ist kein verweis zum verbindungsaufbau bzw dem objekt pdo vorhanden (deklaration + definition). Wenn du nach html php ausführen lassen willst musst du den code mit beenden

Kommentar von KillermasterxD ,

pdo ist ganz weit oben schon eingebaut da es admin-area ist ist halt hier noch nicht drauf und das html ist mit die('...') da der Text sonst zu lange wäre

Kommentar von LeonardM ,

$user muss mit $result->fetchObject etc angegeben werden und nicht mit $statement

Kommentar von LeonardM ,

wenn du fetchObject verwendest könntest du zb sie daten (zb spalte email) via $user->email weiterverarbeiten lassen

Antwort
von RakonDark, 24

Gute Frage. So ohne Fehlerbehandlung Ausgabe kann es alles mögliche sein. Guck doch mal bei PDO nach wie man mit Try and Catch einen Fehler ausgibt. Und den kannst Du dann hier Posten.

Antwort
von KillermasterxD, 15

Db: CREATE TABLE IF NOT EXISTS `newsletter` (
`titel` varchar(20) NOT NULL,
`text` varchar(40) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Antwort
von KillermasterxD, 9

Der ganze Code:

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten