Fügen Sie Daten mit dem Formular
-
-
Haben Sie der Newsletter-Tabelleein Präfix hinzugefügt?Have you added any prefix to newsletter table?
- 0
- 2013-03-14
- Vinod Dalvi
-
Präfix hinzufügen wogenau?Die Tabellein der Datenbank hat das Präfixadding prefix where exactly? the table in database have prefix
- 0
- 2013-03-14
- pixelweb
-
vor dem Tabellennamen,weil Sie dieses Präfix $table_name=$ wpdb-> verwendet haben."Newsletter";in Ihrem Code,der das WordPress-Präfix vor dem Tabellennamen-Newsletter hinzufügt. Wenn Sie also dem Tabellennamen kein Präfix hinzugefügt haben,verwenden Sienur den Tabellennamen wie diesen $table_name="newsletter";before table name because you have used this $table_name = $wpdb->prefix . "newsletter"; in your code which adds wordpress prefix before the table name newsletter so if you have not added any prefix to table name than only use table name like this $table_name = "newsletter";
- 0
- 2013-03-14
- Vinod Dalvi
-
Diebeiden Variablen `name` und`email` sindinnerhalb der Funktion ** unbekannt **.Siemüssen sieentwederinnerhalb der Funktion definieren oder,wenn sie an anderer Stellebenötigt werden,als "global" deklarieren (sowohl außerhalb als auchinnerhalb der Funktion).The two variables `name` and `email` are **unknown** inside the function. You have to either define them inside the function, or if they are needed elsewhere, declare them `global` (both _outside_ and _inside_ the function).
- 0
- 2013-03-14
- tfrommen
-
@ VinodDalvi: Ich habe das Präfixfür die Tabellein der Datenbank hinzugefügt.@VinodDalvi : i added th eprefix for table in database.
- 0
- 2013-03-14
- pixelweb
-
Ich habe den Namen und die E-Mail-Funktion definiert,aberespassiertnichts.i defined the name and email inside function but nothing happen.
- 0
- 2013-03-14
- pixelweb
-
Welches Präfix haben Sie der Tabelle hinzugefügt?Sagen Siemir den vollständigen Tabellennamenmit Präfix.What is the prefix you have added to the table? tell me the full table name with prefix.
- 0
- 2013-03-15
- Vinod Dalvi
-
1 Antworten
- Stimmen
-
- 2013-03-14
Diebeiden Variablen
$name
und$email
sindin der Funktion unbekannt. Siemüssen sieglobal verfügbarmachen,indem Sieglobal $wpdb
inglobal $wpdb, $name, $email
ändern:require_once('../../../wp-load.php'); /** * After t f's comment about putting global before the variable. * Not necessary (http://php.net/manual/en/language.variables.scope.php) */ global $name = $_POST['name']; global $email = $_POST['email']; function insertuser(){ global $wpdb, $name, $email; $table_name = $wpdb->prefix . "newsletter"; $wpdb->insert($table_name, array('name' => $name, 'email' => $email) ); } insertuser();
Oder Sie können die Variablenin die Argumente der Funktioneinfügen:
require_once('../../../wp-load.php'); $name = $_POST['name']; $email = $_POST['email'] function insertuser( $name, $email ) { global $wpdb; $table_name = $wpdb->prefix . 'newsletter'; $wpdb->insert( $table_name, array( 'name' => $name, 'email' => $email ) ); } insertuser( $name, $email );
Oder ohne Funktion:
require_once('../../../wp-load.php'); global $wpdb; $name = $_POST['name']; $email = $_POST['email']; $table_name = $wpdb->prefix . "newsletter"; $wpdb->insert( $table_name, array( 'name' => $name, 'email' => $email ) );
The two variables
$name
and$email
are unknown inside the function. You have to make them globally available inside it by changingglobal $wpdb
intoglobal $wpdb, $name, $email
:require_once('../../../wp-load.php'); /** * After t f's comment about putting global before the variable. * Not necessary (http://php.net/manual/en/language.variables.scope.php) */ global $name = $_POST['name']; global $email = $_POST['email']; function insertuser(){ global $wpdb, $name, $email; $table_name = $wpdb->prefix . "newsletter"; $wpdb->insert($table_name, array('name' => $name, 'email' => $email) ); } insertuser();
Or, you can put the variables in the function's arguments:
require_once('../../../wp-load.php'); $name = $_POST['name']; $email = $_POST['email'] function insertuser( $name, $email ) { global $wpdb; $table_name = $wpdb->prefix . 'newsletter'; $wpdb->insert( $table_name, array( 'name' => $name, 'email' => $email ) ); } insertuser( $name, $email );
Or, without function:
require_once('../../../wp-load.php'); global $wpdb; $name = $_POST['name']; $email = $_POST['email']; $table_name = $wpdb->prefix . "newsletter"; $wpdb->insert( $table_name, array( 'name' => $name, 'email' => $email ) );
-
Das habeichgeschrieben.;) Ich habeimmernoch Probleme,wannicheinen Kommentar schreiben soll und wannesfüreine Antwort ausreicht.;) Die Variablenmüssenjedoch außerhalb der Funktionnoch als "global" deklariert werden.That's what I wrote. ;) I'm still having issues with when to write a comment and when it's enough for an answer. ;) The variables still have to be declared `global` _outside_ the function, though.
- 0
- 2013-03-14
- tfrommen
-
Haha,ja,ich habe Ihren Kommentargesehen,nachdemichmeine Antwortgepostet habe :-) Meine Regel zum Kommentieren/Beantworten lautet: Wenn OPmehr alseine Regelim Code ändernmuss,antworten Sieimmer ;-) Ichfüge dem "global" hinzuVariablen `$name` und` $email`Haha, yes I saw your comment after I posted my answer :-) my rule of commenting/answering is, if OP has to change more than one rule in the code, always answer ;-) I'll add `global` to the variables `$name` and `$email`
- 1
- 2013-03-14
- Mike Madern
-
Ah,okay,Sie scheinenmit dem Bereich richtig zu sein (dennin diesem Fallist _outside_ die Funktion ** derglobale Bereich und keine Klasse).Wenn Siejedoch die Variablenglobal deklarieren (was Siejetztbeschlossen haben),müssen Sie zuerst deklarieren und dann (in dernächsten Zeile odernacheinem Semikolon)einen Wertfestlegen.Ah, okay, you seem to be right with the scope (because in this case, _outside_ the function **is** the global scope, and not a class). However, if you declare the variables global (what you decided to do now), you first have to declare, and then (in the next line, or after a semicolon) set a value.
- 0
- 2013-03-14
- tfrommen
-
Wenn der Benutzer auf "Formular senden" klickt,verweist die Aktion des Formulars aufeinen Dateiaufruf: regiostration-form.phpin dieser Datei Ich habejetzt diesen Code: ` Präfix."Newsletter"; $ wpdb->insert ($table_name,array ('name'=> $name,'email'=> $email)); }} ?> ` aberesfunktioniertnicht wieder.stimmtetwasnichtwhen user click on submit form the form's action refer to an file call :regiostration-form.php in this file i have this code now: `prefix . "newsletter"; $wpdb->insert($table_name, array('name' => $name, 'email' => $email) ); } ?> ` but it does not work again. anything wrong?
- 0
- 2013-03-14
- pixelweb
-
Sie rufen die Funktion "insertuser ()" auf,nachdem Sie die Funktion deklariert haben?You do call the `insertuser()` function after you declare the function?
- 0
- 2013-03-14
- Mike Madern
-
@MikeMadernmussich schreiben: 'insertuser ()'nach Funktion?@MikeMadern do i have to write: 'insertuser()' after function?
- 0
- 2013-03-14
- pixelweb
-
Das Definiereneiner Funktionführt sienicht automatisch aus.Siemüssen die Funktion aufrufen,um sie auszuführen.Siehe den Codein meiner Antwort ;-)defining a function doesn't automatically executes it. You have to call the function in order to execute. See the code in my answer ;-)
- 0
- 2013-03-14
- Mike Madern
-
Ich habe Ihren Code verwendet,aberich habe zwei Fehlererhalten: Hinweis: "Versuch,die Eigenschafteines Nichtobjektsin Zeile 8 abzurufen" und "Schwerwiegender Fehler: Aufrufeiner Mitgliedsfunktioninsert ()fürein Nichtobjektin Zeile 9"i used your code but i got two errors: Notice: `Trying to get property of non-object in line 8` and `Fatal error: Call to a member function insert() on a non-object in line 9`
- 0
- 2013-03-14
- pixelweb
-
Esist keine von WordPressgeladene Datei,oder?`erfordern` die` wp-load.php` Datei über Ihrem Skript,um die WordPress Bibliothek zu laden.It isn't a file loaded by WordPress right? `require` the `wp-load.php` file on top of your script to load the WordPress library.
- 0
- 2013-03-14
- Mike Madern
-
Ich habe diesen Code verwendet undgutfunktioniert: ` Präfix."Newsletter"; $ wpdb->insert ($table_name,array ('name'=> $name,'email'=> $email)); ?> `Danke an alle Jungs,besonders an Mike Maderni used this code and worked fine: `prefix . "newsletter"; $wpdb->insert( $table_name, array( 'name' => $name, 'email' => $email ) ); ?> ` Thanks all guys specially Mike Madern
- 0
- 2013-03-14
- pixelweb
-
Ja,bitte aktualisieren Sie die Antwortmit der vollständigen Antwort,dann werdeich sie akzeptieren.Mitfreundlichen Grüßenyes, please update the answer with complete answer then i will accept it. Sincererly
- 0
- 2013-03-14
- pixelweb
-
Ich habemeine Antwortfür dich aktualisiert;)I updated my answer for you ;)
- 0
- 2013-03-15
- Mike Madern
Ich schreibeein einfaches Plugin,daseine Tabellemit dem Namen "Newsletter"in der Datenbankerstellt undeinen Shortcode zum Einfügeneines Registrierungsformularsin Seitenbereitstellt. Das Formularenthält "Name" und "E-Mail". Ich habe Problemebeim Einfügen der Formulardaten (Name + E-Mail)in die Datenbank. Ich schrieb dies:
aberidfunktioniertnicht.Was sollichtun,um Daten aus dem Formular abzurufen undin die Tabelleeinzufügen?