function form_example_tutorial_11_confirm_name

Example 11: A form generated with confirm_form().

This function generates the confirmation form using the confirm_form() function. If confirmed, it sets a drupal message to demonstrate it's success.

Parameters

string $name: The urlencoded name entered by the user.

See also

form_example_tutorial_11_confirm_name_submit()

Related topics

1 string reference to 'form_example_tutorial_11_confirm_name'
form_example_menu in form_example/form_example.module
Implements hook_menu().

File

form_example/form_example_tutorial.inc, line 862

Code

function form_example_tutorial_11_confirm_name($form, $form_state, $name) {
  // confirm_form() returns a complete form array for confirming an action.
  // It has 7 arguments: $form, $question, $path, $description, $yes, $no, and
  // $name.
  // - $form: Additional elements to add to the form that will be available in
  //   the submit handler.
  // - $question: What is the user confirming? This will be the title of the
  //   page.
  // - $path: Where should the page go if the user hits cancel?
  // - $description = NULL: Additional text to display.
  // - $yes = NULL: Anchor text for the confirmation button. Defaults to
  //   t('Confirm').
  // - $no = NULL: Anchor text for the cancel link. Defaults to t('Cancel').
  // - $name = 'confirm': The internal name used to refer to the confirmation
  //   item.
  // First we make a textfield for our user's name. confirm_form() allows us to
  // Add form elements to the confirmation form, so we'll take advangage of
  // that.
  $user_name_text_field = array(
    'name' => array(
      '#type' => 'textfield',
      // We don't want the user to be able to edit their name here.
'#disabled' => TRUE,
      '#title' => t('Your name:'),
      '#value' => urldecode($name),
    ),
  );
  // The question to ask the user.
  $confirmation_question = t('Is this really your name?');
  // If the user clicks 'no,' they're sent to this path.
  $cancel_path = 'examples/form_example/tutorial/11';
  // Some helpful descriptive text.
  $description = t('Please verify whether or not you have input your name correctly. If you verify you will be sent back to the form and a message will be set. Otherwise you will be sent to the same page but with no message.');
  // These are the text for our yes and no buttons.
  $yes_button = t('This is my name');
  $no_button = t('Nope, not my name');
  // The name Form API will use to refer to our confirmation form.
  $confirm_name = 'confirm_example';
  // Finally, call confirm_form() with our information, and then return the form
  // array it gives us.
  return confirm_form($user_name_text_field, $confirmation_question, $cancel_path, $description, $yes_button, $no_button, $confirm_name);
}