2016-05-19 15 views
0

Ich habe ein einfaches HTML-Formular erstellt, um zu testen, wie ich Daten in wpdb einfügen kann. Ich weiß, wie man es in PHP macht, aber in Wordpress werde ich verwirrt!Speichern von Formulardaten in Wordpress-Datenbank

global $wpdb; 
if (isset($_POST['submit'])) { 
    $name = $_POST['r1s1']; //Here r1s1 is name of the form control 
    $email = $_POST['r2s1']; 
    $contact = $_POST['r3s1']; 
    $address = $_POST['r5s1']; 
    if ($name != '' || $email != '') { 
     $post = $wpdb->insert(
       'table', array(
        'feild' => $name, 
        'dev' => $email, 
        'tenant' => $contact, 
        'mod' => $address, 
       ), array(
        '%s', 
        '%s', 
        '%s', 
        '%s' 
       ) 
     ); 
     echo $post; 
     if ($post) { 
      echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
     } else { 
      echo "<br/><br/><span>Insertion Failed...!!</span>"; 
     } 
    } else { 
     echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
    } 
} 

Wenn ich auf Submit-Button dann zeigt es Nachricht insertion failed...!! (Message, die ich über Echo bin Druck). Dieser Code ist in der Vorlage geschrieben. Was mache ich falsch?

+0

Versuchen Sie, in dem Sie Tabelle diese Daten einfügen –

+0

@Ankur Bhadania Tabelle, die ich in Wordpress-Datenbank erstellt haben. – Rishabh

+0

Überprüfen Sie diesen Link Formular weitere Informationen https://codex.wordpress.org/Class_Reference/wpdb –

Antwort

2
global $wpdb; 
$wpdb->insert('table_name', array('field_name' => $_POST['r1s1'], 'field_name' => $_POST['r2s1'],'field_name' => $_POST['r3s1'],'field_name' => $_POST['r4s1'])); 

This one

+0

Es hat perfekt funktioniert! ABER Warum ... Mein Code war auch korrekt (Ankur Bhadania hat mir im OP gesagt, dass er meinen Code und seine Arbeitsweise getestet hat). UND purvik7373 gab mir auch seine Antwort wie du. Er gab mir seinen getesteten Code mit Screenshot. Warum funktionierte ihr Code nicht in meinem localhost (derselbe Code funktionierte in seinem localhost). UND warum dein Code für mich funktioniert! Bitte erkläre.. – Rishabh

1

Sie können unter dem folgenden Code versuchen?

global $wpdb; 
$table_name = $wpdb->prefix . "your_table_name"; 
if (isset($_POST['submit'])) { 
    $name = $_POST['r1s1']; //Here r1s1 is name of the form control 
    $email = $_POST['r2s1']; 
    $contact = $_POST['r3s1']; 
    $address = $_POST['r5s1']; 
    $data = array(
     'feild' => $name, 
     'dev' => $email, 
     'tenant' => $contact, 
     'mod' => $address 
    ); 

    if ($name != '' || $email != '') { 
     $result = $wpdb->insert($table_name, $data);   
     if ($result) { 
      echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
     } else { 
      echo "<br/><br/><span>Insertion Failed...!!</span>"; 
     } 
    } else { 
     echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
    } 
} 
+0

Ich habe das gleiche Ergebnis mit diesem Code auch. – Rishabh

+0

Könnten Sie bitte alle Variablen drucken, um sicherzustellen, dass Variablen Werte haben. zB: 'print_r ($ data); sterben; ' – purvik7373

+0

hatten Sie dieses Feld in Ihrer DB-Tabelle? Beispiel: 'feild',' dev', 'mieter',' mod' – purvik7373

Verwandte Themen