php - year dropdown section being stored as null -


i couldn't think of decent title - it's clear enough. right, having problem creating year dropdown selector in registration form - work value stored in database remains null when selecting year (i have left optional registrations).

here code:

echo $this->form->input('graduation1', array('label' => 'year of graduation:',                                                              'type' => 'date',                                                              'dateformat' => 'y',                                                              'empty' => true,                                                              'minyear' => 1960, // start year                                                              'maxyear' => date('y') // current                                                              )                                       );  

thanks community in advance!

controller code:

function register() {             $this->layout = 'login';             $this->set('title_for_layout', 'member registration');             if(!empty($this->data)) {                       $this->data['user']['group_id'] = 4;                       $this->user->create();                          if($this->user->save($this->data)) {                             $this->set('user', $this->data['user']['id']);                             $this->_sendemail('register', 'a new registration has been submitted', 'blah@blah.com');                             $this->redirect(array('action' => 'approval'));                         } else {                             unset($this->data['user']['password']);                             unset($this->data['user']['password_confirm']);                     $this->session->setflash(__('there errors found in registration.  please check highlighted fields', true));                     }             }                        } 

html output:

<div id="grad">         <label>year of graduation:</label>         <select name="data[user][graduation1][year]" id="usergraduation1year"> <option value=""></option> <option value="2012">2012</option> <option value="2011">2011</option> <option value="2010">2010</option> <option value="2009">2009</option> <option value="2008">2008</option> <option value="2007">2007</option> <option value="2006">2006</option> <option value="2005">2005</option> <option value="2004">2004</option> <option value="2003">2003</option> <option value="2002">2002</option> <option value="2001">2001</option> <option value="2000">2000</option> <option value="1999">1999</option> <option value="1998">1998</option> <option value="1997">1997</option> <option value="1996">1996</option> <option value="1995">1995</option> <option value="1994">1994</option> <option value="1993">1993</option> <option value="1992">1992</option> <option value="1991">1991</option> <option value="1990">1990</option> <option value="1989">1989</option> <option value="1988">1988</option> <option value="1987">1987</option> <option value="1986">1986</option> <option value="1985">1985</option> <option value="1984">1984</option> <option value="1983">1983</option> <option value="1982">1982</option> <option value="1981">1981</option> <option value="1980">1980</option> <option value="1979">1979</option> <option value="1978">1978</option> <option value="1977">1977</option> <option value="1976">1976</option> <option value="1975">1975</option> <option value="1974">1974</option> <option value="1973">1973</option> <option value="1972">1972</option> <option value="1971">1971</option> <option value="1970">1970</option> <option value="1969">1969</option> <option value="1968">1968</option> <option value="1967">1967</option> <option value="1966">1966</option> <option value="1965">1965</option> <option value="1964">1964</option> <option value="1963">1963</option> <option value="1962">1962</option> <option value="1961">1961</option> <option value="1960">1960</option> </select>        </div> 

before $this->user->create(), try var_dump($this->data) make sure graduation1 indeed posted, if does, make sure field in table called graduation1

-- edit --

if want store single integer (a year), use int field datatype instead of date

-- edit2 -- not sure why cakephp generates name="data[user][graduation1][year]" try

$yearranges = range(1960, date("y")); echo $this->form->input('user.graduation1', array('label' => 'year of graduation:',                                                              'type' => 'select',                                                              'options' => array_combine($yearranges, $yearranges),                                                              'empty' => true                                                             )                                       );  

Comments

Popular posts from this blog

delphi - How to convert bitmaps to video? -

jasper reports - Fixed header in Excel using JasperReports -

python - ('The SQL contains 0 parameter markers, but 50 parameters were supplied', 'HY000') or TypeError: 'tuple' object is not callable -