• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Formular auslesen und Daten in DB schreiben

LP-Tobi

Mitglied
Hi!
Ich bin gerade dabei mein erstes Wordpress-Plugin zu schreiben.
Der Sinn des Plugins ist erstmal nebensächlich, mache es eigentlich nur
um es zu verstehen und zu lernen. Vielleicht kann ich dann irgendwann mal ein
gescheites schreiben
icon_wink.gif


Aber nun zu meiner Frage:
Mein derzeitiges Plugin stellt ein Formular als shortcode bereit,
daraus möchte ich die Formulardaten in die Datenbank schreiben.
Welche ich später im Backend auslesen will und auf einer extra Backendseite
ausgeben möchte.

Bisher erledigt:
Plugin wird als Plugin erkannt
Plugin hat seine eigene Backendseite
Plugin stellt ein Formular bereit via shortcode

Jetzt hänge ich daran die Formulardaten in die DB zu schreiben.
Kann mir hier jemand helfen? Finde nichts im Netz was mich weiter bringt.

PHP:
<?php function form_creation(){?>
<form action="<?php bloginfo('url')?>/wp-content/plugins/taxi/formular_auswertung.php" method="post">
Dein Name: <input type="text" name="name"><br>
Telefon: <input type="text" name="telefon"><br>
Ich will von: <input type="text" name="von"><br>
Nach: <input type="text" name="nach"><br>
Anmerkungen: <input type="text" name="anmerkung"><br>
<button type="submit">Anfordern</button>
</form>


Schönen Abend noch!
 
Werbung:
Werbung:
Wobei genau helfen

Wonach suchst du? Nach Gummibärchen mit Colageschmack? Solche Aussagen sollte man sich besser verkneifen, denn das Verarbeiten von Formulardaten und speichern in eine DB sind Standardanwendungen, zu denen es endlos viele Tutorials gibt!

Genau das ist wohl der Grund warum ich ungern in Foren schreibe.....
naja, lassen wir das...
 
Genau das ist wohl der Grund warum ich ungern in Foren schreibe.....
Und genau deshalb antworte ich so wie oben. Fakt ist, dass man sehr wohl massenhaft Tutorials zu demThema findet, aber du zeigst ja noch nicht mal einen Ansatz eines Versuches. Poste doch mal, was du versuchst hast. Bisher hat man nur den Eindruck, dass du auf eine fertige Lösung wartest.
 
Hi,

du solltest dich erstmal mit zwei Grundlegenden Sachen beschäftigen.
1. Auswertung des Formulars via get oder post
2. MySql befehle (INSERT, SELECT, etc).

Hier auch je ein Tutorial dazu:

1. http://www.informatikzentrale.de/formulare-get-post-auswerten.html
2. http://www.w3schools.com/php/php_mysql_insert.asp

Eventuell könnte dir auch das noch helfen: http://www.makeuseof.com/tag/working-custom-database-tables-wordpress/

Ich mag dir jetzt nicht den ganzen Code schicken da dort wenig Lerneffekt dabei ist. Wenn du aber deinen Code zusammen gestellt hast kannst du Ihn gerne posten dann könnte ich oder jemand anders ja mal drüber schauen und ggf. Hilfestellung geben.
LG
Eistee - Eiskalt
 
Werbung:
Also ich habe es in der Zwischenzeit nochmal intensiver versucht und bin zu folgendem Ergebnis gekommen....
PHP:
<?php
$con = mysql_connect("localhost", "root", "root") or die ("Keine Verbindung zum MySQL-Server möglich"); 
mysql_select_db("wordpress", $con) or die ("Keine Verbindung zur Datenbank möglich");

if (get_magic_quotes_gpc() == 1)
{
    foreach ($_POST AS $key => $postvar)
        $_POST[$key] = stripslashes($postvar);
}

$_POST['name'] = mysql_real_escape_string($_POST['name']);
$_POST['telefon'] = mysql_real_escape_string($_POST['telefon']);
$_POST['von'] = mysql_real_escape_string($_POST['von']);
$_POST['nach'] = mysql_real_escape_string($_POST['nach']);
$_POST['anmerkung'] = mysql_real_escape_string($_POST['anmerkung']);

$sql = "INSERT INTO `News` (`name`,`telefon`,`von`,`nach`, `anmerkung`)
                    VALUES ('".$_POST['name']."', '".$_POST['telefon']."', '".$_POST['von']."', '".$_POST['nach']."', '".$_POST['anmerkung']."');";

$result = mysql_query($sql,$con);
if (!$result) echo mysql_error();
mysql_close($con);

?>

Damit kann ich die Daten aus dem Formular in die Datenbank schreiben,
jedoch muss ich hier die Datenbank, Nutzer, PW eintragen.... wenn ich das richtig verstanden habe
kann ich doch auch irgendwie mit "global $wpdb; " eine Verbindung aufbauen oder?
 
wenn ich das richtig verstanden habe
kann ich doch auch irgendwie mit "global $wpdb; " eine Verbindung aufbauen oder?
Ich verstehe nicht, was du damit meinst.

Aus der Doku zu den mysql_* Funktionen
Diese Erweiterung ist seit PHP 5.5.0 veraltet und es wird nicht für neuen Code empfohlen, da sie in der Zukunft entfernt wird. Stattdessen sollten entweder die mysqli oder PDO_MySQL Erweiterungen genutzt werden.
 
Ich kenne mich mit WordPress nicht aus aber schau mal, wie WordPress mit der Datenbank verbindet. Vielleicht mit mysqli. Dann brauchst du nur die mysqli-Funktionen benutzen. Oder hat WordPress vielleicht eigene Datenbank-Funktionen?
Wenn die Verbindung zu dem Zeitpunkt wo das Formular aufgerufen wird schon besteht, kannst du dir mysql_connect echt sparen.

Weißt du wo du suchen musst?
Sonst frag echt mal in einem WordPress-Forum.

LG


Gesendet von iPhone mit Tapatalk
 
Werbung:
Zurück
Oben