With PHP code and styling

PHP

  if (isset($_POST['form_submit_id']) && ($_POST['form_submit_id'] == 'admin_store_settings'))
  {
    //------------------------------
    //----- STORE NEW SETTINGS -----
    //------------------------------
    
    $CheckboxSetting1 = False;
    if(isset($_POST['CheckboxSetting1']) && $_POST['CheckboxSetting1'] == 'Yes')
      $CheckboxSetting1 = True;
    
    $TextboxSetting1 = "";
    if(isset($_POST['TextboxSetting1']))
    {
      $TextboxSetting1 = trim($_POST['TextboxSetting1']);
      $TextboxSetting1 = stripslashes($TextboxSetting1);
      $TextboxSetting1 = htmlspecialchars($TextboxSetting1, ENT_QUOTES);
    }
    
    $TextareaSetting1 = "";
    if(isset($_POST['TextareaSetting1']))
    {
      $TextareaSetting1 = trim($_POST['TextareaSetting1']);
      $TextareaSetting1 = stripslashes($TextareaSetting1);
      $TextareaSetting1 = htmlspecialchars($TextareaSetting1, ENT_QUOTES);
    }
    
    $SelectBoxSettingA = 0;
    if(isset($_POST['SelectBoxSettingA']))
      $SelectBoxSettingA = intval($_POST['SelectBoxSettingA']);
    
    
  }

  //-----------------------
  //-----------------------
  //----- HTML OUTPUT -----
  //-----------------------
  //-----------------------
  $HtmlOutput = '';
  
  $OurNonceField = wp_nonce_field( 'cf_form', 'cf_form_nonce', true, false );   //Used to validate that the contents of the form request came from the current site and not somewhere else

  //-------------------------
  //----- SETTINGS FORM -----
  //-------------------------
  $CheckboxSetting1_Checked = "";
  if (1)
    $CheckboxSetting1_Checked = "checked";
  
  $TextboxSetting1 = "";
  
  $TextareaSetting1 = "";

  $SelectBoxSettingA = 0;
	$SelectBoxSettingA_Selected = array();
	$SelectBoxSettingA_Selected = array_fill(0, 3, "");		//Fill an array from index 0, 3 items long, with default value ""
	$SelectBoxSettingA_Selected[($SelectBoxSettingA)] = "selected ";


  
  //(No form action="" specified so form will submit to same URI as this page)
  $HtmlOutput .= <<<_END
        <h3>Settings</h3>
        <form method="POST">
          <input type="hidden" name="form_submit_id" value="admin_store_settings" />
          $OurNonceField

          <input type="checkbox" name="CheckboxSetting1" $CheckboxSetting1_Checked value="Yes" /><label>Checkbox Setting 1</label>

          <label>Textbox Setting 1:</label>
          <input type="text" name="TextboxSetting1" style="width:100%; " value="$TextboxSetting1" />

          <label>Textarea Setting 1:</label>
          <textarea name="TextareaSetting1" style="width:100%; height:60px;">$TextareaSetting1</textarea>

          <label>Select Box Setting 1:</label>
          <select name="SelectBoxSettingA" style="width:200px">
            <option value="0" $SelectBoxSettingA_Selected[0]>My Option 0</option>
            <option value="1" $SelectBoxSettingA_Selected[1]>My Option 10</option>
            <option value="2" $SelectBoxSettingA_Selected[2]>My Option 20</option>
            <option value="3" $SelectBoxSettingA_Selected[3]>My Option 30</option>
          </select>

          <input type="submit" class="AdminButton" value="Save Settings" />
        </form>
_END;
CSS

/*-----------------*/
/*-----------------*/
/*----- ADMIN -----*/
/*-----------------*/
/*-----------------*/

.AdminPage {

}

/*----- FORM FIELDS -----*/
.AdminPage label {
  display: block;    /*Cause newline after*/
}

.AdminPage input[type="text"] {
  margin-bottom: 10px;
  display: block;    /*Cause newline after*/
  font-size: 16px;   /*min 16px for safari*/
}

.AdminPage input[type="file"] {
  margin-bottom: 10px;
  display: block;    /*Cause newline after*/
  font-size: 16px;   /*min 16px for safari*/
}

.AdminPage textarea {
  margin-bottom: 10px;
  display: block;    /*Cause newline after*/
  font-size: 16px;   /*min 16px for safari*/
}

.AdminPage input[type="checkbox"] {
  display: inline-block;
}
.AdminPage input[type="checkbox"] + label {
  display: inline-block;
  margin-bottom: 10px;
}

.AdminPage select {
  border: 1px solid #f6f6f6;
  margin-bottom: 10px;
  padding: 2px;
  display: block;    /*Cause newline after*/
  font-size: 16px;   /*min 16px for safari*/
}


/*----- BUTTON -----*/
a.AdminButton, a.AdminButton:hover, a.AdminButton:visited,
 input[type="submit"].AdminButton {
  background-color: #007cba;
  border: 1px solid #007cba;
  border-radius: 3px 3px 3px 3px;
  min-height: 36px;
  min-width: 80px;
  margin-top: 8px;
  margin-right: 8px;
  margin-left: 0px;
  margin-bottom: 8px;
  padding-top: 6px;
  padding-right: 6px;
  padding-left: 6px;
  padding-bottom: 6px;
  font-size: 13px;
  font-weight: normal;
  line-height: 40px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

 input[type="submit"].AdminButton {
   line-height: 13px;
}

/*----- Messages -----*/
.AdminPageMessage {
  margin-top: 12px;
  margin-bottom: 12px;
  text-align: left;
  font-weight: bold;
  color: #00B35F;
}

USEFUL?
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.

Comments

Your email address will not be published.