Create Form And insert data - mdhemalakhand1999/WordPressPluginDevelopment GitHub Wiki

Here is code

<!-- ২৪.৫ - ডেটা টেবিলে ফর্ম তৈরি ও ডেটা ইনসার্ট করা -->
    <form action="" method="post">
        <!-- create a nonce -->
        <?php wp_nonce_field("dbdemo", "nonce"); ?>
        Name: <input type="text" name="name" id="name">
        Email: <input type="email" name="email" id="email">
        <?php submit_button("Add Record"); ?>
    </form>
    <?php
        if(isset($_POST['submit'])) {
            $name = sanitize_text_field($_POST['name']);
            $email = sanitize_text_field($_POST['email']);
            $nonce = sanitize_text_field($_POST['nonce']);
            if(wp_verify_nonce($nonce,"dbdemo" )) {
                $wpdb->insert($table_name, [
                    'name'=> $name,
                    'email' => $email
                ]);
            } else {
                echo "Sorry! UnAuthorized Access.";
            }
        }
    ?>

Here is full code

// ২৪.৪ - টেবিল থেকে ডেটা নিয়ে ডিসপ্লে করা
add_action("admin_menu", function() {
    add_menu_page("DB Demo", "DB Demo", "manage_options", "dbdemo", "dbdemo_admin_page");
});
function dbdemo_admin_page() {
    global $wpdb;
    $table_name = $wpdb->prefix. "persons";
    echo "<h2>DB Demo</h2>";
    $id = $_GET['pid'] ?? 0;
    $id = sanitize_key($id);
    if($id) {
        $result = $wpdb->get_row("SELECT * FROM {$table_name} WHERE id='{$id}'");
        if($result) {
            echo "Name: ". $result->name. "<br/>";
            echo "Email: ". $result->email. "<br/>";
        }
    }?>
    <!-- ২৪.৫ - ডেটা টেবিলে ফর্ম তৈরি ও ডেটা ইনসার্ট করা -->
    <form action="" method="post">
        <!-- create a nonce -->
        <?php wp_nonce_field("dbdemo", "nonce"); ?>
        Name: <input type="text" name="name" id="name">
        Email: <input type="email" name="email" id="email">
        <?php submit_button("Add Record"); ?>
    </form>
    <?php
        if(isset($_POST['submit'])) {
            $name = sanitize_text_field($_POST['name']);
            $email = sanitize_text_field($_POST['email']);
            $nonce = sanitize_text_field($_POST['nonce']);
            if(wp_verify_nonce($nonce,"dbdemo" )) {
                $wpdb->insert($table_name, [
                    'name'=> $name,
                    'email' => $email
                ]);
            } else {
                echo "Sorry! UnAuthorized Access.";
            }
        }
    ?>
<?php }
⚠️ **GitHub.com Fallback** ⚠️