You are here

第一集第七章的例题时,为嘛报错了呢?

moumouguoguo 的头像
Submitted by moumouguoguo on 星期一, 2013-09-02 07:14

老葛,我在做第一集第七章的例题时,为嘛报错了呢?错误如下:

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'name': INSERT INTO {users} (uid, created) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1); Array ( [:db_insert_placeholder_0] => 6 [:db_insert_placeholder_1] => 1378104086 ) 在 drupal_write_record() (行 7136D:\WWW\drupal\includes\common.inc).

module文件代码如下:

<?php
/** @file
 * 注册班主任
 */

/**
 * Implements hook_form_FORM_ID_alter($form, $form_state, $form_id).
 */
function class_teacher_form_user_register_form_alter(&$form, &$form_state) {
    $form ['class_name'] = array (
            '#type' => 'textfield',
            '#title' => t ( '班级名' ),
            '#maxlength' => 255,
            '#description' => t ( '请输入您所管理的班级名' ),
            '#weight' => 1
    );
    $form ['#submit'] [] = 'class_teacher_form_user_register_submit';
}

/**
 * 提交处理函数
 */
function class_teacher_form_user_register_submit($form, &$form_state) {
    global $user;
    // 保存节点对象
    $class_name = $form_state ['values'] ['class_name'];
    $node = new stdClass ();
    $node->title = $class_name;
    $node->uid = $user->uid;
    $node->type = 'banji';
    node_save ( $node );
    
    $roles = array (
            2 => 'authenticated user',
            4 => '班主任'
    );
    user_save ( $user, array (
            'roles' => $roles
    ) );
}

论坛:

Drupal版本: