0
이 코드를 실행하면 mysql 데이터베이스 테이블 student_log의 행이 만들어집니다. 그러나 student_name 열은 사용자가 입력 한 값으로 채워지지 않습니다. 그게 무슨 잘못이야?mysql 테이블의 이름 열이 삽입 된 이름없이 비어있는 이유는 무엇입니까?
<?php
function student_grant_menu() {
$items = array();
$items['student_grant/form'] = array(
'title' => t('student_grant'),
'page callback' => 'student_grant',
'access arguments' => array('access content'),
'description' => t('student_grant'),
'type' => MENU_CALLBACK,
);
return $items;
}
function student_grant_form() {
return drupal_get_form('student_grant_my_form');
}
function student_grant_my_form($form_state) {
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#size' => 30,
'#required' => TRUE,
);
// Adds a simple submit button that refreshes the form and clears its contents -- this is the default behavior for forms.
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
}
// name of table is student_log and field is student_name. Name passed from form_state is put in student_name field?
function student_grant_my_form_submit($form, &$form_state) {
db_query("INSERT INTO {student_log} (student_name) VALUES ('%s')",
$form_state['name']);
drupal_set_message(t('Your form has been saved.'));
}
?>
당신은 다음과 같이 $ form_state [ '값']보고해야
왜 [ '값']입니까? 감사합니다 – ingrid
bc : '#default_value'=> $ form_state [ 'values'] [ 'name']? – ingrid
여기 $ form_state에 대한 설명이 있습니다. http://drupal.org/node/751826 $ form_state [ 'values'] 이외에는 거의 언급하지 않았지만 form_state에 다른 배열 요소가 있습니다. $ form_state [ 'redirect']. – sonofagun