+ Rispondi alla Discussione
Risultati da 1 a 14 di 14

Creare form senza plugin

Ultimo Messaggio di trinity|bubu il:
  1. #1
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22

    Creare form senza plugin

    Salve a tutti, sono nuova del forum ed ho urgente bisogno di aiuto.Ho l'esigenza di creare una form senza l'aiuto di plugin, perchè successivamente devo modificare i dati che mi vengono inviati. Quindi ho creato un nuovo template nel quale ho creato la form con html, ora il problema è inviare i dati al DB, perchè ho messo nella action della form "url del sito/upload.php", ma quando vado nella pagina upload.php non riesco a connettermi con il DB. Ho fatto diverse prove, ma niente, vi prego aiutatemi Grazie

  2. #2
    User L'avatar di Bellu
    Data Registrazione
    Jun 2012
    Località
    Empoli
    Messaggi
    42
    Aggiungi Bellu su Facebook
    Come cerchi di connetterti al DB Wordpress?

  3. #3
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    Nel modo seguente:

    global $wpdb;
    /*$q = "INSERT INTO ...............";


    $result = $wpdb->get_results($q);
    Ultima modifica di trinity|bubu; 13-06-13 alle 15:17

  4. #4
    User L'avatar di Bellu
    Data Registrazione
    Jun 2012
    Località
    Empoli
    Messaggi
    42
    Aggiungi Bellu su Facebook
    Puoi postare il codice di upload.php?

  5. #5
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    In realtà per ora ho messo solo quello, ovviamente racchiuso tra i tag php e per vedere se funziona ho fatto una echo, e comunque dovrebbe inserire i dati nel DB, in teoria


    ed ottengo il seguente errore quando invio la form:

    Fatal error: Call to a member function get_results() on a non-object

  6. #6
    User L'avatar di Bellu
    Data Registrazione
    Jun 2012
    Località
    Empoli
    Messaggi
    42
    Aggiungi Bellu su Facebook
    get_results-> è un metodo utilizzato per fare le select. Usa INSERT invece, qui c'è una spiegazione abbastanza esaustiva con gli esempi codex.wordpress.org/Class_Reference/wpdb#INSERT_rows

  7. #7
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    Ho fatto la prova, ma mi restituisce sempre errore: Call to a member function insert() on a non-object

    il codice è il seguente:

    $result=$wpdb->insert(
    'wp_bandi',
    array(
    'id' => '0',
    'titolo' => $_REQUEST['titolo'],
    'descrizione' => $_REQUEST['descrizione'],
    'dataPubblicazione' => $_REQUEST['dataPubblicazione'],
    'licenza' => $_REQUEST['licenza'],
    'cig' => $_REQUEST['cig'],
    'oggetto' => $_REQUEST['oggetto'],
    'sceltaContraente' => $_REQUEST['sceltaContraente'],
    'scadenza' => $_REQUEST['scadenza'],
    )
    );

    Comunque ho letto in giro, secondo te potrebbe essere un problema di $wpdb che non è riconosciuta o cose del genere??

    Grazie per l'aiuto

  8. #8
    User L'avatar di Bellu
    Data Registrazione
    Jun 2012
    Località
    Empoli
    Messaggi
    42
    Aggiungi Bellu su Facebook
    Per quello che ne son $wpbd è una classe di wordpress, dovrebbe riconoscerla sempre.
    Se la tua tabella si chiama: wp_bandi, allora prova cosi:
    Codice PHP:
    $result=$wpdb->insert
        
    $wpdb->bandi
     array
            
    'id' => '0'
            
    'titolo' => $_REQUEST['titolo'], 
            
    'descrizione' => $_REQUEST['descrizione'], 
            
    'dataPubblicazione' => $_REQUEST['dataPubblicazione'], 
            
    'licenza' => $_REQUEST['licenza'], 
            
    'cig' => $_REQUEST['cig'], 
            
    'oggetto' => $_REQUEST['oggetto'], 
            
    'sceltaContraente' => $_REQUEST['sceltaContraente'], 
            
    'scadenza' => $_REQUEST['scadenza'], 
        )
    ); 

  9. #9
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    niente da fare, sempre lo stesso errore

    se provo a fare var_dump( isset( $wpdb ) );

    il risultato è bool(false), credo che il problema sia proprio della variabile, solo che non so come risolverlo..
    Ultima modifica di trinity|bubu; 13-06-13 alle 17:02

  10. #10
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    Sono riuscita ad ottenere come risultato del var_dump() bool(true), però non mi inserisce i dati nel database

    Ho trovato il problema, spero che qualcuno mi aiuti a risolverlo.

    Se scrivo:

    $q = "INSERT INTO $wpdb->bandi VALUES('0','{$_REQUEST['titolo']}','{$_REQUEST['descrizione']}','{$_REQUEST['dataPubblicazione']}','{$_REQUEST['licenza']}','{$_REQUEST['cig']}','{$_REQUEST['oggetto']}','{$_REQUEST['sceltaContraente']}','{$_REQUEST['scadenza']}')";

    e ne faccio una echo non mi viene letto il nome della tabella, ma ottengo come risultato: INSERT INTO VALUES(.............

    è strano perchè se faccio lo stesso con la tabella wp_posts questa mi viene letta correttamente.
    Ultima modifica di trinity|bubu; 13-06-13 alle 17:31

  11. #11
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    Sono arrivata ad una soluzione, grazie Bellu...

  12. #12
    User L'avatar di Bellu
    Data Registrazione
    Jun 2012
    Località
    Empoli
    Messaggi
    42
    Aggiungi Bellu su Facebook
    Prego Perchè non posti la soluzione completa? magari a qualcuno potrebbe risultare utile come esempio.

  13. #13
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    Citazione Originariamente Scritto da Bellu Visualizza Messaggio
    Prego Perchè non posti la soluzione completa? magari a qualcuno potrebbe risultare utile come esempio.
    appena ho un attimo posto la soluzione

  14. #14
    User
    Data Registrazione
    Jun 2013
    Località
    Roma
    Messaggi
    22
    Ecco qui la soluzione che ho adottato, forse non sarà la più funzionale....

    come detto prima ho creato una form e nella action ho chiamato la pagina upload.php il codice che ho inserito in questo file è il seguente:

    <?php


    define('SHORTINIT', true);
    require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );


    global $wpdb;


    /* fare stripslash sui dati inseriti*/


    $q = "INSERT INTO wp_bandi VALUES(.......)";


    $result = $wpdb->query($q);


    echo $q."result".$result;


    ?>


    Spero che possa essere utile a qualcuno visto che io ci ho messo 2 giorni per farlo funzionare

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.