SHARE
TWEET

admin-post-form.php

ikamal Nov 9th, 2019 98 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.    
  2.    
  3.     function gaziwelfare_members_page() {
  4.         global $wpdb;
  5.         $table_name = $wpdb -> prefix . 'donors';
  6.        
  7.         echo "<h2>All donor list</h2>";
  8.        
  9.         $id = $_GET['mid'] ?? 0;
  10.         $id = sanitize_key( $id );
  11.         if ( $id ) {
  12.             $result = $wpdb -> get_row( "select * from {$table_name} WHERE id='{$id}'" );
  13.            
  14.         }
  15.         ?>
  16.         <div class="form_box">
  17.             <div class="form_box_header">
  18.                 <?php _e( 'Add member Form', 'gaziwelfare' ); ?>
  19.             </div>
  20.             <div class="form_box_content">
  21.                 <form action="<?php echo admin_url( 'admin-post.php' ); ?>" method="POST">
  22.                     <?php wp_nonce_field( 'member', 'member_nonce_field' ); ?>
  23.                     <input type="hidden" name="action" value="add_member">
  24.                     <label for="name"><strong>Name</strong></label><br/>
  25.                     <input type="text" name="name" id="name" value="<?php if ( $id ) {
  26.                         echo $result -> name;
  27.                     } ?>"><br>
  28.                     <label for="phone"><strong>Phone</strong></label><br>
  29.                     <input type="tel" name="phone" id="phone" value="<?php if ( $id )
  30.                         echo $result -> phone ?>"><br>
  31.                     <select name="status" id="status">
  32.                         <option value="0" <?php if($id) selected( $result -> status, 0 ) ?>>Pending</option>
  33.                         <option value="1" <?php if($id) selected( $result -> status, 1 ) ?>>Approved</option>
  34.                     </select>
  35.                     <?php
  36.                         if ( $id ) {
  37.                             echo '<input type="hidden" name="id" value="' . $id . '">';
  38.                             submit_button( 'Update Member' );
  39.                         } else {
  40.                             submit_button( 'Add Member' );
  41.                         }
  42.                     ?>
  43.                 </form>
  44.             </div>
  45.         </div>
  46.        
  47.         <?php
  48.     }
  49.    
  50.     function admin_add_member() {
  51.         global $wpdb;
  52.         $table_name = $wpdb -> prefix . 'donors';
  53.        
  54.         $nonce = sanitize_text_field( $_POST['member_nonce_field'] );
  55.         if ( wp_verify_nonce( 'member_nonce_field', 'member' ) ) {
  56.             $name   = sanitize_text_field( $_POST['name'] );
  57.             $phone  = sanitize_text_field( $_POST['phone'] );
  58.             $status = sanitize_text_field( $_POST['status'] );
  59.             $id     = sanitize_text_field( $_POST['id'] );
  60.            
  61.             if ( $id ) {
  62.                 $wpdb -> update( "{$table_name}", [
  63.                     'name'   => $name,
  64.                     'phone'  => $phone,
  65.                     'status' => $status
  66.                 ],
  67.                     [ 'id' => $id ] );
  68.                 wp_redirect(admin_url('?page=gazi_wf_donor&mid=').$id);
  69.                 exit();
  70.             }else{
  71.                 $wpdb -> insert( $table_name, [
  72.                     'name'   => $name,
  73.                     'phone'  => $phone,
  74.                     'role'   => 'member',
  75.                     'status' => $status
  76.                 ] );
  77.                 wp_redirect(admin_url('?page=gazi_wf_donor&action=created'));
  78.                 exit();
  79.             }
  80.         }
  81.        
  82.     }
  83.    
  84.     add_action( 'admin_post_add_member', 'admin_add_member' );
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top