Support » Allgemeine Fragen » eigenes Plugin schreibt nicht in die Datenbank

  • Folgender Code-Schnipsel ist innerhalb der Abfrage, ob ein Formular abgesendet wurde.
    Das Absenden funktioniert soweit, da als Ergebnis das Array des Formulars angezeigt wird. Leider kommt aber in der Datenbank nichts an.

    Sieht jemand von euch, ob hier irgendein Fehler vorliegt?

    Vielen Dank!

    return $_POST;

    $wpdb->insert(
    $wpdb->prefix.“kontaktliste“,
    array(
    /* ‚ID‘ => “, */
    ‚plz‘ => $eintrag[‚plz‘],
    ’stadt‘ => $eintrag[’stadt‘],
    ‚land‘ => $eintrag[‚land‘],
    ‚vorname‘ => $eintrag[‚vorname‘],
    ’nachname‘ => $eintrag[’nachname‘],
    ‚email‘ => $eintrag[‚email‘],
    ’show_email‘ => $eintrag[’show_email‘],
    ‚info‘ => $eintrag[‚info‘]
    ),
    array(
    /* ‚%s‘, //ID, autoincrement -> sollte leer sein */
    ‚%s‘, //plz*
    ‚%s‘, //stadt*
    ‚%s‘, //land*
    ‚%s‘, //vorname*
    ‚%s‘, //nachname
    ‚%s‘, //email(*)
    ‚%s‘, //show_email -> 0/1 speichert, ob eMail-Adresse angezeigt werden soll
    ‚%s‘ //info
    )
    );

Ansicht von 3 Antworten - 16 bis 18 (von insgesamt 18)
  • Im Frontend ist ja alles ok.
    Im Backend brauchst du ein Script, dass den entsprechenden Datensatz aus der Datenbank holt und die Daten ist das Formular setzt. Wenn du dann z.B. auf „Speichern“ klickst, muss dein Script die Daten aus dem Formular übernehmen und den Datensatz in der Datenbank aktualisieren, sprich, ein Update ausführen.

    Ich würde dir empfehlen, erst einmal solche Sachen außerhalb von WordPress zu testen bzw. damit zu experimentieren, denn es scheint mir, als wenn du in Sachen PHP ganz schön im Nebel stocherst und mit Datenbank-Updates nicht vertraut bist.

    Thread-Starter marcushorndt

    (@marcushorndt)

    Du hast total Recht mit dem Stochern. Bin dabei und will lernen.

    Mir scheint, dass du immer noch etwas anderes verstehst, als ich meine (oder ich ;-). Ich hole derzeit noch keine Daten aus der Datenbank und mache ein Update; jedenfalls nicht auf der Seite/in dem Script/unter dem Shortcode.

    Ich bearbeite einfach nur den WordPress-Beitrag (füge z.B. einen Text vor den Shortcode oder lösche etwas), speichere ihn und rufe den Beitrag auf. Allerdings nicht direkt über die URl, sondern über den WordPress-Userbar-Link: „Beitrag ansehen“. In dem Moment schreibt das Script einen leeren Datensatz in die Datenbank. Da habe ich aber noch nicht auf den „Eintragen“-Button des vom Shortcode/Plugin/Funktion erstellten Formulars geklickt.

    Das check ich nicht. Also ein WordPress-spezifisches Problem, bei dem ich nicht verstehe, in welche Richtung ich schauen soll.

    Schalte mal den Debug-Modus von WordPress ein. In der wp-config.php die Zeile
    define('WP_DEBUG', false);
    ändern in
    define('WP_DEBUG', true);
    Vielleicht bringt das etwas Licht ins Dunkle

Ansicht von 3 Antworten - 16 bis 18 (von insgesamt 18)
  • Das Thema „eigenes Plugin schreibt nicht in die Datenbank“ ist für neue Antworten geschlossen.