Inserisci i dati nel database usando il form
-
-
Hai aggiunto unprefisso allatabella dellanewsletter?Have you added any prefix to newsletter table?
- 0
- 2013-03-14
- Vinod Dalvi
-
aggiungendoilprefisso doveesattamente?latabellanel database hailprefissoadding prefix where exactly? the table in database have prefix
- 0
- 2013-03-14
- pixelweb
-
prima delnome dellatabellaperché hai usato questo $nome_tabella=$ wpdb->prefisso."newsletter";neltuo codice che aggiungeilprefisso wordpressprima delnome dellatabellanewsletter quindi senon hai aggiunto alcunprefisso alnome dellatabella,usa soloilnome dellatabella come questo $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
-
Le due variabili `name`e`email` sono ** sconosciute ** all'interno dellafunzione.Devi definirli all'interno dellafunzione,o se sononecessari altrove,dichiararli "globali" (sia _outside_ che _inside_ lafunzione).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: ho aggiuntoilprefissoper latabellanel database.@VinodDalvi : i added th eprefix for table in database.
- 0
- 2013-03-14
- pixelweb
-
ho definitoilnomee l'email all'interno dellafunzionemanon è successonulla.i defined the name and email inside function but nothing happen.
- 0
- 2013-03-14
- pixelweb
-
Qual èilprefisso che hai aggiunto allatabella?dimmiilnome completo dellatabella conilprefisso.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 risposta
- voti
-
- 2013-03-14
Le due variabili
$name
e$email
sono sconosciute all'interno dellafunzione. Devi renderliglobalmente disponibili al suointerno cambiandoglobal $wpdb
inglobal $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();
Oppurepuoiinserire le variabilinegli argomenti dellafunzione:
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 );
Oppure,senzafunzione:
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 ) );
-
È quello che ho scritto.;) Ho ancoraproblemi con quando scrivere un commentoe quando è sufficienteper una risposta.;) Le variabili devono ancoraessere dichiarate `global` _outside_ lafunzione,però.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,sì,ho vistoiltuo commento dopo averpubblicato lamia risposta :-) lamia regola di commentare/rispondere è,se OP deve cambiarepiù di una regolanel codice,rispondi sempre ;-) Aggiungerò "global" alvariabili `$nome`e` $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,ok,sembra chetu abbia ragione con lo scope (perchéin questo caso,_outside_ lafunzione ** è ** lo scopeglobalee non una classe).Tuttavia,se dichiari le variabiliglobali (cosa hai deciso difare ora),deviprima dichiararee quindi (nella riga successiva o dopo unpuntoe virgola)impostare un valore.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
-
quando l'utentefa clic suinviamodulo,l'azione delmodulo si riferisce a una chiamata difile: regiostration-form.phpin questofile ora ho questo codice: "prefisso."newsletter"; $ wpdb->insert ($table_name,array ('name'=> $name,'email'=> $email)); } ?> ` manonfunziona dinuovo.qualcosanon va?when 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
-
Chiami lafunzione `insertuser ()` dopo aver dichiarato lafunzione?You do call the `insertuser()` function after you declare the function?
- 0
- 2013-03-14
- Mike Madern
-
@ MikeMadern devo scrivere: 'insertuser ()' dopo lafunzione?@MikeMadern do i have to write: 'insertuser()' after function?
- 0
- 2013-03-14
- pixelweb
-
la definizione di unafunzionenon laesegue automaticamente.Devi chiamare lafunzioneperpoterlaeseguire.Vediil codicenellamia risposta ;-)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
-
ho usatoiltuo codicema ho ricevuto dueerrori: Avviso: `Tentativo di ottenere laproprietà di unnon oggettonella riga 8`e` Errorefatale: chiamata a unafunzionemembroinsert () su unnon oggettonella riga 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
-
Non è unfile caricato da WordPress,giusto?`require`ilfile` wp-load.php` sopra lo scriptper caricare la libreria di WordPress.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
-
ho usato questo codicee hofunzionatobene: `prefisso."newsletter"; $ wpdb->insert ($table_name,array ('name'=> $name,'email'=> $email)); ?> "Grazie atuttii ragazzi specialmente 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
-
sì,aggiorna la risposta con la risposta completa,quindi la accetterò.Cordiali salutiyes, please update the answer with complete answer then i will accept it. Sincererly
- 0
- 2013-03-14
- pixelweb
-
Ho aggiornato lamia rispostaperte;)I updated my answer for you ;)
- 0
- 2013-03-15
- Mike Madern
Sto scrivendo un sempliceplugin che crea unatabella conilnome "newsletter"nel databasee fornisce uno shortcodepermettere unmodulo di registrazionenellepagine. ilmodulo contiene "nome"e "email". hoproblemi con l'inserimento dei dati delmodulo (nome +email)nel database. ho scritto questo:
ma l'IDnonfunziona.cosa devofareper ottenerei dati dalmoduloe inserirlinellatabella?