Php Drupal7在表单之间切换
我是drupal新手,需要创建一个登录表单,我已经成功地完成了。但当我登录时,我希望表单切换到另一个表单,您可以在其中编辑您的详细信息 我不知道如何在表格之间切换Php Drupal7在表单之间切换,php,forms,drupal,drupal-7,Php,Forms,Drupal,Drupal 7,我是drupal新手,需要创建一个登录表单,我已经成功地完成了。但当我登录时,我希望表单切换到另一个表单,您可以在其中编辑您的详细信息 我不知道如何在表格之间切换 <?php /** * Implements hook_help. * * Displays help and module information. * * @param path * Which path of the site we're using to display help * @param
<?php
/**
* Implements hook_help.
*
* Displays help and module information.
*
* @param path
* Which path of the site we're using to display help
* @param arg
* Array that holds the current path as returned from arg() function
*/
function login_kms_help($path, $arg) {
switch ($path) {
case "admin/help#login":
return '<p>'. t("Creates login module") .'</p>';
break;
}
}
/**
* Implements hook_block_info().
*/
function login_kms_block_info() {
$blocks['login_kms'] = array(
'info' => t('Login KMS'), //The name that will appear in the block list.
'cache' => DRUPAL_CACHE_PER_ROLE, //Default
);
return $blocks;
}
function login_kms_block_view($delta = '') {
$block = array();
if($delta == 'login_kms') {
$block['subject'] = 'Login';
$block['content'] = drupal_render(drupal_get_form('login_kms_form_mode0'));
} else if($delta == 'login_kms'){
$block['subject'] = 'Edit';
$block['content'] = drupal_render(drupal_get_form('login_kms_form_mode1'));
}
return $block;
}
function login_kms_form_mode0() {
$form['username'] = array(
'#type' => 'textfield',
'#title' => t('Username:'),
);
$form['password'] = array(
'#type' => 'password',
'#title' => t('Password:'),
);
$form['Log in'] = array(
'#type' => 'submit',
'#value' => t('Log in'),
);
return $form;
}
function login_kms_form_mode1(){
$form['username'] = array(
'#type' => 'textfield',
'#title' => t('mode1'),
);
}
function login_kms_form_submit($form, &$form_state) {
$mysql_user = $form_state['values']['username'];
$mysql_pass = $form_state['values']['password'];
// drupal_set_message(t($mysql_pass));
// some logic
}
您只需使用()将登录的用户重定向到其他表单
global $user;
if(!empty($user->uid) || $user->uid > 0)
{
drupal_goto("my/new/page");
}
希望这能奏效。。。第一种方法是使用drupal_goto(“我的路径”)。
第二种,也是更“正确”的用法是使用$form_state['redirect']或$form['redirect'],如下所示
function login_kms_form_submit($form, &$form_state) {
$mysql_user = $form_state['values']['username'];
$mysql_pass = $form_state['values']['password'];
// drupal_set_message(t($mysql_pass));
// some logic
$form_state['redirect'] = 'user/to_the_new_form';
}