Thread: Drupal Form API

  1. #1
    Ultimus's Avatar
    Registered
    27/04/06
    Location
    Lier
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1

    Question Drupal Form API

    Hallo iedereen,

    Ik ben onlangs met drupal begonnen maar zit met de form api in de problemen. ik heb de tutorial gevolgd op drupal. Ik krijg geen extra forum toegevoegd in mijn module.

    Ik doe iets verkeerd en hoop dat iemand hier deze noob even wil helpen. Hierbij alvast de code:

    Code:
    <?php
    
    function my_module_menu() {
      $items = array();
      $items['my_module/form'] = array(
        'title' => t('My form'),
        'page callback' => 'my_module_form',
        'access arguments' => array('access content'),
        'description' => t('My form'),
        'type' => MENU_CALLBACK,
      );
      $items['my_module/categoryform'] = array(
        'title' => t('Change Category'),
        'page callback' => 'my_module_categoryform',
        'access arguments' => array('access content'),
        'description' => t('Change Category'),
        'type' => MENU_CALLBACK,
      );
      return $items;
    }
    
    function my_module_form() {
      return drupal_get_form('my_module_my_form');
    }
    
    function my_module_categoryform(){
    	return drupal_get_form('my_module_my_categoryform');
    }
    
    function my_module_my_categoryform($form_state){
    
    	   
    	$result = db_query("SELECT * FROM {FOT_CATEGORY} WHERE ID = %d", arg(2));
        $node = db_fetch_object($result);
        $name = $node->NAME;
        $description = $node->DESCRIPTION;
        $_SERVER['cat_name'] = $name;
        $_SERVER['cat_description'] =$description;
        $_SERVER['cat_id']=$node->ID;
    	
    	$form['Name'] = array(
    		'#type' => 'textfield',
    		'#title' => 'Category name',
    		'#required' => TRUE,
    		'#default_value' => $name,
    		);
    		
    	$form['Description'] = array(
    		'#type' => 'textarea',
    		'#title' => 'Descritpion',
    		'#required' => TRUE,
    		'#default_value' => $description,
    		);
    	
    	return form;
    }
    
    function my_module_my_form($form_state) {
      $form['name'] = array(
        '#type' => 'fieldset',
        '#title' => t('Name'),
        '#collapsible' => TRUE,
        '#collapsed' => FALSE,
      );
      $form['name']['first'] = array(
        '#type' => 'textfield',
        '#title' => t('First name'),
        '#required' => TRUE,
        '#default_value' => "First name",
        '#description' => "Please enter your first name.",
        '#size' => 20,
        '#maxlength' => 20,
      );
      $form['name']['last'] = array(
        '#type' => 'textfield',
        '#title' => t('Last name'),
        '#required' => TRUE,
      );
      $form['year_of_birth'] = array(
        '#type' => 'textfield',
        '#title' => "Year of birth",
        '#description' => 'Format is "YYYY"',
      );  
      $form['submit'] = array(
        '#type' => 'submit',
        '#value' => 'Submit',
      );
      return $form;
    }
    
    function my_module_my_form_validate($form, &$form_state) {
        $year_of_birth = $form_state['values']['year_of_birth'];
        if ($year_of_birth && ($year_of_birth < 1900 || $year_of_birth > 2000)) {
            form_set_error('year_of_birth', 'Enter a year between 1900 and 2000.');
        }
    }
    
    // Adds a submit handler/function to our form to send a successful 
    // completion message to the screen.
    
    
    function my_module_my_form_submit($form, &$form_state) {
        drupal_set_message(t('The form has been submitted.'));
    }
    
    ?>
    <----Death is just an other path in life, one that we all must take---->
    no votes  

  2. #2
    demon326's Avatar
    Registered
    18/04/03
    Location
    Hasselt
    Posts
    14,855
    iTrader
    23 (100%)
    Mentioned
    0 Post(s)
    Reputation
    10/79
    Quote Originally Posted by Ultimus View Post
    This quote is hidden because you are ignoring this member. Show
    Hallo iedereen,

    Ik ben onlangs met drupal begonnen maar zit met de form api in de problemen. ik heb de tutorial gevolgd op drupal. Ik krijg geen extra forum toegevoegd in mijn module.

    Ik doe iets verkeerd en hoop dat iemand hier deze noob even wil helpen. Hierbij alvast de code:
    Wat is het exacte probleem en voor wat moet het form dienen? Als het moet dienen om bvb een wedstrijd form te maken, gebruik dan de webform module
    no votes  

  3. #3
    Ultimus's Avatar
    Registered
    27/04/06
    Location
    Lier
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1
    Quote Originally Posted by demon326 View Post
    This quote is hidden because you are ignoring this member. Show
    Wat is het exacte probleem en voor wat moet het form dienen? Als het moet dienen om bvb een wedstrijd form te maken, gebruik dan de webform module
    ok, dat had ik er moeten bijvertellen als het gaat over simpele mail formuliertjes dan kan de webform idd heel handig zijn. Mijn formulier gaat op basis van een argument in de url, een databank entry uitlezen. Dit zou hij dan moeten laden in de default_value, bij indienen van het formulier moet hij dan de wijzigingen gaan opslagen in de databank en daarvoor heb ik form api nodig en volstaat de webform niet.
    <----Death is just an other path in life, one that we all must take---->
    no votes  

  4. #4
    Ultimus's Avatar
    Registered
    27/04/06
    Location
    Lier
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1
    Mensen, laat maar! wederom een domme menselijke fout natuurlijk! title => t('xxxx')!
    <----Death is just an other path in life, one that we all must take---->
    no votes  

  5. #5
    demon326's Avatar
    Registered
    18/04/03
    Location
    Hasselt
    Posts
    14,855
    iTrader
    23 (100%)
    Mentioned
    0 Post(s)
    Reputation
    10/79
    Quote Originally Posted by Ultimus View Post
    This quote is hidden because you are ignoring this member. Show
    Mensen, laat maar! wederom een domme menselijke fout natuurlijk! title => t('xxxx')!
    Het zijn altijd de kleine dingen hé! Hoe hebt ge het gevonden?
    no votes  

  6. #6
    Ultimus's Avatar
    Registered
    27/04/06
    Location
    Lier
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1
    Quote Originally Posted by demon326 View Post
    This quote is hidden because you are ignoring this member. Show
    Het zijn altijd de kleine dingen hé! Hoe hebt ge het gevonden?
    op zoek gegaan naar de code waar de fout in zat door middel van stukken in comment te plaatsen. Vervolgens kwam ik uit op mijn formulier. Op de drupal form api site gaan kijken naar de verplichte waarden en zo gemerkt dat mijn titel niet het juiste formaat had.
    <----Death is just an other path in life, one that we all must take---->
    no votes  

  7. #7
    dJeez's Avatar
    Registered
    17/07/02
    Location
    Sol System
    Posts
    10,064
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/78
    Je weet toch dat je (mits wat basissetup) ook makkelijk PHP scripts kan debuggen met Xdebug hé? Quasi elke IDE heeft daar ondersteuning voor en het is net iets makkelijker om stap voor stap door code te gaan (al dan niet dmv breakpoints).
    PSN: dJeezBE - Delicious bookmarks
    Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alieno
    Pastafarian by choice
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in